From 2fb397e4a31d14880ed2524f898ae67a0d664c06 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期二, 17 十二月 2024 11:24:29 +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