增加组任务中单个任务下载失败后,最终组任务回调stop/fail设置

pull/633/head
DaveBoy1994 5 years ago
parent 14901d4c0c
commit 41088dfa23
  1. 15
      PublicComponent/src/main/java/com/arialyy/aria/core/config/DGroupConfig.java
  2. 4
      PublicComponent/src/main/java/com/arialyy/aria/core/config/XMLReader.java
  3. 3
      PublicComponent/src/main/java/com/arialyy/aria/core/group/SimpleSchedulers.java
  4. 3
      app/src/main/assets/aria_config.xml

@ -31,6 +31,11 @@ public class DGroupConfig extends BaseTaskConfig implements Serializable {
*/
int subMaxTaskNum = 3;
/**
* 子任务失败时回调stop默认true
*/
private boolean subFailAsStop = true;
/**
* 子任务重试次数默认为5
*/
@ -118,4 +123,14 @@ public class DGroupConfig extends BaseTaskConfig implements Serializable {
save();
return this;
}
public boolean isSubFailAsStop() {
return subFailAsStop;
}
public DGroupConfig setSubFailAsStop(boolean subFailAsStop) {
this.subFailAsStop = subFailAsStop;
save();
return this;
}
}

@ -144,6 +144,10 @@ public class XMLReader extends DefaultHandler {
int subMaxTaskNum = checkInt(value) ? Integer.parseInt(value) : 3;
setField("subMaxTaskNum", subMaxTaskNum, ConfigType.D_GROUP);
break;
case "subFailAsStop": // 子任务失败时回调stop
setField("subFailAsStop", checkBoolean(value) ? Boolean.valueOf(value) : false,
ConfigType.D_GROUP);
break;
case "subReTryNum": // 子任务重试次数
int subReTryNum = checkInt(value) ? Integer.parseInt(value) : 5;
setField("subReTryNum", subReTryNum, ConfigType.D_GROUP);

@ -179,6 +179,9 @@ final class SimpleSchedulers implements Handler.Callback {
== mGState.getSubSize()) {
if (mGState.getStopNum() == 0 && mGState.getFailNum() == 0) {
mGState.listener.onComplete();
} else if(mGState.getStopNum() == 0&&!Configuration.getInstance().dGroupCfg.isSubFailAsStop() ){
mGState.listener.onFail(false, new AriaException(TAG,
String.format("任务组【%s】下载失败", mGState.getGroupHash())));
} else {
mGState.listener.onStop(mGState.getProgress());
}

@ -126,7 +126,8 @@
<!--进度更新更新间隔,默认1000毫秒-->
<updateInterval value="1000"/>
<!--子任务失败时组任务回调stop,默认true false将回调fail-->
<subFailAsStop value="true"/>
<!-- =============================以下为子任务的配置====================================-->

Loading…
Cancel
Save