From 4d9a8870761c6e60162bf1333de0b7f871103274 Mon Sep 17 00:00:00 2001 From: mxm <1130198893@qq.com> Date: Fri, 24 Apr 2020 16:54:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=90=E4=BB=BB=E5=8A=A1=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/loader/GroupSubThreadStateManager.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/PublicComponent/src/main/java/com/arialyy/aria/core/loader/GroupSubThreadStateManager.java b/PublicComponent/src/main/java/com/arialyy/aria/core/loader/GroupSubThreadStateManager.java index 97c86a4d..9fbaa0ad 100644 --- a/PublicComponent/src/main/java/com/arialyy/aria/core/loader/GroupSubThreadStateManager.java +++ b/PublicComponent/src/main/java/com/arialyy/aria/core/loader/GroupSubThreadStateManager.java @@ -22,6 +22,8 @@ import android.os.Message; import com.arialyy.aria.core.TaskRecord; import com.arialyy.aria.core.inf.IThreadStateManager; +import com.arialyy.aria.core.listener.IEventListener; +import com.arialyy.aria.exception.AriaException; import com.arialyy.aria.util.ALog; import com.arialyy.aria.util.CommonUtil; import com.arialyy.aria.util.FileUtil; @@ -53,7 +55,7 @@ public class GroupSubThreadStateManager implements IThreadStateManager { /** * @param handler 任务事件 */ - public GroupSubThreadStateManager(Handler handler, String key) { + public GroupSubThreadStateManager(Handler handler,String key) { mHandler = handler; mKey = key; } @@ -101,7 +103,7 @@ public class GroupSubThreadStateManager implements IThreadStateManager { (AriaException) b.getSerializable(DATA_ERROR_INFO));*/ quitLooper(); } - sendMessageFromMsg(msg); + //sendMessageFromMsg(msg); break; case STATE_COMPLETE: mCompleteNum.getAndIncrement(); @@ -131,6 +133,9 @@ public class GroupSubThreadStateManager implements IThreadStateManager { //mListener.onComplete(); } quitLooper(); + }else if (isFail()) { + sendMessageFromMsg(msg); + quitLooper(); } break; case STATE_RUNNING: @@ -210,7 +215,7 @@ public class GroupSubThreadStateManager implements IThreadStateManager { // String.format("isFail; stopNum: %s, cancelNum: %s, failNum: %s, completeNum: %s", mStopNum, // mCancelNum, mFailNum, mCompleteNum)); return mCompleteNum.get() != mThreadNum - && (mFailNum.get() == mThreadNum || mFailNum.get() + mCompleteNum.get() == mThreadNum); + && (mFailNum.get() == mThreadNum || mFailNum.get() + mCompleteNum.get() == mThreadNum); } /** @@ -292,7 +297,7 @@ public class GroupSubThreadStateManager implements IThreadStateManager { File targetFile = new File(mTaskRecord.filePath); if (targetFile.exists() && targetFile.length() > mTaskRecord.fileLength) { ALog.e(TAG, String.format("任务【%s】分块文件合并失败,下载长度超出文件真实长度,downloadLen: %s,fileSize: %s", - targetFile.getName(), targetFile.length(), mTaskRecord.fileLength)); + targetFile.getName(), targetFile.length(), mTaskRecord.fileLength)); return false; } return true;