From a8d78281edd0c1d1a75b44844c45cce031c9ad4d Mon Sep 17 00:00:00 2001 From: md Date: Fri, 6 Aug 2021 11:13:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=88=91=E7=9A=84=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E5=B8=83=E5=B1=80=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 2 +- .../outdoor/activity/UserActivity.java | 9 ++++ .../com/navinfo/outdoor/api/Constant.java | 1 - .../outdoor/base/BaseDrawerFragment.java | 26 +++++++++++ .../fragment/ChargingPileFragment.java | 10 +++++ .../fragment/ChargingStationFragment.java | 10 +++++ .../outdoor/fragment/FilterFragment.java | 10 +++++ .../outdoor/fragment/GatheringFragment.java | 35 +++++++++------ .../outdoor/fragment/OtherFragment.java | 10 +++++ .../navinfo/outdoor/fragment/PoiFragment.java | 10 +++++ .../outdoor/fragment/PoiVideoFragment.java | 17 +++++++ .../outdoor/fragment/RoadFragment.java | 10 +++++ .../fragment/UserAttestationFragment.java | 17 +++---- .../outdoor/fragment/WithdrawFragment.java | 44 ++++++++++++++++++- .../com/navinfo/outdoor/room/PoiEntity.java | 1 - .../outdoor/util/AWMp4ParserHelper.java | 1 - .../main/res/layout/gathering_fragment.xml | 9 ++-- 17 files changed, 192 insertions(+), 30 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index e9775a3..43917f5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -3,7 +3,7 @@ apply plugin: 'com.android.application' android { compileSdkVersion 29 buildToolsVersion '29.0.2' - ndkVersion '21.0.6113669' + ndkVersion '23.0.7123448' defaultConfig { applicationId "com.navinfo.outdoor" diff --git a/app/src/main/java/com/navinfo/outdoor/activity/UserActivity.java b/app/src/main/java/com/navinfo/outdoor/activity/UserActivity.java index 68bf036..d74aa34 100644 --- a/app/src/main/java/com/navinfo/outdoor/activity/UserActivity.java +++ b/app/src/main/java/com/navinfo/outdoor/activity/UserActivity.java @@ -1,6 +1,8 @@ package com.navinfo.outdoor.activity; +import android.content.Context; import android.content.Intent; +import android.content.SharedPreferences; import android.graphics.Color; import android.text.TextUtils; import android.util.Log; @@ -59,6 +61,7 @@ public class UserActivity extends BaseActivity implements View.OnClickListener { private String userphone; private String usermailbox; private String region_id; + private SharedPreferences navInfo; @Override @@ -76,6 +79,7 @@ public class UserActivity extends BaseActivity implements View.OnClickListener { protected void initView() { super.initView(); initJsonData(); + navInfo = getSharedPreferences("navInfo", Context.MODE_PRIVATE); ivUser = findViewById(R.id.iv_user); ivUser.setOnClickListener(this::onClick); btnAttestation = findViewById(R.id.btn_attestation); @@ -103,6 +107,11 @@ public class UserActivity extends BaseActivity implements View.OnClickListener { finish(); break; case R.id.btn_gathering: + String attestationName = navInfo.getString("attestationName", null); + if (attestationName == null || attestationName.equals("")) { + Toast.makeText(this, "请先实名认证", Toast.LENGTH_SHORT).show(); + return; + } Intent gatheringIntent = new Intent(this, FragmentManagement.class); gatheringIntent.putExtra("tag", 24); startActivity(gatheringIntent); diff --git a/app/src/main/java/com/navinfo/outdoor/api/Constant.java b/app/src/main/java/com/navinfo/outdoor/api/Constant.java index 33a1184..2b628ea 100644 --- a/app/src/main/java/com/navinfo/outdoor/api/Constant.java +++ b/app/src/main/java/com/navinfo/outdoor/api/Constant.java @@ -86,7 +86,6 @@ public class Constant { public static final int EVENT_STAY_REFRESH = 44; // 刷新记录页面 public static final int EVENT_WORK_HOME = 45; //切换到寻宝 - public static String USER_ATTESTATION_NAME; //实名认证姓名 银行卡 public static int NUMBER = 200; //任务个数 public static int LIMIT_TTPE = -1; //权限类型,普通任务-0,专属任务-1 public static int TASK_TYPE = -1; // 任务类型 diff --git a/app/src/main/java/com/navinfo/outdoor/base/BaseDrawerFragment.java b/app/src/main/java/com/navinfo/outdoor/base/BaseDrawerFragment.java index eb4eebe..1436ab2 100644 --- a/app/src/main/java/com/navinfo/outdoor/base/BaseDrawerFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/base/BaseDrawerFragment.java @@ -9,11 +9,13 @@ import android.util.Log; import android.view.View; import android.widget.Toast; +import androidx.annotation.CheckResult; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.navinfo.outdoor.R; import com.navinfo.outdoor.api.Constant; +import com.navinfo.outdoor.room.PoiEntity; import com.navinfo.outdoor.util.FragmentBackHandler; import com.navinfo.outdoor.util.GPSUtils; @@ -114,4 +116,28 @@ public abstract class BaseDrawerFragment extends BaseFragment { public View getScrollerView() { return findViewById(R.id.scroller_view); } + + protected abstract PoiEntity initPoiEntityByUI(); + protected abstract PoiCheckResult checkPoiEntity(PoiEntity entity); + + public class PoiCheckResult { + private int code; // 0 检查成功 + private String msg; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + } } diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/ChargingPileFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/ChargingPileFragment.java index 348a586..a37e958 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/ChargingPileFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/ChargingPileFragment.java @@ -1360,5 +1360,15 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC super.onDestroy(); } + @Override + protected PoiEntity initPoiEntityByUI() { + return null; + } + + @Override + protected PoiCheckResult checkPoiEntity(PoiEntity entity) { + return null; + } + } \ No newline at end of file diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/ChargingStationFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/ChargingStationFragment.java index 327ad32..18cfb7a 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/ChargingStationFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/ChargingStationFragment.java @@ -1468,4 +1468,14 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View. } }).start(); } + + @Override + protected PoiEntity initPoiEntityByUI() { + return null; + } + + @Override + protected PoiCheckResult checkPoiEntity(PoiEntity entity) { + return null; + } } \ No newline at end of file diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/FilterFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/FilterFragment.java index e479a29..a1100f4 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/FilterFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/FilterFragment.java @@ -468,4 +468,14 @@ public class FilterFragment extends BaseDrawerFragment implements View.OnClickLi super.onDestroy(); } + @Override + protected PoiEntity initPoiEntityByUI() { + return null; + } + + @Override + protected PoiCheckResult checkPoiEntity(PoiEntity entity) { + return null; + } + } diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/GatheringFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/GatheringFragment.java index 847a0d6..4f80a8d 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/GatheringFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/GatheringFragment.java @@ -1,7 +1,9 @@ package com.navinfo.outdoor.fragment; import android.app.Dialog; +import android.content.Context; import android.content.Intent; +import android.content.SharedPreferences; import android.graphics.Bitmap; import android.os.Bundle; import android.util.Log; @@ -61,6 +63,8 @@ public class GatheringFragment extends BaseFragment implements View.OnClickListe private ArrayList gatheringList; private ArrayList jsonBean; private String value; + private SharedPreferences navInfo; + private SharedPreferences.Editor navInfoEditor; public static GatheringFragment newInstance(Bundle bundle) { @@ -78,6 +82,8 @@ public class GatheringFragment extends BaseFragment implements View.OnClickListe @Override protected void initView() { super.initView(); + navInfoEditor = getActivity().getSharedPreferences("navInfo", Context.MODE_PRIVATE).edit(); + navInfo = getActivity().getSharedPreferences("navInfo", Context.MODE_PRIVATE); ivGathering = findViewById(R.id.iv_gathering); ivGathering.setOnClickListener(this::onClick); imageBank = findViewById(R.id.iv_bank); @@ -87,8 +93,9 @@ public class GatheringFragment extends BaseFragment implements View.OnClickListe btnBank = findViewById(R.id.btn_bank); btnBank.setOnClickListener(this::onClick); tvName = (TextView) findViewById(R.id.tv_name); - if (Constant.USER_ATTESTATION_NAME != null) { - tvName.setText(Constant.USER_ATTESTATION_NAME); + String attestationName = navInfo.getString("attestationName", null); + if (attestationName!= null&&!attestationName.equals("")) { + tvName.setText(attestationName); } etBankNum = (EditText) findViewById(R.id.et_bank_num); gatheringCamera = (ImageView) findViewById(R.id.gathering_camera); @@ -153,21 +160,20 @@ public class GatheringFragment extends BaseFragment implements View.OnClickListe } private void gatheringNetWork() { - showLoadingDialog(); - if (ivGathering.getTag()==null){ - Toast.makeText(getContext(), "银行卡照片不能为空", Toast.LENGTH_SHORT).show(); + + gatheringList = new ArrayList<>(); + File gatheringFile = new File(gatheringPath); + if (!gatheringFile.exists()) { + Toast.makeText(getContext(), "身份证照片不能为空", Toast.LENGTH_SHORT).show(); return; } - gatheringList = new ArrayList<>(); - String ivGatheringTag = (String) ivGathering.getTag(); - gatheringList.add(new File(ivGatheringTag)); - + gatheringList.add(gatheringFile); String etBankAccount = etBankNum.getText().toString().trim(); if (etBankAccount == null || etBankAccount.equals("")) { Toast.makeText(getContext(), "银行卡号不能为空", Toast.LENGTH_SHORT).show(); return; } - + showLoadingDialog(); OkGo // 请求方式和请求url .post(HttpInterface.USER_BANKCARD_UP_DATA) @@ -182,16 +188,17 @@ public class GatheringFragment extends BaseFragment implements View.OnClickListe public void onSuccess(Response response) { dismissLoadingDialog(); Log.d("TAG", "onSuccess: " + response.toString() + "sssssssssssss"); - if (response.body().equals("0")) { - MessageDialog.show((AppCompatActivity) getActivity(), "是否绑定银行卡", "取消", "确定", "取消").setOkButton(new OnDialogButtonClickListener() { + if (response.code() == 200) { + MessageDialog.show((AppCompatActivity) getActivity(), "绑定成功", "确定", "确定", "取消").setOkButton(new OnDialogButtonClickListener() { @Override public boolean onClick(BaseDialog baseDialog, View v) { - // Toast.makeText(getContext(), "点击了确定", Toast.LENGTH_SHORT).show(); + navInfoEditor.putString("bankAccount",value); + navInfoEditor.commit(); return false; } }); } else { - MessageDialog.show((AppCompatActivity) getActivity(), "是否绑定银行卡", "确定", "确定", "取消").setOkButton(new OnDialogButtonClickListener() { + MessageDialog.show((AppCompatActivity) getActivity(), "绑定失败", "取消", "取消", "确定").setOkButton(new OnDialogButtonClickListener() { @Override public boolean onClick(BaseDialog baseDialog, View v) { // Toast.makeText(getContext(), "点击了确定", Toast.LENGTH_SHORT).show(); diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/OtherFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/OtherFragment.java index 8335cdf..5038ac1 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/OtherFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/OtherFragment.java @@ -692,4 +692,14 @@ public class OtherFragment extends BaseDrawerFragment implements View.OnClickLis }).start(); } + @Override + protected PoiEntity initPoiEntityByUI() { + return null; + } + + @Override + protected PoiCheckResult checkPoiEntity(PoiEntity entity) { + return null; + } + } \ No newline at end of file diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/PoiFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/PoiFragment.java index b5324b6..6be899c 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/PoiFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/PoiFragment.java @@ -1057,5 +1057,15 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe }).start(); } + @Override + protected PoiEntity initPoiEntityByUI() { + return null; + } + + @Override + protected PoiCheckResult checkPoiEntity(PoiEntity entity) { + return null; + } + } \ No newline at end of file diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/PoiVideoFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/PoiVideoFragment.java index 25fcb29..6a361c0 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/PoiVideoFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/PoiVideoFragment.java @@ -715,4 +715,21 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick } }).start(); } + + @Override + protected PoiEntity initPoiEntityByUI() { + + return showPoiEntity; + } + + @Override + protected PoiCheckResult checkPoiEntity(PoiEntity entity) { + PoiCheckResult poiCheckResult = new PoiCheckResult(); + if (entity.getName() == null) { + poiCheckResult.setCode(-1); + poiCheckResult.setMsg("name不能为空"); + return poiCheckResult; + } + return poiCheckResult; + } } \ No newline at end of file diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/RoadFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/RoadFragment.java index 5608ce8..f5d0947 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/RoadFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/RoadFragment.java @@ -750,4 +750,14 @@ public class RoadFragment extends BaseDrawerFragment implements View.OnClickList } }).start(); } + + @Override + protected PoiEntity initPoiEntityByUI() { + return null; + } + + @Override + protected PoiCheckResult checkPoiEntity(PoiEntity entity) { + return null; + } } \ No newline at end of file diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/UserAttestationFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/UserAttestationFragment.java index 19aab9d..8db9c6a 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/UserAttestationFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/UserAttestationFragment.java @@ -1,6 +1,8 @@ package com.navinfo.outdoor.fragment; +import android.content.Context; import android.content.Intent; +import android.content.SharedPreferences; import android.graphics.Bitmap; import android.os.Bundle; import android.util.Log; @@ -54,6 +56,7 @@ public class UserAttestationFragment extends BaseFragment implements View.OnClic private TextView tvCard2; private ImageView ivHera3; private TextView tvCard3; + private SharedPreferences.Editor navInfoEditor; public static UserAttestationFragment newInstance(Bundle bundle) { @@ -79,6 +82,7 @@ public class UserAttestationFragment extends BaseFragment implements View.OnClic @Override protected void initView() { super.initView(); + navInfoEditor = getActivity().getSharedPreferences("navInfo", Context.MODE_PRIVATE).edit(); ivAttestation = findViewById(R.id.iv_attestation); ivAttestation.setOnClickListener(this); ivAttestation1 = findViewById(R.id.iv_attestation1); @@ -204,26 +208,23 @@ public class UserAttestationFragment extends BaseFragment implements View.OnClic @Override public void onSuccess(Response response) { dismissLoadingDialog(); - - Log.d("TAG", "onSuccess: " + response.toString() + "sssssssssssss"); - if (response.body().equals("0")) { + if (response.code()==200) { DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE; - MessageDialog.show((AppCompatActivity) getActivity(), "提示", "不通过", "确定", "取消").setOkButton(new OnDialogButtonClickListener() { + MessageDialog.show((AppCompatActivity) getActivity(), "提示", "通过", "确定", "取消").setOkButton(new OnDialogButtonClickListener() { @Override public boolean onClick(BaseDialog baseDialog, View v) { // Toast.makeText(getContext(), "点击了确定", Toast.LENGTH_SHORT).show(); - //传值给持卡人 - Constant.USER_ATTESTATION_NAME = attestationName; return false; } }); } else { DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE; - MessageDialog.show((AppCompatActivity) getActivity(), "提示", "通过", "确定", "取消").setOkButton(new OnDialogButtonClickListener() { + MessageDialog.show((AppCompatActivity) getActivity(), "提示", "不通过", "确定", "取消").setOkButton(new OnDialogButtonClickListener() { @Override public boolean onClick(BaseDialog baseDialog, View v) { - Constant.USER_ATTESTATION_NAME = attestationName; + navInfoEditor.putString("attestationName",attestationName); + navInfoEditor.commit(); return false; } }); diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/WithdrawFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/WithdrawFragment.java index 1f86860..502ac2a 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/WithdrawFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/WithdrawFragment.java @@ -1,10 +1,14 @@ package com.navinfo.outdoor.fragment; +import android.content.Context; import android.content.Intent; +import android.content.SharedPreferences; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; +import android.widget.CheckBox; +import android.widget.CompoundButton; import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; @@ -41,6 +45,8 @@ public class WithdrawFragment extends BaseFragment implements View.OnClickListen private TextView chargingReportMoney; private TextView otherPushMoney; private TextView otherReportMoney; + private SharedPreferences navInfo; + private CheckBox checkBox; public static WithdrawFragment newInstance(Bundle bundle) { WithdrawFragment fragment = new WithdrawFragment(); @@ -71,8 +77,34 @@ public class WithdrawFragment extends BaseFragment implements View.OnClickListen ivWithDraw.setOnClickListener(this); tvText = findViewById(R.id.tv_text); tvText.setOnClickListener(this::onClick); + checkBox = findViewById(R.id.checkBox); + checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + if (isChecked){ + checkBox.setChecked(false); + navInfo = getActivity().getSharedPreferences("navInfo", Context.MODE_PRIVATE); + String bankAccount = navInfo.getString("bankAccount", null); + if (bankAccount==null||bankAccount.equals("")){ + String attestationName = navInfo.getString("attestationName", null); + if (attestationName == null || attestationName.equals("")) { + Intent attestationIntent = new Intent(getContext(), FragmentManagement.class); + attestationIntent.putExtra("tag", 25); + startActivity(attestationIntent); + Toast.makeText(getContext(), "未实名认证,不能绑定银行卡", Toast.LENGTH_SHORT).show(); + }else { + Intent gatheringIntent = new Intent(getContext(), FragmentManagement.class); + gatheringIntent.putExtra("tag", 24); + startActivity(gatheringIntent); + Toast.makeText(getContext(), "以实名认证,请绑定银行卡", Toast.LENGTH_SHORT).show(); + } + } + } + } + }); btWithdraw = findViewById(R.id.button); btWithdraw.setOnClickListener(this::onClick); + poiPushMoney = (TextView) findViewById(R.id.poi_push_money); poiReportMoney = (TextView) findViewById(R.id.poi_report_money); poiVideoPushMoney = (TextView) findViewById(R.id.poiVideo_push_money); @@ -148,6 +180,16 @@ public class WithdrawFragment extends BaseFragment implements View.OnClickListen if (etAllPrice.getText().toString().equals("")) { Toast.makeText(getContext(), "提现金额不能为空", Toast.LENGTH_SHORT).show(); } + String price = etAllPrice.getText().toString().trim(); + Integer integer = Integer.valueOf(price); + if (integer!=null&&integer<10){ + Toast.makeText(getContext(), "提现金额不能低于10元", Toast.LENGTH_SHORT).show(); + return; + } + if (!checkBox.isChecked()){ + Toast.makeText(getContext(), "请勾选银行卡", Toast.LENGTH_SHORT).show(); + return; + } immediatelyPrice(); break; case R.id.tv_all: @@ -159,6 +201,7 @@ public class WithdrawFragment extends BaseFragment implements View.OnClickListen private void immediatelyPrice() { showLoadingDialog(); HttpParams httpParams = new HttpParams(); + httpParams.put("exchangeMoney", etAllPrice.getText().toString()); httpParams.put("payType", "1"); OkGoBuilder.getInstance() @@ -173,7 +216,6 @@ public class WithdrawFragment extends BaseFragment implements View.OnClickListen dismissLoadingDialog(); Toast.makeText(getContext(), response.getMessage(), Toast.LENGTH_SHORT).show(); - etAllPrice.getText().clear(); Log.d("TAG", "onSuccess: " + response.toString() + "tttttttt"); diff --git a/app/src/main/java/com/navinfo/outdoor/room/PoiEntity.java b/app/src/main/java/com/navinfo/outdoor/room/PoiEntity.java index 464e68b..29e868f 100644 --- a/app/src/main/java/com/navinfo/outdoor/room/PoiEntity.java +++ b/app/src/main/java/com/navinfo/outdoor/room/PoiEntity.java @@ -266,7 +266,6 @@ public class PoiEntity implements Serializable { this.detail = detail; } - @Override public String toString() { return "PoiEntity{" + diff --git a/app/src/main/java/com/navinfo/outdoor/util/AWMp4ParserHelper.java b/app/src/main/java/com/navinfo/outdoor/util/AWMp4ParserHelper.java index 75d8650..5727e71 100644 --- a/app/src/main/java/com/navinfo/outdoor/util/AWMp4ParserHelper.java +++ b/app/src/main/java/com/navinfo/outdoor/util/AWMp4ParserHelper.java @@ -298,7 +298,6 @@ public class AWMp4ParserHelper { return latLngs; } - StringBuilder filePathStringBuilder = new StringBuilder(""); for (int m = 0; m < videoFileList.size(); m++) { File videoFile = videoFileList.get(m); diff --git a/app/src/main/res/layout/gathering_fragment.xml b/app/src/main/res/layout/gathering_fragment.xml index f60a7d7..c81ff10 100644 --- a/app/src/main/res/layout/gathering_fragment.xml +++ b/app/src/main/res/layout/gathering_fragment.xml @@ -125,14 +125,17 @@