fix bug https://github.com/AriaLyy/Aria/issues/283
fix bug https://github.com/AriaLyy/Aria/issues/305
现在,停止所有任务,未开始的任务状态将变为停止
优化停止任务的速度
This commit is contained in:
laoyuyu
2018-09-06 21:43:44 +08:00
parent 542ea8c42f
commit 652b53c837
22 changed files with 253 additions and 214 deletions

View File

@@ -18,6 +18,7 @@ package com.arialyy.aria.core.upload;
import android.os.Handler;
import android.os.Looper;
import com.arialyy.aria.core.inf.AbsNormalTask;
import com.arialyy.aria.core.inf.IUploadListener;
import com.arialyy.aria.core.scheduler.ISchedulers;
import com.arialyy.aria.core.upload.uploader.SimpleUploadUtil;
import com.arialyy.aria.util.ALog;
@@ -26,56 +27,23 @@ import com.arialyy.aria.util.ALog;
* Created by lyy on 2017/2/23.
* 上传任务
*/
public class UploadTask extends AbsNormalTask<UploadTaskEntity> {
private static final String TAG = "UploadTask";
private BaseUListener<UploadEntity, UploadTaskEntity, UploadTask> mListener;
public class UploadTask extends AbsNormalTask<UploadEntity, UploadTaskEntity> {
private UploadTask(UploadTaskEntity taskEntity, Handler outHandler) {
mTaskEntity = taskEntity;
mOutHandler = outHandler;
mListener = new BaseUListener<>(this, mOutHandler);
mUtil = new SimpleUploadUtil(taskEntity, mListener);
mUtil = new SimpleUploadUtil(taskEntity, (IUploadListener) mListener);
}
@Override public String getKey() {
return mTaskEntity.getEntity().getFilePath();
}
@Override public boolean isRunning() {
return mUtil.isRunning();
}
public UploadEntity getEntity() {
return mTaskEntity.getEntity();
}
@Override public void start() {
if (mUtil.isRunning()) {
ALog.d(TAG, "任务正在下载");
} else {
mUtil.start();
}
}
@Override public void stop() {
super.stop();
if (mUtil.isRunning()) {
mUtil.stop();
} else {
mListener.onStop(getCurrentProgress());
}
}
@Override public void cancel() {
super.cancel();
if (mUtil.isRunning()) {
mUtil.cancel();
} else {
mListener.onCancel();
}
}
@Override public String getTaskName() {
return mTaskEntity.getEntity().getFileName();
}