From 6a44973461e2a91f62f7eed681b4db3abb026289 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期二, 24 十二月 2024 16:52:23 +0800
Subject: [PATCH] 1.优化地图相关代码,提高运行效率和可读性。 2.添加修改密码功能。 3.优化列表和详情页展示。
---
app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java | 51 +++++++++++++++++++++++++++------------------------
1 files changed, 27 insertions(+), 24 deletions(-)
diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java
index 5b27f2b..ffc7a1c 100644
--- a/app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java
+++ b/app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java
@@ -4,7 +4,6 @@
import android.content.Context;
import android.content.Intent;
-import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
@@ -30,7 +29,6 @@
import com.dayu.pipirrapp.net.BaseResponse;
import com.dayu.pipirrapp.net.subscribers.SubscriberListener;
import com.dayu.pipirrapp.net.upload.UploadFileListener;
-import com.dayu.pipirrapp.service.MyLocationService;
import com.dayu.pipirrapp.tool.FullyGridLayoutManager;
import com.dayu.pipirrapp.tool.GlideEngine;
import com.dayu.pipirrapp.tool.ImageFileCompressEngine;
@@ -227,10 +225,13 @@
* @param result
*/
private void analyticalSelectResults(ArrayList<LocalMedia> result) {
+ //鑾峰彇褰撳墠uplodFileStates鎵�鏈夌殑鍥剧墖鍦板潃
Set<String> existingPaths = new HashSet<>();
for (UplodFileState uplodData : uplodFileStates) {
existingPaths.add(uplodData.getFilePath());
}
+ //鑾峰彇鍦≒ictureSelector鐨勭浉鍐屾椂鍙栨秷閫変腑鐨勫浘鐗�
+ Set<String> resultPaths = new HashSet<>();
for (LocalMedia media : result) {
if (media.getWidth() == 0 || media.getHeight() == 0) {
if (PictureMimeType.isHasImage(media.getMimeType())) {
@@ -269,20 +270,31 @@
uplodeImg(uplodFileState);
}
-
+ resultPaths.add(media.getCompressPath());
}
- runOnUiThread(new Runnable() {
- @Override
- public void run() {
- boolean isMaxSize = result.size() == mAdapter.getSelectMax();
- int oldSize = mAdapter.getData().size();
- mAdapter.notifyItemRangeRemoved(0, isMaxSize ? oldSize + 1 : oldSize);
- mAdapter.getData().clear();
-
- mAdapter.getData().addAll(result);
- mAdapter.notifyItemRangeInserted(0, result.size());
-
+ //澶勭悊浠庣浉鍐岃繑鍥炴椂鍙栨秷鐨勫浘鐗囧鐞�
+ existingPaths.removeAll(resultPaths);
+ if (!existingPaths.isEmpty()) {
+ List<UplodFileState> toRemove = new ArrayList<>();
+ for (String path : existingPaths) {
+ for (UplodFileState uplodFileState : uplodFileStates) {
+ if (path.equals(uplodFileState.getFilePath())) {
+ uplodFileState.getThisCall().cancel();
+ toRemove.add(uplodFileState);
+ }
+ }
}
+ uplodFileStates.removeAll(toRemove);
+ }
+ runOnUiThread(() -> {
+ boolean isMaxSize = result.size() == mAdapter.getSelectMax();
+ int oldSize = mAdapter.getData().size();
+ mAdapter.notifyItemRangeRemoved(0, isMaxSize ? oldSize + 1 : oldSize);
+ mAdapter.getData().clear();
+
+ mAdapter.getData().addAll(result);
+ mAdapter.notifyItemRangeInserted(0, result.size());
+
});
}
@@ -343,16 +355,7 @@
* 寮�濮嬪畾浣嶇浉鍏抽�昏緫
*/
private void startLocation() {
- if (!ServiceUtils.isServiceRunning(this, MyLocationService.class)) {
- Intent location = new Intent(this, MyLocationService.class);
- location.putExtra("isSingle", true);
- //寮�鍚畾浣�
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
- startForegroundService(location);
- } else {
- startService(location);
- }
- }
+ ServiceUtils.startLocationService(this,true);
//鑾峰彇瀹氫綅鏈嶅姟浼犺繃鏉ョ殑鍧愭爣鐐�
LiveEventBus.get(CommonKeyName.locationData).observeForever(locationObserver);
}
--
Gitblit v1.8.0