Skip to content
Permalink
Browse files

修复任务记录删除失败的问题

优化网络连接状态获取的逻辑
修复配置文件的某些配置失效的问题
新增m3u8切片状态注解`@M3U8.onPeerStart`,`@M3U8.onPeerComplete`,`@M3U8.onPeerFail`
新增动态指定m3u8协议视频的下载功能(边下边播)
  • Loading branch information...
AriaLyy committed Jul 5, 2019
1 parent 060b1f1 commit b0818537f2a69e54d8c5f1ed0667ed3b263de155
Showing with 2,486 additions and 1,193 deletions.
  1. +17 −17 .github/ISSUE_TEMPLATE/Custom.md
  2. +7 −36 Aria/src/main/java/com/arialyy/aria/core/AriaManager.java
  3. +2 −3 Aria/src/main/java/com/arialyy/aria/core/command/{group → }/AbsGroupCmd.java
  4. +11 −15 Aria/src/main/java/com/arialyy/aria/core/command/{normal → }/AbsNormalCmd.java
  5. +2 −2 Aria/src/main/java/com/arialyy/aria/core/command/{normal → }/AddCmd.java
  6. +9 −6 Aria/src/main/java/com/arialyy/aria/core/command/{normal → }/CancelAllCmd.java
  7. +2 −2 Aria/src/main/java/com/arialyy/aria/core/command/{normal → }/CancelCmd.java
  8. +131 −0 Aria/src/main/java/com/arialyy/aria/core/command/CommandManager.java
  9. +5 −4 Aria/src/main/java/com/arialyy/aria/core/command/{group/GroupStartCmd.java → DGSubStartCmd.java}
  10. +4 −4 Aria/src/main/java/com/arialyy/aria/core/command/{group/GroupStopCmd.java → DGSubStopCmd.java}
  11. +4 −6 Aria/src/main/java/com/arialyy/aria/core/command/{group → }/GroupCmdFactory.java
  12. +1 −1 Aria/src/main/java/com/arialyy/aria/core/command/{normal → }/HighestPriorityCmd.java
  13. +2 −5 Aria/src/main/java/com/arialyy/aria/core/command/{normal → }/NormalCmdFactory.java
  14. +2 −2 Aria/src/main/java/com/arialyy/aria/core/command/{normal → }/ReStartCmd.java
  15. +1 −1 Aria/src/main/java/com/arialyy/aria/core/command/{normal → }/ResumeAllCmd.java
  16. +4 −5 Aria/src/main/java/com/arialyy/aria/core/command/{normal → }/StartCmd.java
  17. +1 −1 Aria/src/main/java/com/arialyy/aria/core/command/{normal → }/StopAllCmd.java
  18. +2 −3 Aria/src/main/java/com/arialyy/aria/core/command/{normal → }/StopCmd.java
  19. +24 −13 Aria/src/main/java/com/arialyy/aria/core/common/AbsFileer.java
  20. +37 −11 Aria/src/main/java/com/arialyy/aria/core/common/AbsThreadTask.java
  21. +4 −2 Aria/src/main/java/com/arialyy/aria/core/common/BaseListener.java
  22. +0 −14 Aria/src/main/java/com/arialyy/aria/core/common/IThreadState.java
  23. +0 −7 Aria/src/main/java/com/arialyy/aria/core/common/IUtil.java
  24. +10 −2 Aria/src/main/java/com/arialyy/aria/core/common/NormalFileer.java
  25. +32 −81 Aria/src/main/java/com/arialyy/aria/core/common/ProxyHelper.java
  26. +2 −0 Aria/src/main/java/com/arialyy/aria/core/common/SubThreadConfig.java
  27. +0 −6 Aria/src/main/java/com/arialyy/aria/core/common/ThreadStateManager.java
  28. +4 −3 Aria/src/main/java/com/arialyy/aria/core/common/ftp/FtpTaskConfig.java
  29. +2 −4 Aria/src/main/java/com/arialyy/aria/core/common/ftp/IFtpUploadInterceptor.java
  30. +4 −3 Aria/src/main/java/com/arialyy/aria/core/common/http/HttpTaskConfig.java
  31. +3 −1 Aria/src/main/java/com/arialyy/aria/core/config/DGroupConfig.java
  32. +3 −1 Aria/src/main/java/com/arialyy/aria/core/config/DownloadConfig.java
  33. +3 −1 Aria/src/main/java/com/arialyy/aria/core/config/UploadConfig.java
  34. +5 −7 Aria/src/main/java/com/arialyy/aria/core/download/AbsDTarget.java
  35. +6 −6 Aria/src/main/java/com/arialyy/aria/core/download/DNormalConfigHandler.java
  36. +18 −17 Aria/src/main/java/com/arialyy/aria/core/download/DownloadReceiver.java
  37. +9 −3 Aria/src/main/java/com/arialyy/aria/core/download/DownloadTask.java
  38. +75 −0 Aria/src/main/java/com/arialyy/aria/core/download/M3U8Listener.java
  39. +7 −0 Aria/src/main/java/com/arialyy/aria/core/download/downloader/Downloader.java
  40. +2 −0 Aria/src/main/java/com/arialyy/aria/core/download/downloader/FtpThreadTask.java
  41. +1 −1 Aria/src/main/java/com/arialyy/aria/core/download/downloader/HttpFileInfoThread.java
  42. +2 −0 Aria/src/main/java/com/arialyy/aria/core/download/downloader/HttpThreadTask.java
  43. +1 −4 Aria/src/main/java/com/arialyy/aria/core/download/downloader/SimpleDownloadUtil.java
  44. +1 −12 Aria/src/main/java/com/arialyy/aria/core/download/group/AbsGroupUtil.java
  45. +0 −6 Aria/src/main/java/com/arialyy/aria/core/download/group/SubDownloadLoader.java
  46. +1 −1 Aria/src/main/java/com/arialyy/aria/core/download/m3u8/BaseM3U8Loader.java
  47. +2 −4 Aria/src/main/java/com/arialyy/aria/core/download/m3u8/IBandWidthUrlConverter.java
  48. +2 −4 Aria/src/main/java/com/arialyy/aria/core/download/m3u8/ILiveTsUrlConverter.java
  49. +2 −4 Aria/src/main/java/com/arialyy/aria/core/download/m3u8/ITsMergeHandler.java
  50. +2 −4 Aria/src/main/java/com/arialyy/aria/core/download/m3u8/IVodTsUrlConverter.java
  51. +96 −0 Aria/src/main/java/com/arialyy/aria/core/download/m3u8/M3U8Entity.java
  52. +4 −2 Aria/src/main/java/com/arialyy/aria/core/download/m3u8/M3U8InfoThread.java
  53. +2 −16 Aria/src/main/java/com/arialyy/aria/core/download/m3u8/M3U8LiveLoader.java
  54. +0 −4 Aria/src/main/java/com/arialyy/aria/core/download/m3u8/M3U8LiveUtil.java
  55. +28 −16 Aria/src/main/java/com/arialyy/aria/core/download/m3u8/M3U8TaskConfig.java
  56. +2 −6 Aria/src/main/java/com/arialyy/aria/core/download/m3u8/M3U8ThreadTask.java
  57. +47 −0 Aria/src/main/java/com/arialyy/aria/core/download/m3u8/M3U8VodDelegate.java
  58. +407 −89 Aria/src/main/java/com/arialyy/aria/core/download/m3u8/M3U8VodLoader.java
  59. +12 −8 Aria/src/main/java/com/arialyy/aria/core/download/m3u8/M3U8VodUtil.java
  60. +30 −0 Aria/src/main/java/com/arialyy/aria/core/event/Event.java
  61. +10 −7 ...va/com/arialyy/aria/core/{scheduler/IDownloadSchedulerListener.java → event/EventMethodInfo.java}
  62. +153 −0 Aria/src/main/java/com/arialyy/aria/core/event/EventMsgUtil.java
  63. +27 −0 Aria/src/main/java/com/arialyy/aria/core/event/PeerIndexEvent.java
  64. +25 −0 Aria/src/main/java/com/arialyy/aria/core/event/SpeedEvent.java
  65. +30 −43 Aria/src/main/java/com/arialyy/aria/core/inf/AbsTarget.java
  66. +2 −22 Aria/src/main/java/com/arialyy/aria/core/inf/AbsTask.java
  67. +2 −4 Aria/src/main/java/com/arialyy/aria/core/inf/IHttpFileLenAdapter.java
  68. +5 −1 Aria/src/main/java/com/arialyy/aria/core/inf/ITask.java
  69. +3 −3 Aria/src/main/java/com/arialyy/aria/core/manager/DTaskWrapperFactory.java
  70. +8 −10 Aria/src/main/java/com/arialyy/aria/core/manager/SubTaskManager.java
  71. +8 −7 Aria/src/main/java/com/arialyy/aria/core/manager/ThreadTaskManager.java
  72. +15 −18 Aria/src/main/java/com/arialyy/aria/core/queue/AbsTaskQueue.java
  73. +1 −1 Aria/src/main/java/com/arialyy/aria/core/queue/DownloadGroupTaskQueue.java
  74. +1 −1 Aria/src/main/java/com/arialyy/aria/core/queue/DownloadTaskQueue.java
  75. +1 −2 Aria/src/main/java/com/arialyy/aria/core/queue/TaskFactory.java
  76. +1 −1 Aria/src/main/java/com/arialyy/aria/core/queue/UploadTaskQueue.java
  77. +6 −6 Aria/src/main/java/com/arialyy/aria/core/queue/pool/BaseCachePool.java
  78. +9 −8 Aria/src/main/java/com/arialyy/aria/core/queue/pool/BaseExecutePool.java
  79. +1 −1 Aria/src/main/java/com/arialyy/aria/core/queue/pool/DownloadExecutePool.java
  80. +1 −3 Aria/src/main/java/com/arialyy/aria/core/queue/pool/DownloadSharePool.java
  81. +1 −3 Aria/src/main/java/com/arialyy/aria/core/queue/pool/UploadSharePool.java
  82. +118 −31 Aria/src/main/java/com/arialyy/aria/core/scheduler/AbsSchedulers.java
  83. +1 −6 Aria/src/main/java/com/arialyy/aria/core/scheduler/DownloadGroupSchedulers.java
  84. +2 −7 Aria/src/main/java/com/arialyy/aria/core/scheduler/DownloadSchedulers.java
  85. +2 −61 Aria/src/main/java/com/arialyy/aria/core/scheduler/ISchedulerListener.java
  86. +32 −2 Aria/src/main/java/com/arialyy/aria/core/scheduler/ISchedulers.java
  87. +36 −0 Aria/src/main/java/com/arialyy/aria/core/scheduler/M3U8PeerTaskListener.java
  88. +116 −0 Aria/src/main/java/com/arialyy/aria/core/scheduler/NormalTaskListener.java
  89. +8 −51 .../src/main/java/com/arialyy/aria/core/scheduler/{AbsSchedulerListener.java → SubTaskListener.java}
  90. +1 −6 Aria/src/main/java/com/arialyy/aria/core/scheduler/UploadSchedulers.java
  91. +10 −9 Aria/src/main/java/com/arialyy/aria/core/upload/UploadReceiver.java
  92. +2 −1 Aria/src/main/java/com/arialyy/aria/core/upload/uploader/FtpThreadTask.java
  93. +2 −0 Aria/src/main/java/com/arialyy/aria/core/upload/uploader/HttpThreadTask.java
  94. +9 −5 Aria/src/main/java/com/arialyy/aria/core/upload/uploader/SimpleUploadUtil.java
  95. +7 −0 Aria/src/main/java/com/arialyy/aria/core/upload/uploader/Uploader.java
  96. +3 −1 Aria/src/main/java/com/arialyy/aria/orm/DBConfig.java
  97. +3 −1 Aria/src/main/java/com/arialyy/aria/orm/SqlHelper.java
  98. +1 −1 Aria/src/main/java/com/arialyy/aria/util/BufferedRandomAccessFile.java
  99. +21 −7 Aria/src/main/java/com/arialyy/aria/util/CommonUtil.java
  100. +6 −11 Aria/src/main/java/com/arialyy/aria/util/RecordUtil.java
  101. +0 −2 AriaAnnotations/src/main/java/com/arialyy/annotations/Download.java
  102. +0 −3 AriaAnnotations/src/main/java/com/arialyy/annotations/DownloadGroup.java
  103. +57 −0 AriaAnnotations/src/main/java/com/arialyy/annotations/M3U8.java
  104. +48 −0 AriaAnnotations/src/main/java/com/arialyy/annotations/TaskEnum.java
  105. +0 −2 AriaAnnotations/src/main/java/com/arialyy/annotations/Upload.java
  106. +6 −0 AriaCompiler/src/main/java/com/arialyy/compiler/AriaProcessor.java
  107. +0 −129 AriaCompiler/src/main/java/com/arialyy/compiler/CountFiler.java
  108. +15 −2 AriaCompiler/src/main/java/com/arialyy/compiler/ElementHandler.java
  109. +44 −0 AriaCompiler/src/main/java/com/arialyy/compiler/EntityInfo.java
  110. +69 −58 AriaCompiler/src/main/java/com/arialyy/compiler/EventProxyFiler.java
  111. +76 −48 AriaCompiler/src/main/java/com/arialyy/compiler/ParamObtainUtil.java
  112. +2 −1 AriaCompiler/src/main/java/com/arialyy/compiler/ProxyClassParam.java
  113. +0 −24 AriaCompiler/src/main/java/com/arialyy/compiler/ProxyConstance.java
  114. +0 −56 AriaCompiler/src/main/java/com/arialyy/compiler/TaskEnum.java
  115. +21 −0 AriaCompiler/src/main/java/com/arialyy/compiler/ValuesUtil.java
  116. +3 −1 DEV_LOG.md
  117. +14 −2 app/build.gradle
  118. BIN app/lyy.keystore
  119. +3 −2 app/src/main/AndroidManifest.xml
  120. +1 −1 app/src/main/assets/help_code/KotlinHttpDownload.kt
  121. +4 −4 app/src/main/java/com/arialyy/simple/MainActivity.java
  122. +9 −12 app/src/main/java/com/arialyy/simple/base/BaseApplication.java
  123. +0 −9 app/src/main/java/com/arialyy/simple/core/download/KotlinDownloadActivity.kt
  124. +1 −0 app/src/main/java/com/arialyy/simple/core/download/SingleTaskActivity.java
  125. +9 −9 ...om/arialyy/simple/core/download/m3u8/{M3U8LiveDownloadActivity.java → M3U8LiveDLoadActivity.java}
  126. +32 −6 .../com/arialyy/simple/core/download/m3u8/{M3U8VodDownloadActivity.java → M3U8VodDLoadActivity.java}
  127. +217 −0 app/src/main/java/com/arialyy/simple/core/download/m3u8/VideoPlayerFragment.java
  128. +1 −1 app/src/main/java/com/arialyy/simple/core/download/multi_download/FileListAdapter.java
  129. +1 −1 app/src/main/res/layout/activity_m3u8_live.xml
  130. +9 −2 app/src/main/res/layout/activity_m3u8_vod.xml
  131. +47 −0 app/src/main/res/layout/fragment_video_player.xml
  132. +7 −0 app/src/main/res/xml/network_security_config.xml
  133. +1 −1 build.gradle
