From eb74bad73817e692d502fc234eb1371f24c44baa Mon Sep 17 00:00:00 2001
From: md <zmd1026@163.com>
Date: Wed, 28 Jul 2021 20:26:52 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A1=B5=E9=9D=A2=E7=9A=84bu?=
 =?UTF-8?q?g?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/build.gradle                              |   2 +-
 .../navinfo/outdoor/bean/TaskNameBean.java    |  34 ++++
 .../fragment/ChargingPileFragment.java        | 145 +++++++++++++++++
 .../fragment/ChargingStationFragment.java     | 146 +++++++++++++-----
 .../outdoor/fragment/GatherGetFragment.java   |   5 +-
 .../outdoor/fragment/OtherFragment.java       |  34 ++++
 .../navinfo/outdoor/fragment/PoiFragment.java |  34 +++-
 .../outdoor/fragment/PoiVideoFragment.java    |   4 +
 .../outdoor/fragment/RoadFragment.java        |  10 +-
 .../outdoor/fragment/TreasureFragment.java    |   2 +-
 .../outdoor/fragment/WithdrawFragment.java    |   2 +-
 .../navinfo/outdoor/http/HttpInterface.java   |  19 ++-
 .../main/res/color/test_color_selector.xml    |   2 +-
 app/src/main/res/drawable/selector_hui_bg.xml |   8 +-
 app/src/main/res/drawable/selector_red_bg.xml |   8 +-
 .../res/drawable/shape_red_bg_disable.xml     |   5 +
 .../res/drawable/shape_red_hui_bg_disable.xml |   4 +
 .../drawable/shape_red_radius_bg_disable.xml  |   2 +-
 app/src/main/res/layout/fragment_message.xml  |   9 +-
 app/src/main/res/layout/other_header.xml      |  39 +++++
 .../res/layout/user_attestation_fragment.xml  |   3 +
 app/src/main/res/values/colors.xml            |   1 +
 22 files changed, 450 insertions(+), 68 deletions(-)
 create mode 100644 app/src/main/java/com/navinfo/outdoor/bean/TaskNameBean.java
 create mode 100644 app/src/main/res/drawable/shape_red_bg_disable.xml
 create mode 100644 app/src/main/res/drawable/shape_red_hui_bg_disable.xml

