From ff8dbf0cdfe607cfa35ad511698b765639c2ecc0 Mon Sep 17 00:00:00 2001
From: md <zmd1026@163.com>
Date: Fri, 6 Aug 2021 19:37:19 +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

---
 .../outdoor/activity/PictureActivity.java     |  69 +++---
 .../outdoor/activity/UserActivity.java        |   8 +-
 .../outdoor/fragment/PoiVideoFragment.java    |  12 -
 .../outdoor/fragment/TreasureFragment.java    |  11 +-
 .../outdoor/fragment/WithdrawFragment.java    |  37 ++-
 app/src/main/res/layout/activity_user.xml     |   4 +-
 .../main/res/layout/fragment_has_submit.xml   |   2 +-
 .../main/res/layout/poi_video_fragment.xml    |  96 ++++----
 .../res/layout/user_attestation_fragment.xml  | 214 +++++++++---------
 9 files changed, 236 insertions(+), 217 deletions(-)

diff --git a/app/src/main/java/com/navinfo/outdoor/activity/PictureActivity.java b/app/src/main/java/com/navinfo/outdoor/activity/PictureActivity.java
index b3a52e5..6097433 100644
--- a/app/src/main/java/com/navinfo/outdoor/activity/PictureActivity.java
+++ b/app/src/main/java/com/navinfo/outdoor/activity/PictureActivity.java
@@ -117,6 +117,7 @@ public class PictureActivity extends BaseActivity implements View.OnClickListene
     private int oratation = -1; // 是否强制横屏拍摄,默认不强制,0-强制横屏 其他-任意
     private List<Removable> removables;
     private String uuId;
