修复进度有时错乱问题,task类优化 https://github.com/AriaLyy/Aria/issues/134

This commit is contained in:
AriaLyy
2017-10-12 22:39:12 +08:00
parent 506f8913b2
commit 95fe03cc63
60 changed files with 436 additions and 242 deletions

View File

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

View File

@@ -15,7 +15,7 @@
*/
package com.arialyy.aria.core.upload;
import com.arialyy.aria.core.inf.AbsTaskEntity;
import com.arialyy.aria.core.inf.AbsNormalTaskEntity;
import com.arialyy.aria.orm.OneToOne;
import java.util.HashMap;
import java.util.Map;
@@ -24,7 +24,7 @@ import java.util.Map;
* Created by lyy on 2017/2/9.
* 上传任务实体
*/
public class UploadTaskEntity extends AbsTaskEntity<UploadEntity> {
public class UploadTaskEntity extends AbsNormalTaskEntity<UploadEntity> {
public String attachment; //文件上传需要的key
public String contentType = "multipart/form-data"; //上传的文件类型
public String userAgent = "User-Agent";