Merge branch 'v_2.0' of https://github.com/AriaLyy/Aria into v_2.0
This commit is contained in:
@ -33,9 +33,9 @@ import com.arialyy.aria.util.Configuration;
|
|||||||
* 下载任务队列
|
* 下载任务队列
|
||||||
*/
|
*/
|
||||||
public class DownloadTaskQueue implements ITaskQueue {
|
public class DownloadTaskQueue implements ITaskQueue {
|
||||||
private static final String TAG = "DownloadTaskQueue";
|
private static final String TAG = "DownloadTaskQueue";
|
||||||
private CachePool mCachePool = CachePool.getInstance();
|
private CachePool mCachePool = CachePool.getInstance();
|
||||||
private ExecutePool mExecutePool = ExecutePool.getInstance();
|
private ExecutePool mExecutePool = ExecutePool.getInstance();
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
//private IDownloadSchedulers mSchedulers;
|
//private IDownloadSchedulers mSchedulers;
|
||||||
|
|
||||||
@ -171,13 +171,10 @@ public class DownloadTaskQueue implements ITaskQueue {
|
|||||||
Task task = mExecutePool.getTask(entity.getDownloadUrl());
|
Task task = mExecutePool.getTask(entity.getDownloadUrl());
|
||||||
if (task != null) {
|
if (task != null) {
|
||||||
Log.d(TAG, "从执行池删除任务,删除" + (mExecutePool.removeTask(task) ? "成功" : "失败"));
|
Log.d(TAG, "从执行池删除任务,删除" + (mExecutePool.removeTask(task) ? "成功" : "失败"));
|
||||||
} else {
|
|
||||||
task = mCachePool.getTask(entity.getDownloadUrl());
|
|
||||||
}
|
}
|
||||||
|
task = mCachePool.getTask(entity.getDownloadUrl());
|
||||||
if (task != null) {
|
if (task != null) {
|
||||||
Log.d(TAG, "从缓存池删除任务,删除" + (mCachePool.removeTask(task) ? "成功" : "失败"));
|
Log.d(TAG, "从缓存池删除任务,删除" + (mCachePool.removeTask(task) ? "成功" : "失败"));
|
||||||
} else {
|
|
||||||
Log.w(TAG, "没有找到下载链接为【" + entity.getDownloadUrl() + "】的任务");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -121,15 +121,16 @@ public class DownloadSchedulers implements IDownloadSchedulers {
|
|||||||
case STOP:
|
case STOP:
|
||||||
case CANCEL:
|
case CANCEL:
|
||||||
mQueue.removeTask(entity);
|
mQueue.removeTask(entity);
|
||||||
mQueue.removeTask(entity);
|
if (mQueue.size() < Configuration.getInstance().getDownloadNum()) {
|
||||||
if (mQueue.size() != Configuration.getInstance().getDownloadNum()) {
|
|
||||||
startNextTask(entity);
|
startNextTask(entity);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case COMPLETE:
|
case COMPLETE:
|
||||||
|
mQueue.removeTask(entity);
|
||||||
startNextTask(entity);
|
startNextTask(entity);
|
||||||
break;
|
break;
|
||||||
case FAIL:
|
case FAIL:
|
||||||
|
mQueue.removeTask(entity);
|
||||||
handleFailTask(entity);
|
handleFailTask(entity);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -223,7 +224,6 @@ public class DownloadSchedulers implements IDownloadSchedulers {
|
|||||||
* @param entity 通过Handler传递的下载实体
|
* @param entity 通过Handler传递的下载实体
|
||||||
*/
|
*/
|
||||||
@Override public void startNextTask(DownloadEntity entity) {
|
@Override public void startNextTask(DownloadEntity entity) {
|
||||||
mQueue.removeTask(entity);
|
|
||||||
Task newTask = mQueue.getNextTask();
|
Task newTask = mQueue.getNextTask();
|
||||||
if (newTask == null) {
|
if (newTask == null) {
|
||||||
Log.w(TAG, "没有下一任务");
|
Log.w(TAG, "没有下一任务");
|
||||||
|
Reference in New Issue
Block a user