+    private ImageView ivPic;
 
     @Override
     protected int getLayout() {
@@ -130,7 +131,7 @@ public class PictureActivity extends BaseActivity implements View.OnClickListene
     protected void initView() {
         super.initView();
 
-        if (getIntent()!=null) {
+        if (getIntent() != null) {
             finalVideoPath = getIntent().getStringExtra(Constant.INTENT_VIDEO_PATH);
             uuId = getIntent().getStringExtra("uuId");
             oratation = getIntent().getIntExtra(Constant.INTENT_VIDEO_ORATATION, -1);
@@ -153,6 +154,7 @@ public class PictureActivity extends BaseActivity implements View.OnClickListene
         btnSwitch.setOnClickListener(this::onClick);
 //        capturePicture = (ImageButton) findViewById(R.id.capturePicture);
 //        capturePicture.setOnClickListener(this::onClick);
+        ivPic = findViewById(R.id.iv_pic);
         //相机记录器
         CameraLogger.setLogLevel(CameraLogger.LEVEL_VERBOSE);
         camera = findViewById(R.id.camera);
@@ -164,7 +166,7 @@ public class PictureActivity extends BaseActivity implements View.OnClickListene
                 if (isChecked) { // 开始采集,设置按钮文字内容为“结束采集”
                     if (oratation == 0) { // oratation为0时,拍摄视频必须为横屏
                         // 如果当前手机是竖向,则不允许拍摄
-                        if (camera.getVideoSize().getWidth()<camera.getVideoSize().getHeight()) {
+                        if (camera.getVideoSize().getWidth() < camera.getVideoSize().getHeight()) {
                             Toast.makeText(PictureActivity.this, "不允许竖向拍摄...", Toast.LENGTH_SHORT).show();
                             return;
                         }
@@ -196,10 +198,10 @@ public class PictureActivity extends BaseActivity implements View.OnClickListene
         SizeSelector dimensions = SizeSelectors.and(width, height); // Matches sizes bigger than 1000x2000.
         // 获取屏幕信息
         int[] density = DensityUtil.getDeviceInfo(this);
-        int x=1920, y=1440;
-        if (density!=null&&density.length>1) {
-            x = (density[0]>=density[1]?density[0]:density[1]);
-            y = (density[0]>=density[1]?density[1]:density[0]);
+        int x = 1920, y = 1440;
+        if (density != null && density.length > 1) {
+            x = (density[0] >= density[1] ? density[0] : density[1]);
+            y = (density[0] >= density[1] ? density[1] : density[0]);
         }
         SizeSelector ratio = SizeSelectors.aspectRatio(AspectRatio.of(x, y), 0); // Matches 1:1 sizes.
 
@@ -209,7 +211,7 @@ public class PictureActivity extends BaseActivity implements View.OnClickListene
                 SizeSelectors.biggest() // If none is found, take the biggest
         );
         camera.setVideoSize(result);
-        camera.setVideoBitRate(1920*1440);
+        camera.setVideoBitRate(1920 * 1440);
 //        camera.setAudioBitRate();
 
         //获取地图
@@ -331,8 +333,8 @@ public class PictureActivity extends BaseActivity implements View.OnClickListene
                  * 获取当前视频的时间,记录csv文件时使用
                  * */
 //                long currentTime = AWMp4ParserHelper.getInstance().getVedioTotalTime(new File(finalVideoPath));
-                timerTask = new CsvTimerTask(new File(finalVideoPath+".txt"));
-                timer.schedule(timerTask, 0, period*1000);
+                timerTask = new CsvTimerTask(new File(finalVideoPath + ".txt"));
+                timer.schedule(timerTask, 0, period * 1000);
 //                // 开始采集,每隔2秒实时记录位置信息、视频时间以及设备时间
 //                if (currentTime == 0) {
 //                    timer.schedule(timerTask, 0, period*1000);
@@ -346,16 +348,16 @@ public class PictureActivity extends BaseActivity implements View.OnClickListene
             @Override
             public void onVideoRecordingEnd() {
                 super.onVideoRecordingEnd();
-                if (timerTask!=null){
+                if (timerTask != null) {
                     timerTask.cancel();
-                }else {
+                } else {
                     // Toast.makeText(PictureActivity.this, "请先拍照", Toast.LENGTH_SHORT).show();
                 }
                 // 一段视频拍摄完成自动将当前拍摄路径加1
                 File finalVideoFile = new File(finalVideoPath);
                 if (finalVideoFile.exists()) {
                     int videoIndex = Integer.parseInt(finalVideoFile.getName().replace(".mp4", ""));
-                    finalVideoPath = finalVideoFile.getParentFile().getAbsolutePath()+"/"+(videoIndex+1)+".mp4";
+                    finalVideoPath = finalVideoFile.getParentFile().getAbsolutePath() + "/" + (videoIndex + 1) + ".mp4";
                 }
             }
         });
@@ -364,18 +366,18 @@ public class PictureActivity extends BaseActivity implements View.OnClickListene
         DisplayMetrics dm = new DisplayMetrics();
         getWindowManager().getDefaultDisplay().getMetrics(dm);
         FrameLayout.LayoutParams layoutParamsMap = (FrameLayout.LayoutParams) ivMap.getLayoutParams();//相机的宽高
-        layoutParamsMap.height = dm.widthPixels/3;
-        layoutParamsMap.width = dm.heightPixels/3;
+        layoutParamsMap.height = dm.widthPixels / 3;
+        layoutParamsMap.width = dm.heightPixels / 3;
         ivMap.setLayoutParams(layoutParamsMap);
     }
 
 
     // 将秒转化成小时分钟秒
-    private String formatMiss(long miss){
-        String hh=miss/3600>9?miss/3600+"":"0"+miss/3600;
-        String  mm=(miss % 3600)/60>9?(miss % 3600)/60+"":"0"+(miss % 3600)/60;
-        String ss=(miss % 3600) % 60>9?(miss % 3600) % 60+"":"0"+(miss % 3600) % 60;
-        return hh+":"+mm+":"+ss;
+    private String formatMiss(long miss) {
+        String hh = miss / 3600 > 9 ? miss / 3600 + "" : "0" + miss / 3600;
+        String mm = (miss % 3600) / 60 > 9 ? (miss % 3600) / 60 + "" : "0" + (miss % 3600) / 60;
+        String ss = (miss % 3600) % 60 > 9 ? (miss % 3600) % 60 + "" : "0" + (miss % 3600) % 60;
+        return hh + ":" + mm + ":" + ss;
     }
 
     private void message(String content, Boolean important) {
@@ -422,15 +424,16 @@ public class PictureActivity extends BaseActivity implements View.OnClickListene
 
 
     public void stopVideoAndFinish() {
-        if (timerTask!=null){
+        if (timerTask != null) {
             timerTask.cancel();
             Intent intent = new Intent();
             intent.putExtra(Constant.INTENT_VIDEO_PATH, finalVideoPath);
             setResult(0x101, intent);
-        }else {
+        } else {
             Toast.makeText(this, "本段视频没有计时!", Toast.LENGTH_SHORT).show();
         }
         if (camera.isTakingVideo()) {
+            showLoadingDialog();
             isFinishActivity = true;
             camera.stopVideo();
         } else {
@@ -449,7 +452,7 @@ public class PictureActivity extends BaseActivity implements View.OnClickListene
 //        String formatVideoName = formatter.format(calendar.getTime());
         //文件
 //        String path = finalVideoPath.substring(finalVideoPath.length()-20);
-        if (finalVideoPath!=null){
+        if (finalVideoPath != null) {
             File file = new File(finalVideoPath);
             if (file.exists()) {
                 try {
@@ -464,7 +467,7 @@ public class PictureActivity extends BaseActivity implements View.OnClickListene
             } else {
                 camera.takeVideo(file);
             }
-        }else {
+        } else {
             Toast.makeText(this, "请录像", Toast.LENGTH_SHORT).show();
         }
 
@@ -587,14 +590,6 @@ public class PictureActivity extends BaseActivity implements View.OnClickListene
                 break;
         }
     }
-    @Override
-    public void onSaveInstanceState(@NonNull Bundle outState) {
-        super.onSaveInstanceState(outState);
-        Message obtain = Message.obtain();
-        obtain.what = Constant.PICTURE_VIDEO_WORD;
-        obtain.obj = true;
-        EventBus.getDefault().post(obtain);
-    }
 
     /**
      * 记录视频拍摄的时间及经纬度
@@ -626,19 +621,19 @@ public class PictureActivity extends BaseActivity implements View.OnClickListene
             sb.append(",");
             sb.append(Constant.currentLocation.getLongitude());
             sb.append(",");
-            LatLng latLng = new LatLng(Constant.currentLocation.getLatitude(), Constant.currentLocation.getLongitude());
-            Marker marker = tencentMap.addMarker(new MarkerOptions(latLng).alpha(0.9f)
-                    .flat(true)
-                    .clockwise(false));
-            removables.add(marker);
             if (Constant.currentLocation.getBearing()!=0) {
                 sb.append(Constant.currentLocation.getBearing());
             } else {
                 sb.append(Constant.currentLocation.getDirection());
             }
             sb.append("\r\n");
+            LatLng latLng = new LatLng(Constant.currentLocation.getLatitude(), Constant.currentLocation.getLongitude());
+            Marker marker = tencentMap.addMarker(new MarkerOptions(latLng).alpha(0.9f)
+                    .flat(true)
+                    .clockwise(false));
+            removables.add(marker);
             FileUtils.writeFile(csvFile.getAbsolutePath(), sb.toString(), true);
-            currentVideoTime = currentVideoTime+period; //
+            currentVideoTime = currentVideoTime + period; //
             recordingTime += period;
             runOnUiThread(updateTimeRunnable);
         }
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 d74aa34..977b9c1 100644
--- a/app/src/main/java/com/navinfo/outdoor/activity/UserActivity.java
+++ b/app/src/main/java/com/navinfo/outdoor/activity/UserActivity.java
@@ -43,6 +43,8 @@ import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import static com.tencent.mapsdk.internal.aaa.getContext;
+
 /**
  * 用户资料
  */
@@ -162,6 +164,7 @@ public class UserActivity extends BaseActivity implements View.OnClickListener {
                     }
 
                 }
+
                 netWork();
                 break;
         }
@@ -182,11 +185,12 @@ public class UserActivity extends BaseActivity implements View.OnClickListener {
                     public void onSuccess(Response<UserBean> response) {
                         dismissLoadingDialog();
                         Log.d("TAG", "onSuccess: " + response.toString() + "sssssssssssss");
+
                         if (response.body().equals("0")) {
                             MessageDialog.show(UserActivity.this, "是否保存", "取消", "确定", "取消").setOkButton(new OnDialogButtonClickListener() {
                                 @Override
                                 public boolean onClick(BaseDialog baseDialog, View v) {
-                                    // Toast.makeText(getContext(), "点击了确定", Toast.LENGTH_SHORT).show();
+                                     Toast.makeText(getContext(), "点击了确定", Toast.LENGTH_SHORT).show();
                                     return false;
                                 }
                             });
@@ -194,7 +198,7 @@ public class UserActivity extends BaseActivity implements View.OnClickListener {
                             MessageDialog.show(UserActivity.this, "是否保存", "确定", "确定", "取消").setOkButton(new OnDialogButtonClickListener() {
                                 @Override
                                 public boolean onClick(BaseDialog baseDialog, View v) {
-                                    // Toast.makeText(getContext(), "点击了确定", Toast.LENGTH_SHORT).show();
+                                     Toast.makeText(getContext(), "点击了取消", Toast.LENGTH_SHORT).show();
                                     return false;
                                 }
                             });
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 44907af..0aa6194 100644
--- a/app/src/main/java/com/navinfo/outdoor/fragment/PoiVideoFragment.java
+++ b/app/src/main/java/com/navinfo/outdoor/fragment/PoiVideoFragment.java
@@ -200,15 +200,6 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick
                                 ivPoiVideoPicture.setImageDrawable(null);
                             }
                         }
-//                        File videoFile = (File) fmPoiVideoPic.getTag();
-//                        if (videoFile != null) {
-//                            videoFile.delete();
-//                            //获取文件名
-//                            String csvFileName = videoFile.getName() + ".txt";
-//                            File cavFile = new File(videoFile.getParent(), csvFileName);
-//                            cavFile.delete();
-//                            ivPoiVideoPicture.setImageDrawable(null);
-//                        }
                         return false;
                     }
                 });
@@ -424,7 +415,6 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick
                                 });
                             }
                         }).start();
-
                     }
 
                     @Override
@@ -484,8 +474,6 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick
                         } else {
                             Toast.makeText(getActivity(), "" + poiVideoBean.getMessage(), Toast.LENGTH_SHORT).show();
                         }