@@ -1,17 +1,17 @@
---
name: 问题描述
about: 描述你遇到的问题或bug

---

## Aria版本


## 什么问题


## 如何复现此问题


## 控制台日志

---
name: 问题描述
about: 请详细描述你遇到的问题

---

## Aria版本


## 什么问题


## 如何复现此问题


## 控制台日志

@@ -24,26 +24,23 @@
import android.net.ConnectivityManager;
import android.net.Network;
import android.net.NetworkCapabilities;
import android.net.NetworkInfo;
import android.net.NetworkRequest;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.support.annotation.RequiresApi;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.Fragment;
import android.widget.PopupWindow;
import com.arialyy.aria.BuildConfig;
import com.arialyy.aria.core.command.ICmd;
import com.arialyy.aria.core.command.CommandManager;
import com.arialyy.aria.core.common.QueueMod;
import com.arialyy.aria.core.common.RecordHandler;
import com.arialyy.aria.core.config.AppConfig;
import com.arialyy.aria.core.config.Configuration;
import com.arialyy.aria.core.config.DGroupConfig;
import com.arialyy.aria.core.config.DownloadConfig;
import com.arialyy.aria.core.config.UploadConfig;
import com.arialyy.aria.core.config.XMLReader;
import com.arialyy.aria.core.config.Configuration;
import com.arialyy.aria.core.download.DownloadEntity;
import com.arialyy.aria.core.download.DownloadGroupEntity;
import com.arialyy.aria.core.download.DownloadReceiver;
@@ -75,7 +72,7 @@
*/
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) public class AriaManager {
private static final String TAG = "AriaManager";
public static final Object LOCK = new Object();
private static final Object LOCK = new Object();
public static final String DOWNLOAD_TEMP_DIR = "/Aria/temp/download/";
public static final String UPLOAD_TEMP_DIR = "/Aria/temp/upload/";
/**
@@ -90,7 +87,6 @@
*/
private Map<String, List<String>> mSubClass = new ConcurrentHashMap<>();
public static Context APP;
private List<ICmd> mCommands = new ArrayList<>();
private DownloadConfig mDConfig;
private UploadConfig mUConfig;
private AppConfig mAConfig;
@@ -110,7 +106,9 @@ private AriaManager(Context context) {
public static AriaManager getInstance(Context context) {
if (INSTANCE == null) {
synchronized (LOCK) {
INSTANCE = new AriaManager(context);
if (INSTANCE == null) {
INSTANCE = new AriaManager(context);
}
}
}
return INSTANCE;
@@ -182,6 +180,7 @@ private void initAria() {
Thread.setDefaultUncaughtExceptionHandler(new AriaCrashHandler());
}
mAConfig.setLogLevel(mAConfig.getLogLevel());
CommandManager.init();
}

/**
@@ -291,34 +290,6 @@ public DGroupConfig getDGroupConfig() {
return mDGConfig;
}

/**
* 设置命令
*/
public AriaManager setCmd(ICmd command) {
mCommands.add(command);
return this;
}

/**
* 设置一组命令
*/
public <T extends ICmd> AriaManager setCmds(List<T> commands) {
if (commands != null && commands.size() > 0) {
mCommands.addAll(commands);
}
return this;
}

/**
* 执行所有设置的命令
*/
public synchronized void exe() {
for (ICmd command : mCommands) {
command.executeCmd();
}
mCommands.clear();
}

/**
* 处理下载操作
*/
@@ -13,13 +13,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.arialyy.aria.core.command.group;
package com.arialyy.aria.core.command;

import com.arialyy.aria.core.command.AbsCmd;
import com.arialyy.aria.core.download.DGTaskWrapper;
import com.arialyy.aria.core.inf.AbsGroupTask;
import com.arialyy.aria.core.inf.AbsTask;
import com.arialyy.aria.core.inf.AbsGroupTaskWrapper;
import com.arialyy.aria.core.inf.AbsTask;
import com.arialyy.aria.core.queue.DownloadGroupTaskQueue;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.CommonUtil;
@@ -14,17 +14,13 @@
* limitations under the License.
*/

package com.arialyy.aria.core.command.normal;
package com.arialyy.aria.core.command;

import com.arialyy.aria.core.command.AbsCmd;
import com.arialyy.aria.core.command.ICmd;
import com.arialyy.aria.core.download.DGTaskWrapper;
import com.arialyy.aria.core.download.DTaskWrapper;
import com.arialyy.aria.core.inf.AbsEntity;
import com.arialyy.aria.core.inf.AbsTask;
import com.arialyy.aria.core.inf.AbsTaskWrapper;
import com.arialyy.aria.core.inf.IEntity;
import com.arialyy.aria.core.manager.TaskWrapperManager;
import com.arialyy.aria.core.queue.DownloadGroupTaskQueue;
import com.arialyy.aria.core.queue.DownloadTaskQueue;
import com.arialyy.aria.core.queue.UploadTaskQueue;
@@ -130,10 +126,10 @@ void removeTask() {
/**
* 删除任务
*/
void removeTask(AbsTaskWrapper taskEntity) {
AbsTask tempTask = getTask(taskEntity.getEntity());
void removeTask(AbsTaskWrapper wrapper) {
AbsTask tempTask = getTask(wrapper.getKey());
if (tempTask == null) {
tempTask = createTask(taskEntity);
tempTask = createTask(wrapper);
}
mQueue.cancelTask(tempTask);
}
@@ -143,7 +139,7 @@ void removeTask(AbsTaskWrapper taskEntity) {
*/
void startTask() {
AbsTask task = getTask();
if (task == null){
if (task == null) {
task = createTask();
}
mQueue.startTask(task);
@@ -154,7 +150,7 @@ void startTask() {
*/
void resumeTask() {
AbsTask task = getTask();
if (task == null){
if (task == null) {
task = createTask();
}
mQueue.resumeTask(task);
@@ -183,8 +179,8 @@ AbsTask getTask() {
*
* @return 执行任务
*/
AbsTask getTask(AbsEntity entity) {
return mQueue.getTask(entity.getKey());
AbsTask getTask(String key) {
return mQueue.getTask(key);
}

/**
@@ -199,11 +195,11 @@ AbsTask createTask() {
/**
* 创建指定实体的任务
*
* @param taskEntity 特定的任务实体
* @param wrapper 特定的任务实体
* @return 创建的任务
*/
AbsTask createTask(AbsTaskWrapper taskEntity) {
AbsTask createTask(AbsTaskWrapper wrapper) {

return mQueue.createTask(taskEntity);
return mQueue.createTask(wrapper);
}
}
@@ -14,7 +14,7 @@
* limitations under the License.
*/

package com.arialyy.aria.core.command.normal;
package com.arialyy.aria.core.command;

import com.arialyy.aria.core.inf.AbsTask;
import com.arialyy.aria.core.inf.AbsTaskWrapper;
@@ -25,7 +25,7 @@
* Created by lyy on 2016/8/22.
* 添加任务的命令
*/
class AddCmd<T extends AbsTaskWrapper> extends AbsNormalCmd<T> {
final class AddCmd<T extends AbsTaskWrapper> extends AbsNormalCmd<T> {

AddCmd(T entity, int taskType) {
super(entity, taskType);
@@ -14,7 +14,7 @@
* limitations under the License.
*/

package com.arialyy.aria.core.command.normal;
package com.arialyy.aria.core.command;

import com.arialyy.aria.core.download.DGTaskWrapper;
import com.arialyy.aria.core.download.DTaskWrapper;
@@ -35,7 +35,7 @@
* Created by AriaL on 2017/6/27.
* 删除所有任务,并且删除所有回掉
*/
public class CancelAllCmd<T extends AbsTaskWrapper> extends AbsNormalCmd<T> {
final public class CancelAllCmd<T extends AbsTaskWrapper> extends AbsNormalCmd<T> {
/**
* removeFile {@code true} 删除已经下载完成的任务,不仅删除下载记录,还会删除已经下载完成的文件,{@code false}
* 如果文件已经下载完成,只删除下载记录
@@ -64,7 +64,8 @@ private void removeAllDTask() {
DbEntity.findDatas(DownloadEntity.class, "isGroupChild=?", "false");
if (entities != null && !entities.isEmpty()) {
for (DownloadEntity entity : entities) {
remove(TaskWrapperManager.getInstance().getHttpTaskWrapper(DTaskWrapper.class, entity.getKey()));
remove(TaskWrapperManager.getInstance()
.getHttpTaskWrapper(DTaskWrapper.class, entity.getKey()));
}
}
}
@@ -78,7 +79,8 @@ private void removeAllDGTask() {
if (entities != null && !entities.isEmpty()) {
for (DownloadGroupEntity entity : entities) {
remove(
TaskWrapperManager.getInstance().getDGTaskWrapper(DGTaskWrapper.class, entity.getUrls()));
TaskWrapperManager.getInstance()
.getDGTaskWrapper(DGTaskWrapper.class, entity.getUrls()));
}
}
}
@@ -91,13 +93,14 @@ private void removeUTask() {
DbEntity.findDatas(UploadEntity.class, "isGroupChild=?", "false");
if (entities != null && !entities.isEmpty()) {
for (UploadEntity entity : entities) {
remove(TaskWrapperManager.getInstance().getHttpTaskWrapper(UTaskWrapper.class, entity.getKey()));
remove(TaskWrapperManager.getInstance()
.getHttpTaskWrapper(UTaskWrapper.class, entity.getKey()));
}
}
}

private void remove(AbsTaskWrapper te) {
if (te == null){
if (te == null) {
ALog.w(TAG, "取消任务失败,任务为空");
return;
}
@@ -14,7 +14,7 @@
* limitations under the License.
*/

package com.arialyy.aria.core.command.normal;
package com.arialyy.aria.core.command;

import com.arialyy.aria.core.inf.AbsTask;
import com.arialyy.aria.core.inf.AbsTaskWrapper;
@@ -23,7 +23,7 @@
* Created by lyy on 2016/9/20.
* 取消命令
*/
public class CancelCmd<T extends AbsTaskWrapper> extends AbsNormalCmd<T> {
final public class CancelCmd<T extends AbsTaskWrapper> extends AbsNormalCmd<T> {
/**
* removeFile {@code true} 删除已经下载完成的任务,不仅删除下载记录,还会删除已经下载完成的文件,{@code false}
* 如果文件已经下载完成,只删除下载记录

0 comments on commit b081853

Please sign in to comment.
You can’t perform that action at this time.