|
|
|
@ -130,8 +130,7 @@ public class DownloadSchedulers implements IDownloadSchedulers { |
|
|
|
|
startNextTask(entity); |
|
|
|
|
break; |
|
|
|
|
case FAIL: |
|
|
|
|
mQueue.removeTask(entity); |
|
|
|
|
handleFailTask(entity); |
|
|
|
|
handleFailTask(task); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
return true; |
|
|
|
@ -192,9 +191,9 @@ public class DownloadSchedulers implements IDownloadSchedulers { |
|
|
|
|
/** |
|
|
|
|
* 处理下载任务下载失败的情形 |
|
|
|
|
* |
|
|
|
|
* @param entity 失败实体 |
|
|
|
|
* @param task 下载任务 |
|
|
|
|
*/ |
|
|
|
|
@Override public void handleFailTask(final DownloadEntity entity) { |
|
|
|
|
@Override public void handleFailTask(final Task task) { |
|
|
|
|
final Configuration config = Configuration.getInstance(); |
|
|
|
|
CountDownTimer timer = new CountDownTimer(config.getReTryInterval(), 1000) { |
|
|
|
|
@Override public void onTick(long millisUntilFinished) { |
|
|
|
@ -202,6 +201,7 @@ public class DownloadSchedulers implements IDownloadSchedulers { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override public void onFinish() { |
|
|
|
|
DownloadEntity entity = task.getDownloadEntity(); |
|
|
|
|
if (entity.getFailNum() <= config.getReTryNum()) { |
|
|
|
|
Task task = mQueue.getTask(entity); |
|
|
|
|
mQueue.reTryStart(task); |
|
|
|
@ -211,6 +211,7 @@ public class DownloadSchedulers implements IDownloadSchedulers { |
|
|
|
|
e.printStackTrace(); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
mQueue.removeTask(entity); |
|
|
|
|
startNextTask(entity); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|