-
-
                     }
 
                     @Override
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 e9679a7..3b92270 100644
--- a/app/src/main/java/com/navinfo/outdoor/fragment/TreasureFragment.java
+++ b/app/src/main/java/com/navinfo/outdoor/fragment/TreasureFragment.java
@@ -495,8 +495,6 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
                                         break;
                                 }
                             }
-                        } else {
-                            Toast.makeText(getActivity(), "请求数据为空", Toast.LENGTH_SHORT).show();
                         }
                         Message obtain = Message.obtain();
                         obtain.what = Constant.JOB_SEARCH_WORD;
@@ -553,12 +551,13 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
             Polygon polygon = tencentMap.addPolygon(new PolygonOptions().
                     //连接封闭图形的点
                             addAll(latPolygon).
-                    //填充颜色为红色
+                    //填充颜色为浅蓝色
                             fillColor(Color.parseColor("#97E0E7EC")).
                     //边线颜色为黑色
                             strokeColor(0xff000000).
                     //边线宽度15像素
                             strokeWidth(25));
+
             polygon.setZIndex(1);
             removablesMarker.add(polygon);
             com.vividsolutions.jts.geom.Point centroid = geometry.getCentroid();
@@ -638,6 +637,8 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
                                     List<LatLng> latLineString = GeometryTools.getLatLngs(geo);
                                     // 构造 PolylineOpitons
                                     PolylineOptions polylineOptions = new PolylineOptions()
