From c91d4503a63013be3242120ae0ad9cd1b0b8127e Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期四, 12 十二月 2024 17:18:54 +0800
Subject: [PATCH] 优化定位服务相关代码

---
 app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java |   30 +++++++++++++++++-------------
 1 files changed, 17 insertions(+), 13 deletions(-)

diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java
index ba78e09..22792da 100644
--- a/app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java
+++ b/app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.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;
@@ -31,11 +30,11 @@
 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;
 import com.dayu.pipirrapp.utils.CommonKeyName;
+import com.dayu.pipirrapp.utils.ServiceUtils;
 import com.dayu.pipirrapp.utils.ToastUtil;
 import com.dayu.pipirrapp.view.TitleBar;
 import com.jeremyliao.liveeventbus.LiveEventBus;
@@ -84,7 +83,7 @@
     /**
      * 瀹氫綅鐩戝惉
      */
-    private Observer<Object> locationObserver = new Observer<Object>() {
+    private final Observer<Object> locationObserver = new Observer<Object>() {
         @Override
         public void onChanged(Object o) {
             latLonBean = (LatLonBean) o;
@@ -228,6 +227,7 @@
             existingPaths.add(uplodData.getFilePath());
         }
         //鑾峰彇鍦≒ictureSelector鐨勭浉鍐屾椂鍙栨秷閫変腑鐨勫浘鐗�
+        Set<String> resultPaths = new HashSet<>();
 
         for (LocalMedia media : result) {
             if (media.getWidth() == 0 || media.getHeight() == 0) {
@@ -266,8 +266,19 @@
                 // 鎵ц涓婁紶鍥剧墖鐨勬搷浣�
                 uplodeImg(uplodFileState);
             }
-
-
+            resultPaths.add(media.getCompressPath());
+        }
+        //澶勭悊浠庣浉鍐岃繑鍥炴椂鍙栨秷鐨勫浘鐗囧鐞�
+        existingPaths.removeAll(resultPaths);
+        if (!existingPaths.isEmpty()) {
+            for (String path : existingPaths) {
+                for (UplodFileState uplodFileState : uplodFileStates) {
+                    if (path.equals(uplodFileState.getFilePath())) {
+                        uplodFileState.getThisCall().cancel();
+                        uplodFileStates.remove(uplodFileState);
+                    }
+                }
+            }
         }
         runOnUiThread(new Runnable() {
             @Override
@@ -340,14 +351,7 @@
      * 寮�濮嬪畾浣嶇浉鍏抽�昏緫
      */
     private void startLocation() {
-        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