From 94c235c116ebca594662417b5fb2c7378f326c6b Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期三, 08 一月 2025 18:12:31 +0800
Subject: [PATCH] 1.优化上传相关代码。 2.修复多个文件上传时进度条显示异常。

---
 app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java b/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java
index 7e5671c..742f9d3 100644
--- a/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java
+++ b/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java
@@ -63,6 +63,7 @@
     //鏂囦欢涓婁紶澶辫触閲嶅娆℃暟
     int uplodFilerepeatSize = 3;
 
+
     ApiService apiService;
     // 绠$悊璁㈤槄浜嬩欢
     private final CompositeDisposable compositeDisposable = new CompositeDisposable();
@@ -302,7 +303,7 @@
     public void uploadFile(final Context context, final UplodFileState uplodData, final UploadFileListener listener, final AddPictureAdapter adapter) {
 
         if (!TextUtils.isEmpty(uplodData.getFilePath())) {
-            MyLog.d("progressRequestBody>>>" + "path:" + uplodData.getFilePath()+">>>uploadType:"+uplodData.getUploadType());
+            MyLog.d("progressRequestBody_uploadFile>>>" + "path:" + uplodData.getFilePath() + ">>>uploadType:" + uplodData.getUploadType());
             uplodData.setState(STATE_UPDING);
             File file = new File(uplodData.getFilePath());
             RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);
@@ -312,12 +313,15 @@
                 int progress = (int) (100 * bytesWritten / contentLength);
                 // 渚嬪锛氭洿鏂� ProgressBar 鎴栨樉绀鸿繘搴�
                 runOnUiThread(() -> {
-                    uplodData.setProgress(progress);
                     // 杩涘害鏉℃洿鏂颁唬鐮�
                     if (adapter != null && uplodData.getAdapterPosition() != -1) {
-                        adapter.updateProgress(uplodData);
+                        //浼樺寲涓嶉绻佹洿鏂拌繘搴�
+                        if (progress - uplodData.getProgress() > 5 || progress == 100){
+                            uplodData.setProgress(progress);
+                            adapter.updateProgress(uplodData);
+                        }
                     }
-                    MyLog.d("progressRequestBody>>>" + "adapterPosition:" + uplodData.getAdapterPosition() + ">>>涓婁紶杩涘害: " + progress + "%");
+                    MyLog.d("progressRequestBodyHolder>>>path" + "adapterPosition:" + uplodData.getAdapterPosition() + ">>>涓婁紶杩涘害: " + progress + "%");
                 });
 
             });

--
Gitblit v1.8.0