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