From b6f46408cb3dc8b01051953e5c68de6c9195db60 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期四, 23 一月 2025 10:15:46 +0800
Subject: [PATCH] 1.修复分水房点击屏幕不变蓝bug。 2.处理工单添加处理时间弹窗。

---
 app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java |   71 +++++++++++++++++++++++++++--------
 1 files changed, 55 insertions(+), 16 deletions(-)

diff --git a/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java b/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java
index c414864..39ec637 100644
--- a/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java
+++ b/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java
@@ -114,6 +114,8 @@
     public double centerLng;
     public double centerLat;
 
+    MarkerBean mMarkerBean;
+
     @Override
     public void onAttach(@NonNull Context context) {
         super.onAttach(context);
@@ -125,6 +127,7 @@
     @Override
     public void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+        setRetainInstance(true);
         Log.i(TAG, "onCreate");
         mInspectionState = SharedPreferencesHelper.getInstance(this.getContext()).get(CommonKeyName.inspectionState, 0);
     }
@@ -253,7 +256,6 @@
         }
     }
 
-
     /**
      * 鑾峰彇鍙栨按鍙e垪琛�
      */
@@ -311,7 +313,11 @@
         //宸℃鎸夐挳
         binding.inspectButton.setOnClickListener(v -> {
             if (XXPermissions.isGranted(MapFragment.this.getContext(), Permission.ACCESS_BACKGROUND_LOCATION)) {
-                chageInspecState(InspectionUtils.STAT_INSPECTION_ONCLICK);
+                new ConfirmDialog(MapFragment.this.getActivity(), (confirmDialog, v1) -> {
+                    chageInspecState(InspectionUtils.STAT_INSPECTION_ONCLICK);
+                    confirmDialog.dismiss();
+                }).show();
+
             } else {
                 TipUtil.show(MapFragment.this.getActivity(), "宸℃瀹氫綅闇�瑕佹偍閫夋嫨\"濮嬬粓鍏佽\"瀹氫綅淇℃伅锛屽惁鍒欐棤娉曞贰妫�銆�", new TipUtil.TipListener() {
                     @Override
@@ -739,6 +745,8 @@
                         });
                         binding.pointCenterImg.setVisibility(View.GONE);
                         binding.pointRL.setVisibility(View.GONE);
+                        mMarkerBean.setLat(lat);
+                        mMarkerBean.setLng(lng);
                         binding.lng.setText(lng);
                         binding.lat.setText(lat);
                         mWebView.evaluateJavascript("javascript:cancelPin()", value -> {
@@ -770,20 +778,20 @@
             public void onNext(BaseResponse<MarkerResult> t) {
                 if (t.isSuccess()) {
                     MarkerResult result = t.getContent();
-                    MarkerBean markerBean = new MarkerBean();
-                    markerBean.setId(result.getId());
-                    markerBean.setLng(result.getLng());
-                    markerBean.setLat(result.getLat());
-                    markerBean.setBlockId(result.getBlockId());
-                    markerBean.setName(result.getName());
-                    markerBean.setRemarks(result.getRemarks());
-                    markerBean.setTownId(result.getTownId());
-                    markerBean.setVillageId(result.getVillageId());
-                    markerBean.setCountyId(result.getCountyId());
-                    markerBean.setAddress(result.getAddress());
-                    markerBean.setBlockName(result.getBlockName());
-                    markerBean.setDivideId(result.getDivideId());
-                    showMarker(markerBean);
+                    mMarkerBean = new MarkerBean();
+                    mMarkerBean.setId(result.getId());
+                    mMarkerBean.setLng(result.getLng());
+                    mMarkerBean.setLat(result.getLat());
+                    mMarkerBean.setBlockId(result.getBlockId());
+                    mMarkerBean.setName(result.getName());
+                    mMarkerBean.setRemarks(result.getRemarks());
+                    mMarkerBean.setTownId(result.getTownId());
+                    mMarkerBean.setVillageId(result.getVillageId());
+                    mMarkerBean.setCountyId(result.getCountyId());
+                    mMarkerBean.setAddress(result.getAddress());
+                    mMarkerBean.setBlockName(result.getBlockName());
+                    mMarkerBean.setDivideId(result.getDivideId());
+                    showMarker(mMarkerBean);
                 } else {
                     ToastUtil.showToast(MapFragment.this.getContext(), t.getMsg());
                 }
@@ -1024,5 +1032,36 @@
     public void onDestroy() {
         super.onDestroy();
         LiveEventBus.get(CommonKeyName.locationData).removeObserver(locationObserver);
+        if (mWebView != null) {
+            mWebView.destroy();
+        }
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        mWebView.onResume();
+        mWebView.resumeTimers();
+    }
+
+    @Override
+    public void onPause() {
+        super.onPause();
+        mWebView.onPause();
+        mWebView.pauseTimers();
+    }
+
+    @Override
+    public void onSaveInstanceState(@NonNull Bundle outState) {
+        super.onSaveInstanceState(outState);
+        mWebView.saveState(outState);
+    }
+
+    @Override
+    public void onViewStateRestored(@Nullable Bundle savedInstanceState) {
+        super.onViewStateRestored(savedInstanceState);
+        if (savedInstanceState != null) {
+            mWebView.restoreState(savedInstanceState);
+        }
     }
 }

--
Gitblit v1.8.0