From 986648a7fc5d377d5c100ba41350e6313dcf6e5b Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期五, 21 二月 2025 17:04:29 +0800
Subject: [PATCH] 1.优化我的界面的更新本地数据功能添加loding 2.优化巡检详情页面增大放大级别 3.优化我的界面的更新本地数据功能所有接口都结束后显示数据更新成功

---
 app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java |  105 ++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 76 insertions(+), 29 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 82ab38e..31e8b08 100644
--- a/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java
+++ b/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java
@@ -72,6 +72,7 @@
 import com.jeremyliao.liveeventbus.LiveEventBus;
 import com.tencent.bugly.crashreport.CrashReport;
 
+
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
@@ -84,6 +85,7 @@
 import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
 import io.reactivex.rxjava3.disposables.CompositeDisposable;
 import io.reactivex.rxjava3.schedulers.Schedulers;
+import io.reactivex.rxjava3.core.Single;
 
 /**
  * author: zuo
@@ -145,10 +147,55 @@
 
         // 娣诲姞鍒锋柊鏁版嵁鐨勭洃鍚�
         LiveEventBus.get(CommonKeyName.refreshData).observe(this, o -> {
-            getCenterPoint();
-            getMarkerData();
-            getDivideList();
-            getPipeNetworkList();
+            // 鏄剧ず鍔犺浇鍔ㄧ敾
+            TipUtil.showLoading(MapFragment.this.getActivity(), "姝e湪鏇存柊鏁版嵁...");
+            
+            // 鍒涘缓澶氫釜Single瀵硅薄鏉ヨ〃绀烘瘡涓綉缁滆姹�
+            Single<Boolean> centerPointSingle = Single.create(emitter -> {
+                getCenterPoint();
+                emitter.onSuccess(true);
+            });
+
+            Single<Boolean> markerDataSingle = Single.create(emitter -> {
+                getMarkerData();
+                emitter.onSuccess(true);
+            });
+
+            Single<Boolean> divideListSingle = Single.create(emitter -> {
+                getDivideList();
+                emitter.onSuccess(true);
+            });
+
+            Single<Boolean> pipeNetworkListSingle = Single.create(emitter -> {
+                getPipeNetworkList();
+                emitter.onSuccess(true);
+            });
+
+            // 缁勫悎鎵�鏈塖ingle
+            compositeDisposable.add(
+                Single.zip(
+                    centerPointSingle,
+                    markerDataSingle, 
+                    divideListSingle,
+                    pipeNetworkListSingle,
+                    (centerPoint, marker, divide, pipe) -> true
+                )
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .doFinally(() -> {
+                    // 鏃犺鎴愬姛杩樻槸澶辫触锛岄兘闇�瑕侀殣钘忓姞杞藉姩鐢�
+                    TipUtil.dismissLoading();
+                })
+                .subscribe(
+                    result -> {
+                        ToastUtil.showToast(MapFragment.this.getContext(), "鏁版嵁鏇存柊瀹屾垚");
+                    },
+                    throwable -> {
+                        Log.e(TAG, "鏁版嵁鏇存柊澶辫触: " + throwable.getMessage());
+                        ToastUtil.showToast(MapFragment.this.getContext(), "鏁版嵁鏇存柊澶辫触");
+                    }
+                )
+            );
         });
     }
 
@@ -440,7 +487,7 @@
         //宸℃鎸夐挳
         binding.inspectButton.setOnClickListener(v -> {
             if (XXPermissions.isGranted(MapFragment.this.getContext(), Permission.ACCESS_BACKGROUND_LOCATION)) {
-                new ConfirmDialog(MapFragment.this.getActivity(), "纭寮�濮嬪贰妫�鍚楋紵",(confirmDialog, v1) -> {
+                new ConfirmDialog(MapFragment.this.getActivity(), "纭寮�濮嬪贰妫�鍚楋紵", (confirmDialog, v1) -> {
                     chageInspecState(InspectionUtils.STAT_INSPECTION_ONCLICK);
                     confirmDialog.dismiss();
                 }).show();
@@ -521,33 +568,33 @@
 //                    }
                     // 璺宠浆鍒伴�夋嫨鐨勪綅缃�
                     mWebView.evaluateJavascript(
-                        String.format("javascript:setCenterAndZoom(\"%s\",\"%s\",\"17\")", 
-                        item.getLng(), 
-                        item.getLat()), 
-                        null
+                            String.format("javascript:setCenterAndZoom(\"%s\",\"%s\",\"17\")",
+                                    item.getLng(),
+                                    item.getLat()),
+                            null
                     );
                 });
-                
+
                 // 鎵ц鎼滅储
                 compositeDisposable.add(
-                    DaoSingleton.getAsynchInstance(requireContext())
-                        .divideDao()
-                        .searchAllByKeyword(s)
-                        .subscribeOn(Schedulers.io())
-                        .observeOn(AndroidSchedulers.mainThread())
-                        .subscribe(
-                            results -> {
-                                if (results != null && !results.isEmpty()) {
-                                    searchDialog.setData(results);
-                                    searchDialog.show();
-                                } else {
-                                    ToastUtil.showToast(requireContext(), "鏈壘鍒扮浉鍏崇粨鏋�");
-                                }
-                            },
-                            throwable -> {
-                                ToastUtil.showToast(requireContext(), "鎼滅储澶辫触锛�" + throwable.getMessage());
-                            }
-                        )
+                        DaoSingleton.getAsynchInstance(requireContext())
+                                .divideDao()
+                                .searchAllByKeyword(s)
+                                .subscribeOn(Schedulers.io())
+                                .observeOn(AndroidSchedulers.mainThread())
+                                .subscribe(
+                                        results -> {
+                                            if (results != null && !results.isEmpty()) {
+                                                searchDialog.setData(results);
+                                                searchDialog.show();
+                                            } else {
+                                                ToastUtil.showToast(requireContext(), "鏈壘鍒扮浉鍏崇粨鏋�");
+                                            }
+                                        },
+                                        throwable -> {
+                                            ToastUtil.showToast(requireContext(), "鎼滅储澶辫触锛�" + throwable.getMessage());
+                                        }
+                                )
                 );
             }
             return null;
@@ -844,7 +891,7 @@
                 boolean isfrist = true;
                 for (PipeNetworkDataCoordinateBean data : pipeNetworkBean.getData().getCoordinates()) {
                     if (!TextUtils.isEmpty(data.getLat()) && !TextUtils.isEmpty(data.getLng())) {
-                        mWebView.evaluateJavascript("javascript:addPipeNetwork(\"" + data.getLng() + "\",\"" + data.getLat() + "\",\"" + isfrist +  "\",\"" + isShowPipeNetwork +"\")", new ValueCallback<String>() {
+                        mWebView.evaluateJavascript("javascript:addPipeNetwork(\"" + data.getLng() + "\",\"" + data.getLat() + "\",\"" + isfrist + "\",\"" + isShowPipeNetwork + "\")", new ValueCallback<String>() {
                             @Override
                             public void onReceiveValue(String value) {
                             }

--
Gitblit v1.8.0