+                                            .alpha(0.5f)
+
                                             .addAll(latLineString)
                                             // 折线设置圆形线头
                                             .lineCap(true)
@@ -660,8 +661,8 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
                                     Polygon polygon = tencentMap.addPolygon(new PolygonOptions().
                                             //连接封闭图形的点
                                                     addAll(latPolygon).
-                                            //填充颜色为红色
-                                                    fillColor(Color.parseColor("#97E0E74C")).
+                                            //填充颜色为浅蓝色
+                                                    fillColor(Color.parseColor("#97E0E7EC")).
                                             //边线颜色为黑色
                                                     strokeColor(0xff00ff00).
                                             //边线宽度15像素
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 502ac2a..8c1636d 100644
--- a/app/src/main/java/com/navinfo/outdoor/fragment/WithdrawFragment.java
+++ b/app/src/main/java/com/navinfo/outdoor/fragment/WithdrawFragment.java
@@ -14,6 +14,12 @@ import android.widget.ImageView;
 import android.widget.TextView;
 import android.widget.Toast;
 
+import androidx.appcompat.app.AppCompatActivity;
+
+import com.kongzue.dialog.interfaces.OnDialogButtonClickListener;
+import com.kongzue.dialog.util.BaseDialog;
+import com.kongzue.dialog.util.DialogSettings;
+import com.kongzue.dialog.v3.MessageDialog;
 import com.lzy.okgo.model.HttpParams;
 import com.navinfo.outdoor.R;
 import com.navinfo.outdoor.activity.FragmentManagement;
@@ -47,6 +53,7 @@ public class WithdrawFragment extends BaseFragment implements View.OnClickListen
     private TextView otherReportMoney;
     private SharedPreferences navInfo;
     private CheckBox checkBox;
+    private String bankAccount;
 
     public static WithdrawFragment newInstance(Bundle bundle) {
         WithdrawFragment fragment = new WithdrawFragment();
@@ -82,10 +89,10 @@ public class WithdrawFragment extends BaseFragment implements View.OnClickListen
             @Override
             public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                 if (isChecked){
-                    checkBox.setChecked(false);
+                    checkBox.setChecked(true);
                     navInfo = getActivity().getSharedPreferences("navInfo", Context.MODE_PRIVATE);
-                    String bankAccount = navInfo.getString("bankAccount", null);
-                    if (bankAccount==null||bankAccount.equals("")){
+                    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);
@@ -104,7 +111,6 @@ public class WithdrawFragment extends BaseFragment implements View.OnClickListen
         });
         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);
@@ -190,7 +196,20 @@ public class WithdrawFragment extends BaseFragment implements View.OnClickListen
                     Toast.makeText(getContext(), "请勾选银行卡", Toast.LENGTH_SHORT).show();
                     return;
                 }
-                immediatelyPrice();
+                if (bankAccount!=null){
+                    DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE;
+                    MessageDialog.show((AppCompatActivity) getContext(), "提示", "是否提取到"+bankAccount.substring(bankAccount.length()-4)+"的银行卡", "确定", "取消").setOkButton(new OnDialogButtonClickListener() {
+                        @Override
+                        public boolean onClick(BaseDialog baseDialog, View v) {
+                            immediatelyPrice();
+                            return false;
+                        }
+                    });
+                }else {
+                    Toast.makeText(getContext(), "请先绑定银行卡", Toast.LENGTH_SHORT).show();
+                }
+
+
                 break;
             case R.id.tv_all:
                 etAllPrice.setText(canExchangePrice + "");
