diff --git a/Aria/src/main/java/com/arialyy/aria/core/download/DownloadTarget.java b/Aria/src/main/java/com/arialyy/aria/core/download/DownloadTarget.java index b02306ca..ca2b48b8 100644 --- a/Aria/src/main/java/com/arialyy/aria/core/download/DownloadTarget.java +++ b/Aria/src/main/java/com/arialyy/aria/core/download/DownloadTarget.java @@ -66,6 +66,19 @@ public class DownloadTarget extends AbsTarget return false; } + /** + * 获取任务进度百分比 + * + * @return 返回任务进度 + */ + protected int getPercent() { + return 0; + } + /** * 获取当前任务进度,如果任务存在,则返回当前进度 * @@ -118,14 +127,16 @@ public class AbsTarget DownloadEntity entity = DownloadEntity.findData(DownloadEntity.class, "downloadUrl=?", ((DownloadEntity) this.entity).getDownloadUrl()); if (entity == null) { - throw new NullPointerException("下载管理器中没有该任务"); + Log.e("DownloadTarget", "下载管理器中没有该任务"); + return -1; } return entity.getCurrentProgress(); } else if (entity instanceof UploadEntity) { UploadEntity entity = DbEntity.findData(UploadEntity.class, "filePath=?", ((UploadEntity) this.entity).getFilePath()); if (entity == null) { - throw new NullPointerException("没有找到该任务"); + Log.e("DownloadTarget", "下载管理器中没有该任务"); + return -1; } return entity.getCurrentProgress(); } diff --git a/app/src/main/java/com/arialyy/simple/download/HighestPriorityActivity.java b/app/src/main/java/com/arialyy/simple/download/HighestPriorityActivity.java index 9194e5d6..00a3e74c 100644 --- a/app/src/main/java/com/arialyy/simple/download/HighestPriorityActivity.java +++ b/app/src/main/java/com/arialyy/simple/download/HighestPriorityActivity.java @@ -52,9 +52,7 @@ public class HighestPriorityActivity extends BaseActivity { private void init() { if (Aria.download(this).taskExists(DOWNLOAD_URL)) { - DownloadTarget target = Aria.download(this).load(DOWNLOAD_URL); - int p = (int) (target.getCurrentProgress() * 100 / target.getFileSize()); - mPb.setProgress(p); + mPb.setProgress(Aria.download(this).load(DOWNLOAD_URL).getPercent()); } }