修复下载任务更新url失败的问题

This commit is contained in:
laoyuyu
2019-07-29 20:30:49 +08:00
parent 651db90b99
commit 9951f04bf6
5 changed files with 31 additions and 10 deletions

View File

@@ -35,11 +35,6 @@ class DNormalConfigHandler<TARGET extends AbsTarget> implements IConfigHandler {
private TARGET mTarget;
private DTaskWrapper mWrapper;
/**
* 资源地址
*/
private String mUrl;
/**
* @param taskId 第一次下载taskId为-1
*/
@@ -67,12 +62,13 @@ class DNormalConfigHandler<TARGET extends AbsTarget> implements IConfigHandler {
ALog.e(TAG, "url更新失败newUrl为null");
return mTarget;
}
if (mUrl.equals(newUrl)) {
if (mEntity.getUrl().equals(newUrl)) {
ALog.e(TAG, "url更新失败新的下载url和旧的url一致");
return mTarget;
}
getWrapper().setRefreshInfo(true);
getWrapper().setTempUrl(newUrl);
ALog.d(TAG, "更新url成功");
return mTarget;
}
@@ -81,7 +77,8 @@ class DNormalConfigHandler<TARGET extends AbsTarget> implements IConfigHandler {
}
@Override public boolean taskExists() {
return DbEntity.checkDataExist(DownloadEntity.class, "url=?", mUrl);
return DbEntity.checkDataExist(DownloadEntity.class, "rowid=?",
String.valueOf(mEntity.getId()));
}
@Override public boolean isRunning() {
@@ -93,7 +90,6 @@ class DNormalConfigHandler<TARGET extends AbsTarget> implements IConfigHandler {
}
void setUrl(String url) {
this.mUrl = url;
mEntity.setUrl(url);
}

View File

@@ -34,6 +34,15 @@ public class M3U8Delegate<TARGET extends AbsTarget> extends BaseDelegate<TARGET>
mTaskWrapper.setRequestType(AbsTaskWrapper.M3U8_VOD);
}
/**
* 生成m3u8索引文件只有{@link #merge(boolean)}设置为false才会有效
*/
@CheckResult(suggest = Suggest.TO_CONTROLLER)
public M3U8Delegate<TARGET> genetateIndexFile() {
mTaskWrapper.asM3U8().setGenerateIndexFile(true);
return this;
}
/**
* 是否合并ts文件默认合并ts
*

View File

@@ -98,6 +98,19 @@ public class M3U8TaskConfig {
*/
private int jumpIndex;
/**
* 生成索引
*/
private boolean generateIndexFile;
public boolean isGenerateIndexFile() {
return generateIndexFile;
}
public void setGenerateIndexFile(boolean generateIndexFile) {
this.generateIndexFile = generateIndexFile;
}
public int getJumpIndex() {
return jumpIndex;
}