@@ -215,7 +234,13 @@ public class WithdrawFragment extends BaseFragment implements View.OnClickListen
                     public void onSuccess(UserPriceExchangeBean response, int id) {
                         dismissLoadingDialog();
                         Toast.makeText(getContext(), response.getMessage(), Toast.LENGTH_SHORT).show();
-
+                        if (response.getCode()==200){
+                            String unit = tvUnit.getText().toString();
+                            String price = etAllPrice.getText().toString();
+                            double v = Double.valueOf(unit) - Double.valueOf(price);
+                            String s = String.format("%.2f", v).toString();
+                            tvUnit.setText(s);
+                        }
                         etAllPrice.getText().clear();
 
                         Log.d("TAG", "onSuccess: " + response.toString() + "tttttttt");
diff --git a/app/src/main/res/layout/activity_user.xml b/app/src/main/res/layout/activity_user.xml
index ea06a0a..ed6ea0e 100644
--- a/app/src/main/res/layout/activity_user.xml
+++ b/app/src/main/res/layout/activity_user.xml
@@ -168,8 +168,10 @@
             <EditText
                 android:id="@+id/et_phone"
                 android:layout_toRightOf="@id/tv_number"
-                android:layout_width="wrap_content"
+                android:layout_width="match_parent"
                 style="@style/user_hint_style"
+                android:digits="1234567890"
+                android:maxLength="11"
                 android:layout_centerVertical="true"
                 android:hint="请输入手机号码"
                 android:layout_height="wrap_content"
diff --git a/app/src/main/res/layout/fragment_has_submit.xml b/app/src/main/res/layout/fragment_has_submit.xml
index 19729d2..7c7bebc 100644
--- a/app/src/main/res/layout/fragment_has_submit.xml
+++ b/app/src/main/res/layout/fragment_has_submit.xml
@@ -134,7 +134,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginLeft="10dp"
-            android:text="POIVIDEO任务列表"
+            android:text="POI录像任务列表"
             android:textColor="@color/black"
             app:layout_constraintLeft_toRightOf="@id/iv_poiVideo"
             app:layout_constraintTop_toTopOf="@id/iv_poiVideo" />
diff --git a/app/src/main/res/layout/poi_video_fragment.xml b/app/src/main/res/layout/poi_video_fragment.xml
index 853cf0c..102694b 100644
--- a/app/src/main/res/layout/poi_video_fragment.xml
+++ b/app/src/main/res/layout/poi_video_fragment.xml
@@ -1,12 +1,13 @@
 <?xml version="1.0" encoding="utf-8"?>
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     app:layout_constraintBottom_toBottomOf="parent"
     app:layout_constraintEnd_toEndOf="parent"
     app:layout_constraintStart_toStartOf="parent"
-    app:layout_constraintTop_toTopOf="parent"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
+    app:layout_constraintTop_toTopOf="parent">
+
     <androidx.constraintlayout.widget.ConstraintLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
@@ -32,11 +33,11 @@
             android:id="@+id/ll_name"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
+            android:layout_marginLeft="10dp"
             android:layout_marginTop="10dp"
+            android:layout_marginRight="10dp"
             android:background="@drawable/road_shape"
             android:orientation="horizontal"
-            android:layout_marginLeft="10dp"
-            android:layout_marginRight="10dp"
             app:layout_constraintStart_toStartOf="@+id/tv_message"
             app:layout_constraintTop_toBottomOf="@+id/tv_message">
 
@@ -52,75 +53,82 @@
             <EditText
                 android:id="@+id/et_poi_video_name"
                 android:layout_width="match_parent"
-                android:textSize="14sp"
-                android:inputType="text"
-                android:maxLines="1"
                 android:layout_height="match_parent"
                 android:layout_gravity="center_vertical"
-                android:background="@null" />
+                android:background="@null"
+                android:inputType="text"
+                android:maxLines="1"
+                android:textSize="14sp" />
         </LinearLayout>
+
         <TextView
             android:id="@+id/tv_mode"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
+            android:layout_marginTop="10dp"
             android:text="02.拍照方式"
-            app:layout_constraintTop_toBottomOf="@+id/ll_name"
-            android:textSize="16sp"
             android:textColor="@color/black"
+            android:textSize="16sp"
             app:layout_constraintLeft_toLeftOf="@id/ll_name"
-            android:layout_marginTop="10dp"/>
+            app:layout_constraintTop_toBottomOf="@+id/ll_name" />
+
         <LinearLayout
             android:id="@+id/ll_mode"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:orientation="horizontal"
+            android:layout_marginLeft="2dp"
             android:layout_marginTop="15dp"
-           android:layout_marginLeft="2dp"
+            android:orientation="horizontal"
             app:layout_constraintTop_toBottomOf="@id/tv_mode">
+
             <RadioGroup
                 android:id="@+id/rg_type"
                 android:layout_width="match_parent"
-                android:orientation="horizontal"
+                android:layout_height="wrap_content"
                 android:layout_gravity="center_horizontal"
-                android:layout_height="wrap_content">
+                android:orientation="horizontal">
+
                 <RadioButton
                     android:id="@+id/rb_car"
                     android:layout_width="0dp"
                     android:layout_height="wrap_content"
                     android:layout_weight="1"
-                    android:textColor="@color/test_color_selector"
-                    android:text="车行"/>
+                    android:text="车行"
+                    android:textColor="@color/test_color_selector" />
+
                 <RadioButton
                     android:id="@+id/rb_bicycle"
                     android:layout_width="0dp"
-                    android:layout_weight="1"
-                    android:textColor="@color/test_color_selector"
                     android:layout_height="wrap_content"
-                    android:text="自行车"/>
+                    android:layout_weight="1"
+                    android:text="骑行"
+                    android:textColor="@color/test_color_selector" />
+
                 <RadioButton
                     android:id="@+id/rb_walking"
                     android:layout_width="0dp"
                     android:layout_height="wrap_content"
                     android:layout_weight="1"
-                    android:textColor="@color/test_color_selector"
-                    android:text="步行"/>
-<!--                <RadioButton-->
-<!--                    android:id="@+id/rb_manual"-->
-<!--                    android:layout_width="0dp"-->
-<!--                    android:layout_weight="1"-->
-<!--                    android:textColor="@color/test_color_selector"-->
-<!--                    android:layout_height="wrap_content"-->
-<!--                    android:text="手动"/>-->
+                    android:text="步行"
+                    android:textColor="@color/test_color_selector" />
+                <!--                <RadioButton-->
+                <!--                    android:id="@+id/rb_manual"-->
+                <!--                    android:layout_width="0dp"-->
+                <!--                    android:layout_weight="1"-->
+                <!--                    android:textColor="@color/test_color_selector"-->
+                <!--                    android:layout_height="wrap_content"-->
+                <!--                    android:text="手动"/>-->
             </RadioGroup>
 
         </LinearLayout>
+
         <LinearLayout
             android:id="@+id/ll_pictures"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
+            android:layout_marginLeft="10dp"
             android:layout_marginTop="20dp"
             android:orientation="horizontal"
-            android:layout_marginLeft="10dp"
             app:layout_constraintLeft_toLeftOf="@id/ll_mode"
             app:layout_constraintTop_toBottomOf="@id/ll_mode">
 
@@ -144,6 +152,7 @@
 
 
         </LinearLayout>
+
         <FrameLayout
             android:id="@+id/fm_poi_video_picture"
             android:layout_width="wrap_content"
@@ -151,15 +160,16 @@
             android:layout_marginTop="10dp"
             app:layout_constraintLeft_toLeftOf="@id/ll_pictures"
             app:layout_constraintTop_toBottomOf="@id/ll_pictures">
+
             <ImageView
                 android:id="@+id/iv_poi_video_picture"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
+                android:maxWidth="200dp"
+                android:maxHeight="100dp"
                 android:minWidth="140dp"
                 android:minHeight="70dp"
-                android:maxHeight="100dp"
-                android:maxWidth="200dp"
-                android:scaleType="fitXY"/>
+                android:scaleType="fitXY" />
         </FrameLayout>
 
         <LinearLayout
@@ -169,6 +179,7 @@
             android:orientation="vertical"
             app:layout_constraintLeft_toLeftOf="@id/fm_poi_video_picture"
             app:layout_constraintTop_toBottomOf="@id/fm_poi_video_picture">
+
             <RelativeLayout
                 android:id="@+id/linear_exist"
                 android:layout_width="match_parent"
@@ -222,6 +233,7 @@
                 android:text="04.描述"
                 android:textColor="@color/black"
                 android:textSize="16sp" />
+
             <LinearLayout
                 android:id="@+id/linear_describe"
                 android:layout_width="match_parent"
@@ -230,29 +242,31 @@
                 android:layout_marginStart="10dp"
                 android:layout_marginEnd="10dp"
                 android:background="@drawable/underline"
-                app:layout_constraintTop_toBottomOf="@id/tv_03"
                 app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintStart_toStartOf="parent">
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toBottomOf="@id/tv_03">
+
                 <EditText
                     android:id="@+id/et_desc"
                     android:layout_width="match_parent"
                     android:layout_height="match_parent"
-                    android:paddingBottom="30dp"
                     android:layout_margin="2dp"
-                    android:gravity="top"
-                    android:paddingLeft="10dp"
-                    android:paddingTop="10dp"
+                    android:background="@color/white"
                     android:focusable="true"
                     android:focusableInTouchMode="true"
-                    android:background="@color/white"
+                    android:gravity="top"
                     android:hint="任务描述"
-                    android:textSize="15sp"
+                    android:paddingLeft="10dp"
+                    android:paddingTop="10dp"
+                    android:paddingBottom="30dp"
                     android:textColor="@color/test_color_selector"
+                    android:textSize="15sp"
 
 
                     />
             </LinearLayout>
         </LinearLayout>
+
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
diff --git a/app/src/main/res/layout/user_attestation_fragment.xml b/app/src/main/res/layout/user_attestation_fragment.xml
index ec04d30..56113a5 100644
--- a/app/src/main/res/layout/user_attestation_fragment.xml
+++ b/app/src/main/res/layout/user_attestation_fragment.xml
@@ -104,144 +104,134 @@
             android:layout_width="match_parent"
             android:layout_height="1dp"
             android:background="#2196F3" />
-
         <LinearLayout
+            android:id="@+id/linear_photograph"
             android:layout_width="match_parent"
-            android:layout_height="150dp"
-            android:layout_marginTop="20dp"
-            android:orientation="horizontal">
-
-            <androidx.constraintlayout.widget.ConstraintLayout
-                android:layout_width="0dp"
-                android:layout_height="wrap_content"
-                android:layout_weight="1">
-
-                <ImageView
-                    android:id="@+id/iv_attestation1"
-                    android:layout_width="100dp"
-                    android:layout_height="100dp"
-                    android:layout_centerVertical="true"
-                    android:layout_margin="10dp"
+            android:layout_height="140dp"
+            android:layout_margin="10dp"
+            android:layout_marginStart="10dp"
+            android:layout_marginEnd="10dp"
+            android:orientation="vertical"
+            app:layout_constraintTop_toBottomOf="@id/tv_02"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent">
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="0dp"
+                android:layout_weight="1"
+                >
+                <RelativeLayout
+                    android:id="@+id/rl_panorama"
+                    android:layout_width="0dp"
                     android:layout_weight="1"
-                    android:scaleType="fitXY"
-                    android:background="@color/colorPrimaryBlue"
-                    app:layout_constraintLeft_toLeftOf="parent"
-                    app:layout_constraintTop_toTopOf="parent" />
-
-                <LinearLayout
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:orientation="vertical"
-                    app:layout_constraintBottom_toBottomOf="@id/iv_attestation1"
-                    app:layout_constraintLeft_toLeftOf="@id/iv_attestation1"
-                    app:layout_constraintRight_toRightOf="@id/iv_attestation1"
-                    app:layout_constraintTop_toTopOf="@id/iv_attestation1">
-
+                    android:layout_height="match_parent"
+                    android:layout_marginTop="10dp"
+                    android:background="@drawable/selector_red_bg"
+                    android:layout_marginRight="10dp"
+                    android:layout_marginBottom="10dp">
                     <ImageView
                         android:id="@+id/iv_hera1"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_gravity="center"
-                        android:src="@drawable/card_zhengmian" />
-
+                        android:layout_centerHorizontal="true"
+                        android:layout_width="20dp"
+                        android:layout_marginTop="20dp"
+                        android:background="@drawable/card_zhengmian"
+                        android:layout_height="20dp"
+                        />
                     <TextView
                         android:id="@+id/tv_card1"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
-                        android:layout_gravity="center_horizontal"
+                        android:layout_centerHorizontal="true"
+                        android:layout_centerVertical="true"
                         android:text="*身份证人像面"
-                        android:textColor="@color/white" />
-                </LinearLayout>
-
-
-            </androidx.constraintlayout.widget.ConstraintLayout>
-
-            <androidx.constraintlayout.widget.ConstraintLayout
-                android:layout_width="0dp"
-                android:layout_height="wrap_content"
-                android:layout_weight="1">
-
-                <ImageView
-                    android:id="@+id/iv_attestation2"
-                    android:layout_width="100dp"
-                    android:layout_height="100dp"
-                    android:layout_centerVertical="true"
-                    android:layout_margin="10dp"
+                        android:textSize="12sp"
+                        android:layout_margin="5dp"
+                        android:textColor="@color/white"
+                        android:layout_below="@id/iv_hera1"
+                        />
+                    <ImageView
+                        android:id="@+id/iv_attestation1"
+                        android:scaleType="fitXY"
+                        android:layout_centerInParent="true"
+                        android:layout_width="match_parent"
+                        android:layout_height="match_parent"
+                        />
+                </RelativeLayout>
+                <RelativeLayout
+                    android:id="@+id/rl_name"
+                    android:layout_width="0dp"
                     android:layout_weight="1"
-                    android:scaleType="fitXY"
-                    android:background="@color/colorPrimaryBlue"
-                    app:layout_constraintLeft_toLeftOf="parent"
-                    app:layout_constraintTop_toTopOf="parent" />
-
-                <LinearLayout
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:orientation="vertical"
-                    app:layout_constraintBottom_toBottomOf="@id/iv_attestation2"
-                    app:layout_constraintLeft_toLeftOf="@id/iv_attestation2"
-                    app:layout_constraintRight_toRightOf="@id/iv_attestation2"
-                    app:layout_constraintTop_toTopOf="@id/iv_attestation2">
-
+                    android:layout_height="match_parent"
+                    android:layout_marginTop="10dp"
+                    android:background="@drawable/selector_red_bg"
+                    android:layout_marginRight="10dp"
+                    android:layout_marginBottom="10dp">
                     <ImageView
                         android:id="@+id/iv_hera2"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_gravity="center"
-                        android:src="@drawable/card_fanmian" />
-
+                        android:layout_centerHorizontal="true"
+                        android:layout_width="20dp"
+                        android:layout_marginTop="20dp"
+                        android:background="@drawable/card_fanmian"
+                        android:layout_height="20dp"
+                        />
                     <TextView
                         android:id="@+id/tv_card2"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
-                        android:layout_gravity="center_horizontal"
+                        android:layout_centerHorizontal="true"
+                        android:layout_centerVertical="true"
                         android:text="*身份证国徽面"
-                        android:textColor="@color/white" />
-                </LinearLayout>
-
-
-            </androidx.constraintlayout.widget.ConstraintLayout>
-            <androidx.constraintlayout.widget.ConstraintLayout
-                android:layout_width="0dp"
-                android:layout_weight="1"
-                android:layout_height="wrap_content"
-                >
-                <ImageView
-                    android:id="@+id/iv_attestation3"
-                    android:layout_width="100dp"
-                    android:layout_height="100dp"
-                    android:layout_centerVertical="true"
-                    android:layout_margin="10dp"
+                        android:textSize="12sp"
+                        android:layout_margin="5dp"
+                        android:textColor="@color/white"
+                        android:layout_below="@id/iv_hera2"
+                        />
+                    <ImageView
+                        android:id="@+id/iv_attestation2"
+                        android:scaleType="fitXY"
+                        android:layout_centerInParent="true"
+                        android:layout_width="match_parent"
+                        android:layout_height="match_parent"
+                        />
+                </RelativeLayout>
+                <RelativeLayout
+                    android:id="@+id/rl_internal_photos"
+                    android:layout_width="0dp"
                     android:layout_weight="1"
-                    android:scaleType="fitXY"
-                    android:background="@color/colorPrimaryBlue"
-                    app:layout_constraintTop_toTopOf="parent"
-                    app:layout_constraintLeft_toLeftOf="parent"
-                    />
-                <LinearLayout
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    app:layout_constraintTop_toTopOf="@id/iv_attestation3"
-                    app:layout_constraintLeft_toLeftOf="@id/iv_attestation3"
-                    app:layout_constraintBottom_toBottomOf="@id/iv_attestation3"
-                    app:layout_constraintRight_toRightOf="@id/iv_attestation3"
-                    android:orientation="vertical">
-
+                    android:layout_height="match_parent"
+                    android:layout_marginTop="10dp"
+                    android:background="@drawable/selector_red_bg"
+                    android:layout_marginRight="5dp"
+                    android:layout_marginBottom="10dp">
                     <ImageView
                         android:id="@+id/iv_hera3"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_gravity="center"
-                        android:src="@drawable/card_shouchi" />
+                        android:layout_centerHorizontal="true"
+                        android:layout_width="20dp"
+                        android:layout_marginTop="20dp"
+                        android:background="@drawable/card_shouchi"
+                        android:layout_height="20dp"
+                        />
                     <TextView
                         android:id="@+id/tv_card3"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
+                        android:layout_centerHorizontal="true"
+                        android:layout_centerVertical="true"
                         android:text="*手持身份证"
-                        android:layout_gravity="center_horizontal"
-                        android:textColor="@color/white"/>
-                </LinearLayout>
-            </androidx.constraintlayout.widget.ConstraintLayout>
-
+                        android:textSize="12sp"
+                        android:layout_margin="5dp"
+                        android:textColor="@color/white"
+                        android:layout_below="@id/iv_hera3"
+                        />
+                    <ImageView
+                        android:id="@+id/iv_attestation3"
+                        android:scaleType="fitXY"
+                        android:layout_centerInParent="true"
+                        android:layout_width="match_parent"
+                        android:layout_height="match_parent"
+                        />
+                </RelativeLayout>
+            </LinearLayout>
         </LinearLayout>
 
         <View