diff --git a/app/build.gradle b/app/build.gradle
index 7f7dc9c..8f730a3 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 '23.0.7123448'
+    ndkVersion '23.0.7123448'
 
     defaultConfig {
         applicationId "com.navinfo.outdoor"
diff --git a/app/src/main/java/com/navinfo/outdoor/bean/TaskNameBean.java b/app/src/main/java/com/navinfo/outdoor/bean/TaskNameBean.java
new file mode 100644
index 0000000..408830e
--- /dev/null
+++ b/app/src/main/java/com/navinfo/outdoor/bean/TaskNameBean.java
@@ -0,0 +1,34 @@
+package com.navinfo.outdoor.bean;
+
+import java.util.List;
+
+public class TaskNameBean {
+
+    private Integer code;
+    private String message;
+    private List<String> body;
+
+    public Integer getCode() {
+        return code;
+    }
+
+    public void setCode(Integer code) {
+        this.code = code;
+    }
+
+    public String getMessage() {
+        return message;
+    }
+
+    public void setMessage(String message) {
+        this.message = message;
+    }
+
+    public List<String> getBody() {
+        return body;
+    }
+
+    public void setBody(List<String> body) {
+        this.body = body;
+    }
+}
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 e811c4d..f148c2c 100644
--- a/app/src/main/java/com/navinfo/outdoor/fragment/ChargingPileFragment.java
+++ b/app/src/main/java/com/navinfo/outdoor/fragment/ChargingPileFragment.java
@@ -399,6 +399,151 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
         //展示数据
          initShowPileSharePre();
 
+         onLongDelPic();
+
+    }
+
+    private void onLongDelPic() {
+        rlAvailable.setOnLongClickListener(new View.OnLongClickListener() {
+            @Override
+            public boolean onLongClick(View v) {
+                DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE;
+                MessageDialog.show((AppCompatActivity) getContext(), "提示", "对否删除", "确定", "取消").setOkButton(new OnDialogButtonClickListener() {
+                    @Override
+                    public boolean onClick(BaseDialog baseDialog, View v) {
+                        ivAvailable.setImageDrawable(null);
+                        return false;
+                    }
+                });
+                return false;
+            }
+        });
+        rlUsable.setOnLongClickListener(new View.OnLongClickListener() {
+            @Override
+            public boolean onLongClick(View v) {
+                DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE;
+                MessageDialog.show((AppCompatActivity) getContext(), "提示", "对否删除", "确定", "取消").setOkButton(new OnDialogButtonClickListener() {
+                    @Override
+                    public boolean onClick(BaseDialog baseDialog, View v) {
+                        ivUsable.setImageDrawable(null);
+                        return false;
+                    }
+                });
+                return false;
+            }
+        });
+        rlScutcheon.setOnLongClickListener(new View.OnLongClickListener() {
+            @Override
+            public boolean onLongClick(View v) {
+                DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE;
+                MessageDialog.show((AppCompatActivity) getContext(), "提示", "对否删除", "确定", "取消").setOkButton(new OnDialogButtonClickListener() {
+                    @Override
+                    public boolean onClick(BaseDialog baseDialog, View v) {
+                        ivScutcheon.setImageDrawable(null);
+                        return false;
+                    }
+                });
+                return false;
+            }
+        });
+        rlParking.setOnLongClickListener(new View.OnLongClickListener() {
+            @Override
+            public boolean onLongClick(View v) {
+                DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE;
+                MessageDialog.show((AppCompatActivity) getContext(), "提示", "对否删除", "确定", "取消").setOkButton(new OnDialogButtonClickListener() {
+                    @Override
+                    public boolean onClick(BaseDialog baseDialog, View v) {
+                        ivParking.setImageDrawable(null);
+                        return false;
+                    }
+                });
+                return false;
+            }
+        });
+        rlPanorama.setOnLongClickListener(new View.OnLongClickListener() {
+            @Override
+            public boolean onLongClick(View v) {
+                DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE;
+                MessageDialog.show((AppCompatActivity) getContext(), "提示", "对否删除", "确定", "取消").setOkButton(new OnDialogButtonClickListener() {
+                    @Override
+                    public boolean onClick(BaseDialog baseDialog, View v) {
+                        ivPanorama.setImageDrawable(null);
+                        return false;
+                    }
+                });
+                return false;
+            }
+        });
+        rlNumber.setOnLongClickListener(new View.OnLongClickListener() {
+            @Override
+            public boolean onLongClick(View v) {
+                DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE;
+                MessageDialog.show((AppCompatActivity) getContext(), "提示", "对否删除", "确定", "取消").setOkButton(new OnDialogButtonClickListener() {
+                    @Override
+                    public boolean onClick(BaseDialog baseDialog, View v) {
+                        ivNumber.setImageDrawable(null);
+                        return false;
+                    }
+                });
+                return false;
+            }
+        });
+        rlFacility.setOnLongClickListener(new View.OnLongClickListener() {
+            @Override
+            public boolean onLongClick(View v) {
+                DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE;
+                MessageDialog.show((AppCompatActivity) getContext(), "提示", "对否删除", "确定", "取消").setOkButton(new OnDialogButtonClickListener() {
+                    @Override
+                    public boolean onClick(BaseDialog baseDialog, View v) {
+                        ivFacility.setImageDrawable(null);
+                        return false;
+                    }
+                });
+                return false;
+            }
+        });
+        rlEquipment.setOnLongClickListener(new View.OnLongClickListener() {
+            @Override
+            public boolean onLongClick(View v) {
+                DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE;
+                MessageDialog.show((AppCompatActivity) getContext(), "提示", "对否删除", "确定", "取消").setOkButton(new OnDialogButtonClickListener() {
+                    @Override
+                    public boolean onClick(BaseDialog baseDialog, View v) {
+                        ivEquipment.setImageDrawable(null);
+                        return false;
+                    }
+                });
+                return false;
+            }
+        });
+        rlDevice.setOnLongClickListener(new View.OnLongClickListener() {
+            @Override
+            public boolean onLongClick(View v) {
+                DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE;
+                MessageDialog.show((AppCompatActivity) getContext(), "提示", "对否删除", "确定", "取消").setOkButton(new OnDialogButtonClickListener() {
+                    @Override
+                    public boolean onClick(BaseDialog baseDialog, View v) {
+                        ivDevice.setImageDrawable(null);
+                        return false;
+                    }
+                });
+                return false;
+            }
+        });
+        rlCoding.setOnLongClickListener(new View.OnLongClickListener() {
+            @Override
+            public boolean onLongClick(View v) {
+                DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE;
+                MessageDialog.show((AppCompatActivity) getContext(), "提示", "对否删除", "确定", "取消").setOkButton(new OnDialogButtonClickListener() {
+                    @Override
+                    public boolean onClick(BaseDialog baseDialog, View v) {
+                        ivCoding.setImageDrawable(null);
+                        return false;
+                    }
+                });
+                return false;
+            }
+        });
     }
 
     private void initShowPileSharePre() {
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 05ed246..81f6b02 100644
--- a/app/src/main/java/com/navinfo/outdoor/fragment/ChargingStationFragment.java
+++ b/app/src/main/java/com/navinfo/outdoor/fragment/ChargingStationFragment.java
@@ -88,7 +88,7 @@ import static android.app.Activity.RESULT_OK;
 public class ChargingStationFragment extends BaseDrawerFragment implements View.OnClickListener {
 
     private EditText editDescribe;
-    private RelativeLayout rlPanorama, rlName, rlInternalPhotos, rlElse, rlScutcheon,rlNull;
+    private RelativeLayout rlPanorama, rlName, rlInternalPhotos, rlElse, rlScutcheon, rlNull;
     private ImageView ivPanorama, ivName, ivInternal, ivElse, ivScutcheon;
     private TextView tvExamine;
     private EditText editNameContent, editSiteContent;
@@ -116,7 +116,7 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
     private Integer bodyId;
     private LinearLayout linearContact;
     private ContactView contactView;
-//    private Integer chargingPileBody;
+    //    private Integer chargingPileBody;
     private ArrayList<File> chargingStationList;
 //    private ArrayList<File> fileList;
 
@@ -360,6 +360,81 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
         //禁用所有可操作控件
         //disables();
 
+        onLongDelPic();
+
+    }
+
+    private void onLongDelPic() {
+        rlElse.setOnLongClickListener(new View.OnLongClickListener() {
+            @Override
+            public boolean onLongClick(View v) {
+                DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE;
+                MessageDialog.show((AppCompatActivity) getContext(), "提示", "对否删除", "确定", "取消").setOkButton(new OnDialogButtonClickListener() {
+                    @Override
+                    public boolean onClick(BaseDialog baseDialog, View v) {
+                        ivElse.setImageDrawable(null);
+                        return false;
+                    }
+                });
+                return false;
+            }
+        });
+        rlScutcheon.setOnLongClickListener(new View.OnLongClickListener() {
+            @Override
+            public boolean onLongClick(View v) {
+                DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE;
+                MessageDialog.show((AppCompatActivity) getContext(), "提示", "对否删除", "确定", "取消").setOkButton(new OnDialogButtonClickListener() {
+                    @Override
+                    public boolean onClick(BaseDialog baseDialog, View v) {
+                        ivScutcheon.setImageDrawable(null);
+                        return false;
+                    }
+                });
+                return false;
+            }
+        });
+        rlPanorama.setOnLongClickListener(new View.OnLongClickListener() {
+            @Override
+            public boolean onLongClick(View v) {
+                DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE;
+                MessageDialog.show((AppCompatActivity) getContext(), "提示", "对否删除", "确定", "取消").setOkButton(new OnDialogButtonClickListener() {
+                    @Override
+                    public boolean onClick(BaseDialog baseDialog, View v) {
+                        ivPanorama.setImageDrawable(null);
+                        return false;
+                    }
+                });
+                return false;
+            }
+        });
+        rlName.setOnLongClickListener(new View.OnLongClickListener() {
+            @Override
+            public boolean onLongClick(View v) {
+                DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE;
+                MessageDialog.show((AppCompatActivity) getContext(), "提示", "对否删除", "确定", "取消").setOkButton(new OnDialogButtonClickListener() {
+                    @Override
+                    public boolean onClick(BaseDialog baseDialog, View v) {
+                        ivName.setImageDrawable(null);
+                        return false;
+                    }
+                });
+                return false;
+            }
+        });
+        rlInternalPhotos.setOnLongClickListener(new View.OnLongClickListener() {
+            @Override
+            public boolean onLongClick(View v) {
+                DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE;
+                MessageDialog.show((AppCompatActivity) getContext(), "提示", "对否删除", "确定", "取消").setOkButton(new OnDialogButtonClickListener() {
+                    @Override
+                    public boolean onClick(BaseDialog baseDialog, View v) {
+                        ivInternal.setImageDrawable(null);
+                        return false;
+                    }
+                });
+                return false;
+            }
+        });
     }
 
     private void initShowPoi() {
@@ -396,13 +471,13 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
                     if (!StringUtils.isEmpty(phones[i])) if (!StringUtils.isEmpty(phones[i])) {
                         if (phones[i].contains("-")) { // 包含区号数据的电话
                             String[] split = phones[i].split("-");
-                            if (split!=null&&split.length>1) {
+                            if (split != null && split.length > 1) {
                                 poiBeans.add(new PhoneBean("电话", split[1] + "", split[0] + "", R.drawable.icon_add_bg));
                             } else {
                                 poiBeans.add(new PhoneBean("电话", "", "", R.drawable.icon_add_bg));
                             }
                         } else {
-                            if (phones[i]!=null) {
+                            if (phones[i] != null) {
                                 poiBeans.add(new PhoneBean("电话", phones[i] + "", "", R.drawable.icon_add_bg));
                             } else {
                                 poiBeans.add(new PhoneBean("电话", "", "", R.drawable.icon_add_bg));
@@ -413,13 +488,13 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
                     if (!StringUtils.isEmpty(phones[i])) {
                         if (phones[i].contains("-")) { // 包含区号数据的电话
                             String[] split = phones[i].split("-");
-                            if (split!=null&&split.length>1) {
+                            if (split != null && split.length > 1) {
                                 poiBeans.add(new PhoneBean("", split[1] + "", split[0] + "", R.drawable.icon_del_bg));
                             } else {
                                 poiBeans.add(new PhoneBean("", "", "", R.drawable.icon_del_bg));
                             }
                         } else {
-                            if (phones[i]!=null) {
+                            if (phones[i] != null) {
                                 poiBeans.add(new PhoneBean("", phones[i] + "", "", R.drawable.icon_del_bg));
                             } else {
                                 poiBeans.add(new PhoneBean("", "", "", R.drawable.icon_del_bg));
@@ -442,7 +517,7 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
         if (showPoiEntity.getName() != null) {
             linearExist.setVisibility(View.VISIBLE);
             spinnerExist.setSelection(showPoiEntity.getExistence(), true);
-            existence=showPoiEntity.getExistence();
+            existence = showPoiEntity.getExistence();
         }
         if (showPoiEntity.getPhotoInfo() != null) {
             for (int i = 0; i < showPoiEntity.getPhotoInfo().size(); i++) {
@@ -479,7 +554,7 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
 
             }
         }).start();
-        if (showPoiEntity.getTaskStatus()==3){
+        if (showPoiEntity.getTaskStatus() == 3) {
             disables();
         }
     }
@@ -680,13 +755,13 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
 
     /**
      * 根据充电站数据检查充电桩数据,如果没有网络保存,则批量网络保存
-     * */
+     */
     private void saveChargingPileByChargingStation(PoiEntity chargingStationPoiEntity) {
         if (chargingStationPoiEntity != null) {
             List<ChargingPileEntity> chargingPileEntityList = PoiDatabase.getInstance(getActivity()).getChargingPileDao().getChargingPileByStationId(chargingStationPoiEntity.getId());
-            if (chargingPileEntityList!=null&&!chargingPileEntityList.isEmpty()) {
-                for (ChargingPileEntity pileEntity: chargingPileEntityList) {
-                    if (pileEntity.getBodyId()==0) {
+            if (chargingPileEntityList != null && !chargingPileEntityList.isEmpty()) {
+                for (ChargingPileEntity pileEntity : chargingPileEntityList) {
+                    if (pileEntity.getBodyId() == 0) {
                         saveChargingPileByWork(pileEntity);
                     }
                 }
@@ -696,16 +771,16 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
 
     /**
      * 上传充电桩数据
-     * */
+     */
     private void chargingPileUploadNetWork(ChargingPileEntity chargingPileEntity) {
-        if (chargingPileEntity==null|| chargingPileEntity.getBodyId() == 0) {
+        if (chargingPileEntity == null || chargingPileEntity.getBodyId() == 0) {
             Toast.makeText(getActivity(), "没有保存本地", Toast.LENGTH_SHORT).show();
             return;
         }
 
         List<File> chargingPileFileList = new ArrayList<>();
-        if (chargingPileEntity.getPhotos()!=null&&!chargingPileEntity.getPhotos().isEmpty()) {
-            for (String photoPath: chargingPileEntity.getPhotos()) {
+        if (chargingPileEntity.getPhotos() != null && !chargingPileEntity.getPhotos().isEmpty()) {
+            for (String photoPath : chargingPileEntity.getPhotos()) {
                 chargingPileFileList.add(new File(photoPath));
             }
         }
@@ -721,7 +796,7 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
                     .execute();
             String pileUpLoadResultStr = execute.body().string();
             PoiUploadBean uploadBeanResult = new Gson().fromJson(pileUpLoadResultStr, PoiUploadBean.class);
-            if (uploadBeanResult!=null) {
+            if (uploadBeanResult != null) {
                 if (uploadBeanResult.getCode() == 200) {
                     PoiDatabase.getInstance(getActivity()).getChargingPileDao().deleteChargingPileEntity(chargingPileEntity);
                 }
@@ -817,26 +892,26 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
                             } else {
                                 infoPhoto.add(new Info(tagName));
                             }
-                            if (existence==0){
+                            if (existence == 0) {
                                 String tagInternal = (String) ivInternal.getTag();
                                 if (tagInternal == null) {
                                     Toast.makeText(getActivity(), "请拍照 服务说明", Toast.LENGTH_SHORT).show();
                                     return;
-                                }else {
+                                } else {
                                     infoPhoto.add(new Info(tagInternal));
                                 }
                                 String tagElse = (String) ivElse.getTag();
                                 if (tagElse == null) {
                                     Toast.makeText(getActivity(), "请拍照 充电站指引牌", Toast.LENGTH_SHORT).show();
                                     return;
-                                }else {
+                                } else {
                                     infoPhoto.add(new Info(tagElse));
                                 }
                                 String tagScutcheon = (String) ivScutcheon.getTag();
                                 if (tagScutcheon == null) {
                                     Toast.makeText(getActivity(), "请拍照 收费标牌", Toast.LENGTH_SHORT).show();
                                     return;
-                                }else {
+                                } else {
                                     infoPhoto.add(new Info(tagScutcheon));
                                 }
                             }
@@ -865,7 +940,6 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
                                 }
                             }).start();
 
-                            //  onBackPressed();
                         } else {
                             Toast.makeText(getActivity(), "没有申请权限,请手动申请", Toast.LENGTH_SHORT).show();
                         }
@@ -883,7 +957,7 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
     }
 
     private void stationUploadByNetWork(PoiEntity poiEntity, ArrayList<File> chargingStationList) {
-        if (poiEntity == null || poiEntity.getBodyId()==0) {
+        if (poiEntity == null || poiEntity.getBodyId() == 0) {
             Toast.makeText(getActivity(), "没有保存本地", Toast.LENGTH_SHORT).show();
             Log.e("TAG", "poiUploadByNetWork: " + poiEntity.getBodyId() + chargingStationList);
             return;
@@ -894,9 +968,9 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
             public void run() {
                 // 首先批量上传充电桩数据
                 List<ChargingPileEntity> chargingPileEntityList = PoiDatabase.getInstance(getActivity()).getChargingPileDao().getChargingPileByStationId(poiEntity.getId());
-                if (chargingPileEntityList!=null&&!chargingPileEntityList.isEmpty()) {
-                    for (ChargingPileEntity chargingPileEntity: chargingPileEntityList) {
-                        if (chargingPileEntity.getBodyId()!=0) {
+                if (chargingPileEntityList != null && !chargingPileEntityList.isEmpty()) {
+                    for (ChargingPileEntity chargingPileEntity : chargingPileEntityList) {
+                        if (chargingPileEntity.getBodyId() != 0) {
                             chargingPileUploadNetWork(chargingPileEntity);
                         }
                     }
@@ -916,12 +990,12 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
                                     @Override
                                     public void onSuccess(Response<PoiUploadBean> poiUploadBeanResponse) {
                                         dismissLoadingDialog();
-                                        if (poiUploadBeanResponse == null || poiUploadBeanResponse.code()!=200||poiUploadBeanResponse.body().getCode()!=200) {
+                                        if (poiUploadBeanResponse == null || poiUploadBeanResponse.code() != 200 || poiUploadBeanResponse.body().getCode() != 200) {
                                             Toast.makeText(getActivity(), "上传失败", Toast.LENGTH_SHORT).show();
                                             return;
                                         }
 
-                                        if (poiUploadBeanResponse!=null&&poiUploadBeanResponse.code()==200) {
+                                        if (poiUploadBeanResponse != null && poiUploadBeanResponse.code() == 200) {
                                             PoiUploadBean body = poiUploadBeanResponse.body();
                                             if (body.getCode() == 200) {
                                                 Toast.makeText(getActivity(), "上传成功", Toast.LENGTH_SHORT).show();
@@ -959,7 +1033,7 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
 
     /**
      * 保存充电站数据到服务器
-     * */
+     */
     private void chargingStationSaveByWork(PoiEntity poiEntity, boolean isLocal) {
         showLoadingDialog();
         HttpParams httpParams = new HttpParams();
@@ -1265,7 +1339,7 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
 
     /**
      * 上传充电桩数据到服务端
-     * */
+     */
     private void saveChargingPileByWork(ChargingPileEntity chargingPileEntity) {
         HttpParams httpParams = new HttpParams();
         httpParams.put("taskId", chargingPileEntity.getTaskId());
@@ -1275,10 +1349,10 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
         httpParams.put("memo", chargingPileEntity.getMemo());
         httpParams.put("ffid", chargingPileEntity.getFid());
         HashMap<String, Object> hashMap = new HashMap<>();
-        hashMap.put("cp_openType",chargingPileEntity.getCp_openType());
-        hashMap.put("cp_floor",chargingPileEntity.getCp_floor());
-        hashMap.put("cp_availableState",chargingPileEntity.getCp_availableState());
-        hashMap.put("sign_exist",chargingPileEntity.getSign_exist());
+        hashMap.put("cp_openType", chargingPileEntity.getCp_openType());
+        hashMap.put("cp_floor", chargingPileEntity.getCp_floor());
+        hashMap.put("cp_availableState", chargingPileEntity.getCp_availableState());
+        hashMap.put("sign_exist", chargingPileEntity.getSign_exist());
         httpParams.put("detail", String.valueOf(hashMap));
         try {
             okhttp3.Response execute = OkGo.<String>get(HttpInterface.SUBMIT_CSTASK)
@@ -1286,10 +1360,10 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
                     .tag(ChargingStationFragment.this)
                     .execute();
             String responseBodyStr = execute.body().string();
-            if (responseBodyStr!=null) {
+            if (responseBodyStr != null) {
                 Gson gson = new Gson();
                 ChargingPileSaveBean chargingPileSaveBean = gson.fromJson(responseBodyStr, ChargingPileSaveBean.class);
-                if (chargingPileSaveBean.getCode()!=200) {
+                if (chargingPileSaveBean.getCode() != 200) {
                     return;
                 }
                 chargingPileEntity.setBodyId(chargingPileSaveBean.getBody());
diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/GatherGetFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/GatherGetFragment.java
index 7c4a13e..456ba26 100644
--- a/app/src/main/java/com/navinfo/outdoor/fragment/GatherGetFragment.java
+++ b/app/src/main/java/com/navinfo/outdoor/fragment/GatherGetFragment.java
@@ -131,7 +131,6 @@ public class GatherGetFragment extends BaseFragment implements View.OnClickListe
                 if (poiEntity.getDist() != null) {
                     tvDistance.setText("距离:" + format5(Double.valueOf(poiEntity.getDist()) / 1000) + "km");
                 }
-
             }
             int taskStatus = poiEntity.getTaskStatus();
             initViewByTaskStatus(taskStatus);
@@ -190,6 +189,7 @@ public class GatherGetFragment extends BaseFragment implements View.OnClickListe
                                         btnCancelGet.setVisibility(View.GONE);
                                         btnGather.setVisibility(View.VISIBLE);
                                         btnFinishGather.setVisibility(View.GONE);
+
                                     }
                                 });
                             }
@@ -221,6 +221,7 @@ public class GatherGetFragment extends BaseFragment implements View.OnClickListe
                     if (type == 6) {
                         int taskStatus = poiEntity.getTaskStatus();
                         if (taskStatus != 1) {
+
                             initPolygonTask(HttpInterface.RECEIVED_POLYGON_TASK, poiEntity.getTaskId(), true, poiEntity);
                         } else {
                             new Thread(new Runnable() {
@@ -535,6 +536,8 @@ public class GatherGetFragment extends BaseFragment implements View.OnClickListe
 
 //                                            poiEntity.setTaskStatus(1);
 //                                            initViewByTaskStatus(1);
+
+
                                             btnGather.setVisibility(View.GONE);
                                             btnFinishGather.setVisibility(View.VISIBLE);
 
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 72d9408..13f28bc 100644
--- a/app/src/main/java/com/navinfo/outdoor/fragment/OtherFragment.java
+++ b/app/src/main/java/com/navinfo/outdoor/fragment/OtherFragment.java
@@ -213,9 +213,43 @@ public class OtherFragment extends BaseDrawerFragment implements View.OnClickLis
         initShowPoi();
         //禁用所有操作控件
         //disables();
+        //长按刪除
+        onLongDelPic();
 
     }
 
+    private void onLongDelPic() {
+        rlPicture.setOnLongClickListener(new View.OnLongClickListener() {
+            @Override
+            public boolean onLongClick(View v) {
+                DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE;
+                MessageDialog.show((AppCompatActivity) getContext(), "提示", "对否删除", "确定", "取消").setOkButton(new OnDialogButtonClickListener() {
+                    @Override
+                    public boolean onClick(BaseDialog baseDialog, View v) {
+                        ivPicture.setImageDrawable(null);
+                        return false;
+                    }
+                });
+                return false;
+            }
+        });
+
+        rlPictures.setOnLongClickListener(new View.OnLongClickListener() {
+            @Override
+            public boolean onLongClick(View v) {
+                DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE;
+                MessageDialog.show((AppCompatActivity) getContext(), "提示", "对否删除", "确定", "取消").setOkButton(new OnDialogButtonClickListener() {
+                    @Override
+                    public boolean onClick(BaseDialog baseDialog, View v) {
+                        ivPictures.setImageDrawable(null);
+                        return false;
+                    }
+                });
+                return false;
+            }
+        });
+    }
+
     private void disables() {
         spinnerOther.setEnabled(false);
         checkPot.setEnabled(false);
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 0f63ae7..a70892c 100644
--- a/app/src/main/java/com/navinfo/outdoor/fragment/PoiFragment.java
+++ b/app/src/main/java/com/navinfo/outdoor/fragment/PoiFragment.java
@@ -46,7 +46,7 @@ import com.navinfo.outdoor.bean.Info;
 import com.navinfo.outdoor.bean.OtherUploadPicBean;
 import com.navinfo.outdoor.bean.PhoneBean;
 import com.navinfo.outdoor.bean.PoiSaveBean;
-import com.navinfo.outdoor.bean.PoiVideoBean;
+import com.navinfo.outdoor.bean.TaskNameBean;
 import com.navinfo.outdoor.http.Callback;
 import com.navinfo.outdoor.http.DialogCallback;
 import com.navinfo.outdoor.http.HttpInterface;
@@ -258,7 +258,7 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe
 
 
     }
-
+    //拍照长按删除
     private void onLongDel() {
         rlPanorama.setOnLongClickListener(new View.OnLongClickListener() {
             @Override
@@ -560,7 +560,7 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe
                 }).start();
                 break;
             case R.id.tv_examine:
-                Toast.makeText(getContext(), editNameContent.getText().toString(), Toast.LENGTH_SHORT).show();
+                findingDuplicateByWork(showPoiEntity);
                 break;
             case R.id.rl_panorama:
                 Intent intentPanorama = new Intent("android.media.action.IMAGE_CAPTURE");
@@ -585,6 +585,34 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe
         }
     }
 
+    private void findingDuplicateByWork(PoiEntity poiEntity) {
+        showLoadingDialog();
+        HttpParams httpParams = new HttpParams();
+        httpParams.put("geo", poiEntity.getGeoWkt());
+        httpParams.put("name",editNameContent.getText().toString());
+        OkGoBuilder.getInstance()
+                .Builder(getActivity())
+                .url(HttpInterface.TASK_NAME)
+                .method(OkGoBuilder.GET)
+                .cls(TaskNameBean.class)
+                .params(httpParams)
+                .callback(new Callback<TaskNameBean>() {
+                    @Override
+                    public void onSuccess(TaskNameBean taskNameBean, int id) {
+                        dismissLoadingDialog();
+
+                        Toast.makeText(getContext(), "存在类似名称"+taskNameBean.getBody(), Toast.LENGTH_SHORT).show();
+                    }
+
+                    @Override
+                    public void onError(Throwable e, int id) {
+                        dismissLoadingDialog();
+                        Toast.makeText(getActivity(), e.getMessage(), Toast.LENGTH_SHORT).show();
+                        Log.d("TAG", "onError: " + e.getMessage());
+                    }
+                }).build();
+    }
+
     public void initPoiSaveLocal(boolean isLocal) {
         XXPermissions.with(this)
                 //读写权限
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 9ee5cf8..fbcd410 100644
--- a/app/src/main/java/com/navinfo/outdoor/fragment/PoiVideoFragment.java
+++ b/app/src/main/java/com/navinfo/outdoor/fragment/PoiVideoFragment.java
@@ -234,6 +234,10 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick
         tvPictures.setEnabled(false);
         etDesc.setEnabled(false);
         btnRoadSave.setEnabled(false);
+        rbBicycle.setEnabled(false);
+        rbCar.setEnabled(false);
+        rbManual.setEnabled(false);
+        rbWalking.setEnabled(false);
     }
 
     @Override
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 3ebf633..776f583 100644
--- a/app/src/main/java/com/navinfo/outdoor/fragment/RoadFragment.java
+++ b/app/src/main/java/com/navinfo/outdoor/fragment/RoadFragment.java
@@ -468,9 +468,9 @@ public class RoadFragment extends BaseDrawerFragment implements View.OnClickList
                     @Override
                     public void onSuccess(RoadSaveBean roadSaveBean, int id) {
                         dismissLoadingDialog();
-                        Integer poiVideoBody = roadSaveBean.getBody();
-                       if (poiVideoBody!=null&&poiVideoBody!=0){
-                           poiEntity.setBodyId(poiVideoBody);
+                        Integer roadBody = roadSaveBean.getBody();
+                       if (roadBody!=null&&roadBody!=0){
+                           poiEntity.setBodyId(roadBody);
                            poiEntity.setTaskStatus(3);
                            new Thread(new Runnable() {
                                @Override
@@ -480,7 +480,7 @@ public class RoadFragment extends BaseDrawerFragment implements View.OnClickList
                                        @Override
                                        public void run() {
                                            if (isLocal) {
-                                               poiVideoUpload(poiVideoBody, fileZip);
+                                               poiVideoUpload(roadBody, fileZip);
                                            } else {
                                                Toast.makeText(getActivity(), "保存成功", Toast.LENGTH_SHORT).show();
                                                onBackPressed();
@@ -491,7 +491,7 @@ public class RoadFragment extends BaseDrawerFragment implements View.OnClickList
                            }).start();
 
                        }else {
-                           Toast.makeText(getContext(), "没获取到具体的位置", Toast.LENGTH_SHORT).show();
+                           Toast.makeText(getContext(), ""+roadSaveBean.getMessage(), Toast.LENGTH_SHORT).show();
                        }
 
 
diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/TreasureFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/TreasureFragment.java
index 602f37f..ac0a3e7 100644
--- a/app/src/main/java/com/navinfo/outdoor/fragment/TreasureFragment.java
+++ b/app/src/main/java/com/navinfo/outdoor/fragment/TreasureFragment.java
@@ -616,7 +616,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
                                     removablesLocality.add(roadMarker);
                                     break;
                                 case 5://其他
-                                    BitmapDescriptor otherDescriptor = BitmapDescriptorFactory.fromResource(R.drawable.marker_other_have_bag);
+                                    BitmapDescriptor otherDescriptor = BitmapDescriptorFactory.fromResource(R.drawable.grayother);
                                     Marker otherMarker = tencentMap.addMarker(new MarkerOptions(latLng).icon(otherDescriptor).alpha(0.9f)
                                             .flat(true)
                                             .clockwise(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 b87dd4d..e176c5a 100644
--- a/app/src/main/java/com/navinfo/outdoor/fragment/WithdrawFragment.java
+++ b/app/src/main/java/com/navinfo/outdoor/fragment/WithdrawFragment.java
@@ -170,7 +170,7 @@ public class WithdrawFragment extends BaseFragment implements View.OnClickListen
                     @Override
                     public void onError(Throwable e, int id) {
                         dismissLoadingDialog();
-                        Toast.makeText(getContext(), "兑换失败" + e.getMessage(), Toast.LENGTH_SHORT).show();
+                        Toast.makeText(getContext(), e.getMessage(), Toast.LENGTH_SHORT).show();
                         Log.d("TAG", "onError: " + e.getMessage());
                     }
                 }).build();
diff --git a/app/src/main/java/com/navinfo/outdoor/http/HttpInterface.java b/app/src/main/java/com/navinfo/outdoor/http/HttpInterface.java
index cebaf4d..1c3e637 100644
--- a/app/src/main/java/com/navinfo/outdoor/http/HttpInterface.java
+++ b/app/src/main/java/com/navinfo/outdoor/http/HttpInterface.java
@@ -9,7 +9,7 @@ public class HttpInterface {
     //http://172.23.139.4:8002/m4/findAndMessage/1/exam_content?id=11
     //http://172.23.139.4:8002/m4/findAndMessage/1/submitExam
 
-    public static final String IP1 = "http://172.23.139.4:8002/m4/findAndMessage/1/";
+    public static final String IP1 = "http://dtxbmaps.navinfo.com/dtxb/msg/m4/findAndMessage/1/";
     //发现:测试接口
 
     public static final String listTask = IP1 + "msg_list";//任务专区
@@ -20,24 +20,24 @@ public class HttpInterface {
     public static final String EXAM_SUBMIT = IP1 + "submitExam";//发现 -能力测评提交试卷  post
 
 
-    public static final String IPm4 = "http://172.23.139.4:8001/m4";
+    public static final String IPm4 = "http://dtxbmaps.navinfo.com/dtxb/user/m4";
 
     public static final String MSG_CONTENT = IPm4 + "/1/msg_content";//发现 -富文本详情页请求
-    //172.23.139.4:8001/m4/userAuth/add
-    public static final String USER_AUTH_ADD = IPm4 + "/userAuth/add"; //实名认证
+
+
     //172.23.139.4:8001/m4/user/update
     public static final String USER_UPDATE = IPm4 + "/user/update";//用户资料
     //172.23.139.4:8001/m4/userBankcard/update
     public static final String USER_BANKCARD_UP_DATA = IPm4 + "/userBankcard/update"; //绑定银行卡
 
-    public static final String IPm5 = "http://172.23.139.4:8004/";
+    public static final String IPm5 = "http://dtxbmaps.navinfo.com/dtxb/price/";
     //http://172.23.139.4:8004/userPrice/1/getPrice
     public static final String GET_PRICE = IPm5 + "userPrice/1/getPrice";//我的-总资产
     //http://172.23.139.4:8004/userPrice/1/userPriceExchange?exchangeMoney=10&payType=1
     public static final String USER_PRICE_EXCHANGE = IPm5 + "userPriceExchange";//我的-财务信息-提现
 
 
-    public static final String IPm6 = "http://172.23.139.4:8003/";
+    public static final String IPm6 = "http://dtxbmaps.navinfo.com/dtxb/task/";
     //172.23.139.4:8003/m4/task/1/getList
     public static final String TASK_LIST = IPm6 + "m4/task/1/getList"; //任务搜索
     //172.23.139.4:8003/othertask/1/receivedOthertask
@@ -82,6 +82,13 @@ public class HttpInterface {
     public static final String CS_TASK_UP_LOAD_PIC = IPm6 + "cstask/1/uploadpic";//充电桩-上传
     //172.23.139.4:8003/ctask/1/uploadpic
     public static final String C_TASK_UP_LOAD_PIC= IPm6+"ctask/1/uploadpic";//充电站-上传
+    //172.23.139.4:8003/m4/task/1/taskName?geo=1rn7exd5uhxy&name=四维
+    public static final String TASK_NAME = IPm6+"m4/task/1/taskName";//poi-查重
+
+
+    public static final String IPm7 = "http://dtxbmaps.navinfo.com/dtxb/user";
+    //172.23.139.4:8001/m4/userAuth/add
+    public static final String USER_AUTH_ADD = IPm7 + "/userAuth/add"; //实名认证
 
     /**
      * 面状任务
diff --git a/app/src/main/res/color/test_color_selector.xml b/app/src/main/res/color/test_color_selector.xml
index cbc14d2..bbb22a3 100644
--- a/app/src/main/res/color/test_color_selector.xml
+++ b/app/src/main/res/color/test_color_selector.xml
@@ -5,6 +5,6 @@
     <item android:state_focused="true"
         android:color="#ff000000"/> <!-- focused -->
     <item android:state_enabled="false"
-        android:color="@color/colorGray"/> <!-- focused -->
+        android:color="@color/colorGrays"/> <!-- focused -->
     <item android:color="#ff000000"/> <!-- default 默认颜色 -->
 </selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_hui_bg.xml b/app/src/main/res/drawable/selector_hui_bg.xml
index 1bfa71d..0c6e2aa 100644
--- a/app/src/main/res/drawable/selector_hui_bg.xml
+++ b/app/src/main/res/drawable/selector_hui_bg.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:drawable="@drawable/shape_red_radius_bg_disable" android:state_checked="true" />
-    <item android:drawable="@drawable/shape_red_radius_bg_disable" android:state_selected="true" />
-    <item android:drawable="@drawable/shape_red_radius_bg_disable" android:state_pressed="true" />
-    <item android:drawable="@drawable/shape_red_radius_bg_disable"  android:state_enabled="false"/>
+    <item android:drawable="@drawable/shape_red_hui_bg_disable" android:state_checked="true" />
+    <item android:drawable="@drawable/shape_red_hui_bg_disable" android:state_selected="true" />
+    <item android:drawable="@drawable/shape_red_hui_bg_disable" android:state_pressed="true" />
+    <item android:drawable="@drawable/shape_red_hui_bg_disable"  android:state_enabled="false"/>
     <item android:drawable="@drawable/shape_hui_bg" />
 </selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_red_bg.xml b/app/src/main/res/drawable/selector_red_bg.xml
index a50aafe..c9b7652 100644
--- a/app/src/main/res/drawable/selector_red_bg.xml
+++ b/app/src/main/res/drawable/selector_red_bg.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:drawable="@drawable/shape_red_radius_bg_disable" android:state_checked="true" />
-    <item android:drawable="@drawable/shape_red_radius_bg_disable" android:state_selected="true" />
-    <item android:drawable="@drawable/shape_red_radius_bg_disable" android:state_pressed="true" />
-    <item android:drawable="@drawable/shape_red_radius_bg_disable"  android:state_enabled="false"/>
+    <item android:drawable="@drawable/shape_red_bg_disable" android:state_checked="true" />
+    <item android:drawable="@drawable/shape_red_bg_disable" android:state_selected="true" />
+    <item android:drawable="@drawable/shape_red_bg_disable" android:state_pressed="true" />
+    <item android:drawable="@drawable/shape_red_bg_disable" android:state_enabled="false"/>
     <item android:drawable="@drawable/shape_radius_bg" />
 </selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/shape_red_bg_disable.xml b/app/src/main/res/drawable/shape_red_bg_disable.xml
new file mode 100644
index 0000000..bf46650
--- /dev/null
+++ b/app/src/main/res/drawable/shape_red_bg_disable.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="@color/colorGrays" />
+    <corners android:radius="1dp" />
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/shape_red_hui_bg_disable.xml b/app/src/main/res/drawable/shape_red_hui_bg_disable.xml
new file mode 100644
index 0000000..57e7fcb
--- /dev/null
+++ b/app/src/main/res/drawable/shape_red_hui_bg_disable.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="@color/colorGray" />
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/shape_red_radius_bg_disable.xml b/app/src/main/res/drawable/shape_red_radius_bg_disable.xml
index df1d692..74badd6 100644
--- a/app/src/main/res/drawable/shape_red_radius_bg_disable.xml
+++ b/app/src/main/res/drawable/shape_red_radius_bg_disable.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <solid android:color="@color/colorGray" />
+    <solid android:color="@color/colorGrays" />
     <corners android:radius="50dp" />
 </shape>
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_message.xml b/app/src/main/res/layout/fragment_message.xml
index 28ba3bf..8f245f9 100644
--- a/app/src/main/res/layout/fragment_message.xml
+++ b/app/src/main/res/layout/fragment_message.xml
@@ -18,19 +18,19 @@
 
         <ImageView
             android:id="@+id/message_final"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
+            android:layout_width="50dp"
+            android:layout_height="50dp"
             android:layout_marginLeft="10dp"
             android:layout_marginTop="10dp"
             android:padding="10dp"
             android:src="@drawable/ic_arrow_left" />
-<!-- style="@style/text_style_toolbar_title"-->
+
         <TextView
             android:id="@+id/tv_message"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_marginTop="20dp"
             android:layout_marginLeft="50dp"
+            android:layout_marginTop="25dp"
             android:text="消息"
             android:textColor="#000" />
 
@@ -44,6 +44,7 @@
             android:text="全部已读"
             android:textColor="@color/black" />
     </RelativeLayout>
+
     <com.jcodecraeer.xrecyclerview.XRecyclerView
         android:id="@+id/message_recycler"
         android:layout_width="match_parent"
diff --git a/app/src/main/res/layout/other_header.xml b/app/src/main/res/layout/other_header.xml
index 78286e2..db3e608 100644
--- a/app/src/main/res/layout/other_header.xml
+++ b/app/src/main/res/layout/other_header.xml
@@ -19,6 +19,45 @@
             android:layout_marginLeft="15dp"
             android:layout_marginTop="15dp"
             android:src="@drawable/icon_arrow" />
+        <TextView
+            android:id="@+id/tv1"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="其他"
+            android:textColor="@color/white"
+            android:textSize="25sp"
+            android:textStyle="bold"
+            app:layout_constraintBottom_toBottomOf="@id/road_bg"
+            app:layout_constraintLeft_toLeftOf="@id/road_bg"
+            app:layout_constraintRight_toRightOf="@id/road_bg"
+            app:layout_constraintTop_toTopOf="@id/road_bg" />
+        <ImageView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginRight="15dp"
+            android:background="@drawable/top_bg_line_left"
+            app:layout_constraintBottom_toBottomOf="@id/tv1"
+            app:layout_constraintRight_toLeftOf="@id/tv1"
+            app:layout_constraintTop_toTopOf="@id/tv1" />
 
+        <ImageView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="15dp"
+            android:background="@drawable/top_bg_line_right"
+            app:layout_constraintBottom_toBottomOf="@id/tv1"
+            app:layout_constraintLeft_toRightOf="@id/tv1"
+            app:layout_constraintTop_toTopOf="@id/tv1" />
+
+        <TextView
+            android:id="@+id/tv_explain"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="10dp"
+            android:text="任务说明"
+            android:textColor="@color/white"
+            app:layout_constraintLeft_toLeftOf="@id/tv1"
+            app:layout_constraintRight_toRightOf="@id/tv1"
+            app:layout_constraintTop_toBottomOf="@id/tv1" />
 
 </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/user_attestation_fragment.xml b/app/src/main/res/layout/user_attestation_fragment.xml
index 6b4be7a..fb31bf6 100644
--- a/app/src/main/res/layout/user_attestation_fragment.xml
+++ b/app/src/main/res/layout/user_attestation_fragment.xml
@@ -123,6 +123,7 @@
                     android:layout_centerVertical="true"
                     android:layout_margin="10dp"
                     android:layout_weight="1"
+                    android:scaleType="fitXY"
                     android:background="@color/colorPrimaryBlue"
                     app:layout_constraintLeft_toLeftOf="parent"
                     app:layout_constraintTop_toTopOf="parent" />
@@ -167,6 +168,7 @@
                     android:layout_centerVertical="true"
                     android:layout_margin="10dp"
                     android:layout_weight="1"
+                    android:scaleType="fitXY"
                     android:background="@color/colorPrimaryBlue"
                     app:layout_constraintLeft_toLeftOf="parent"
                     app:layout_constraintTop_toTopOf="parent" />
@@ -210,6 +212,7 @@
                     android:layout_centerVertical="true"
                     android:layout_margin="10dp"
                     android:layout_weight="1"
+                    android:scaleType="fitXY"
                     android:background="@color/colorPrimaryBlue"
                     app:layout_constraintTop_toTopOf="parent"
                     app:layout_constraintLeft_toLeftOf="parent"
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index e833789..be8ea3e 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -16,5 +16,6 @@
     <color name="colorRed">#F44236</color>
     <color name="colorText">#87CDF6</color>
     <color name="colorRead">#ED1931</color>
+    <color name="colorGrays">#BDBDBD</color>
 
 </resources>
\ No newline at end of file