From 4f7f99c6ea914bcd38de78bd8371be566026b905 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期三, 26 二月 2025 15:54:14 +0800 Subject: [PATCH] -为按钮和列表项添加波纹效果,以获得更好的视觉反馈 -改进MapFragment中的底部布局动画 -在MapFragment中添加设备状态和RTU地址显示 -更新BaseListResult以支持泛型类型 -为设备数据添加IntakeListResult和IntakeResult -通过数据库支持增强标记位置更新功能 -添加电话拨号意图以分隔标记详细信息 -通过过期检查改进磁贴缓存 -添加问题报告的确认对话框 -更新登录活动以限制用户名长度 -为波纹效果和UI元素添加新颜色 -重构XML布局以使用新的波纹图 -改进MapFragment中的错误处理和用户反馈 --- app/src/main/java/com/dayu/pipirrapp/tool/InspectionUtils.java | 48 ++++++++++++++++++++++++++++-------------------- 1 files changed, 28 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/com/dayu/pipirrapp/tool/InspectionUtils.java b/app/src/main/java/com/dayu/pipirrapp/tool/InspectionUtils.java index add7b6f..0da7abd 100644 --- a/app/src/main/java/com/dayu/pipirrapp/tool/InspectionUtils.java +++ b/app/src/main/java/com/dayu/pipirrapp/tool/InspectionUtils.java @@ -21,14 +21,13 @@ import com.dayu.pipirrapp.net.BaseResponse; import com.dayu.pipirrapp.net.subscribers.SubscriberListener; import com.dayu.pipirrapp.utils.DateUtils; +import com.dayu.pipirrapp.utils.MyLog; import com.tencent.bugly.crashreport.CrashReport; import java.util.List; import java.util.UUID; import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; -import io.reactivex.rxjava3.functions.Action; -import io.reactivex.rxjava3.functions.Consumer; import io.reactivex.rxjava3.schedulers.Schedulers; /** @@ -56,16 +55,20 @@ * @param fragment * @return */ - public static String getInspectionId(MapFragment fragment) { + public static void getInspectionId(MapFragment fragment) { DaoSingleton.getAsynchInstance(fragment.getContext()).inspectionDao().getMostRecentInspectionWithNoStopTime() .subscribeOn(Schedulers.io()) .observeOn(Schedulers.io()).subscribe(inspectionBean -> { }); - return ""; } + /** + * 缁х画鏄剧ず寮傚父鍏抽棴涔嬪墠鐨勫贰妫�鍧愭爣 + * + * @param fragment + */ public static void aginShowLocation(MapFragment fragment) { //鏌ヨ褰撳墠鏈叧闂殑宸℃璁板綍 DaoSingleton.getAsynchInstance(fragment.getContext()).inspectionDao().getMostRecentInspectionWithNoStopTime() @@ -73,7 +76,7 @@ .observeOn(Schedulers.io()).subscribe(inspectionBean -> { fragment.mInspectionBean = inspectionBean; // 鏌ヨ褰撳墠鏈叧闂殑宸℃璁板綍涓嬫墍鏈夌殑鍧愭爣 - DaoSingleton.getAsynchInstance(fragment.getContext()).inspectionLocationDao().findByInspectId(inspectionBean.getmInspectId()).subscribeOn(Schedulers.io()) + DaoSingleton.getAsynchInstance(fragment.getContext()).inspectionLocationDao().findBymInspectId(inspectionBean.getmInspectId()).subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()).subscribe(inspectionLocationBeans -> { fragment.aginShowLocation(inspectionLocationBeans); }); @@ -139,17 +142,21 @@ .subscribe(strings -> { //寰幆鏌ヨ鎵�鏈塱d for (String data : strings) { - DaoSingleton.getAsynchInstance(context).inspectionDao().findBymInspectId(data) - .subscribeOn(Schedulers.io()) - .observeOn(Schedulers.io()) - .subscribe(inspectionBeans -> { - DaoSingleton.getAsynchInstance(context).inspectionLocationDao().findByNoPostAndInspectId(data) - .subscribeOn(Schedulers.io()) - .observeOn(Schedulers.io()) - .subscribe(inspectionLocationBeans -> { - postInspectionData(context, inspectionBeans, inspectionLocationBeans); - }); - }); + if (!TextUtils.isEmpty(data)) { + DaoSingleton.getAsynchInstance(context).inspectionDao().findBymInspectId(data) + .subscribeOn(Schedulers.io()) + .observeOn(Schedulers.io()) + .subscribe(inspectionBeans -> { + DaoSingleton.getAsynchInstance(context).inspectionLocationDao().findByNoPostAndInspectId(data) + .subscribeOn(Schedulers.io()) + .observeOn(Schedulers.io()) + .subscribe(inspectionLocationBeans -> { + if (inspectionLocationBeans != null && inspectionLocationBeans.size() > 0) { + postInspectionData(context, inspectionBeans, inspectionLocationBeans); + } + }); + }); + } } }); @@ -163,6 +170,7 @@ * @param inspectionLocationBeans */ private static void postInspectionData(Context context, InspectionBean inspectionBean, List<InspectionLocationBean> inspectionLocationBeans) { + MyLog.d("postInspectionData>>>涓婁紶鏈笂浼犳垚鍔熺殑鏁版嵁"); InspectionRequest inspectionRequest = new InspectionRequest(); inspectionRequest.setInspectId(inspectionBean.getInspectId()); inspectionRequest.setInspectorId(inspectionBean.getInspectorId()); @@ -182,19 +190,20 @@ public void onNext(BaseResponse<List<InsectionResult>> t) { try { if (t.isSuccess()) { + MyLog.d("postInspectionData>>>涓婁紶鏈笂浼犳垚鍔熺殑鏁版嵁銆嬨�嬨�嬨�嬫垚鍔�"); if (t.getContent() != null) { inspectionBean.setInspectId(String.valueOf(t.getContent().get(0).getInspectId())); InspectionUtils.upataInspectionData(context, inspectionBean); } DaoSingleton.getAsynchInstance(context).inspectionLocationDao().updataByInspectIdSetIsPost(inspectionBean.getmInspectId()).subscribeOn(Schedulers.io()).observeOn(Schedulers.io()).subscribe(() -> { // 鎻掑叆鎴愬姛鐨勫洖璋� - Log.d(TAG, "addInspectionLocationData鏁版嵁鎻掑叆鎴愬姛"); + Log.d(TAG, "updataByInspectIdSetIsPost鏁版嵁鎻掑叆鎴愬姛"); }, throwable -> { // 澶勭悊閿欒 - Log.e(TAG, "addInspectionLocationData鏁版嵁鎻掑叆澶辫触", throwable); + Log.e(TAG, "updataByInspectIdSetIsPost鏁版嵁鎻掑叆澶辫触", throwable); }); } else { - + MyLog.d("postInspectionData>>>涓婁紶鏈笂浼犳垚鍔熺殑鏁版嵁銆嬨�嬨�嬨�嬪け璐�"); } } catch (Exception e) { e.printStackTrace(); @@ -272,7 +281,6 @@ inspectionLocationBean.setmInspectId(mInspectionBean.getmInspectId()); inspectionLocationBean.setLocateTime(DateUtils.getNowDateStr()); inspectionLocationBean.setPost(false); - inspectionLocationBean.setLng(String.valueOf(latLonBean.getLongitude())); inspectionLocationBean.setLat(String.valueOf(latLonBean.getLatitude())); return inspectionLocationBean; -- Gitblit v1.8.0