fix bug https://github.com/AriaLyy/Aria/issues/283 fix bug https://github.com/AriaLyy/Aria/issues/305 现在,停止所有任务,未开始的任务状态将变为停止 优化停止任务的速度
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user