From b202b580bb03cc6e9e8d0a40ff34a088f3cb2dce Mon Sep 17 00:00:00 2001 From: chenjuntao Date: Mon, 2 Sep 2024 10:48:14 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=A9=BA=E9=97=B4=E4=B8=8D=E8=B6=B3?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E4=B8=8B=E8=BD=BD=E6=B8=B8=E6=88=8F=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=E7=BD=91=E7=BB=9C=E4=B8=8D=E4=BD=B3=E4=B8=94=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E8=AF=B7=E6=B1=82=20https://jira.shanqu.cc/browse/GHZ?= =?UTF-8?q?SCY-6615?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: chenjuntao --- .../com/gh/common/util/DownloadObserver.kt | 37 ++++++++++--------- ndownload | 2 +- 2 files changed, 21 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/com/gh/common/util/DownloadObserver.kt b/app/src/main/java/com/gh/common/util/DownloadObserver.kt index 05b276e4f9..37b578785b 100644 --- a/app/src/main/java/com/gh/common/util/DownloadObserver.kt +++ b/app/src/main/java/com/gh/common/util/DownloadObserver.kt @@ -69,11 +69,13 @@ object DownloadObserver { DownloadDataHelper.uploadDownloadEvent(downloadEntity) } - if (DownloadStatus.hijack == downloadEntity.status) { + val status = downloadEntity.status + + if (DownloadStatus.hijack == status) { // 链接被劫持 processHijack(downloadEntity) return - } else if (DownloadStatus.notfound == downloadEntity.status) { + } else if (DownloadStatus.notfound == status) { // 404 Not Found // 删除任务 downloadEntity.status = DownloadStatus.cancel @@ -127,10 +129,9 @@ object DownloadObserver { extraConfig = DialogHelper.Config(centerTitle = true, centerContent = true) ) return - } else if (DownloadStatus.neterror == downloadEntity.status - || DownloadStatus.timeout == downloadEntity.status - || DownloadStatus.diskioerror == downloadEntity.status - || DownloadStatus.diskisfull == downloadEntity.status + } else if (DownloadStatus.neterror == status + || DownloadStatus.diskioerror == status + || DownloadStatus.timeout == status ) { if (mRetryableHashMap[downloadEntity.url] == true && NetworkUtils.isWifiConnected(HaloApp.getInstance().application) @@ -139,9 +140,7 @@ object DownloadObserver { mRetryableHashMap[downloadEntity.url] = false Utils.log(TAG, "下载重试->" + downloadEntity.toJson()) } else { - if (DownloadStatus.diskisfull == downloadEntity.status) { - ToastUtils.toast("磁盘已满,请清理空间后重试下载") - } else if (DownloadStatus.diskioerror == downloadEntity.status) { + if (DownloadStatus.diskioerror == status) { ToastUtils.toast("磁盘 IO 异常,请稍后重试") } else { ToastUtils.toast("网络不稳定,下载任务已暂停") @@ -150,17 +149,21 @@ object DownloadObserver { DataLogUtils.uploadNeterrorLog(mApplication, downloadEntity) Utils.log(TAG, "下载自动暂停->" + downloadEntity.toJson()) } - } else if (DownloadStatus.redirected == downloadEntity.status) { + } else if (DownloadStatus.diskisfull == status) { + ToastUtils.toast("磁盘已满,请清理空间后重试下载") + + downloadManager.pause(downloadEntity.url) + } else if (DownloadStatus.redirected == status) { Utils.log(TAG, "重定向完毕") DownloadDataHelper.uploadRedirectEvent(downloadEntity) - } else if (DownloadStatus.unqualified == downloadEntity.status) { + } else if (DownloadStatus.unqualified == status) { // 未成年 RealNameHelper.showRealNameUnqualifiedDialog(downloadEntity) // 删除任务 downloadEntity.status = DownloadStatus.cancel downloadManager.cancel(downloadEntity.url) - } else if (DownloadStatus.unavailable == downloadEntity.status) { + } else if (DownloadStatus.unavailable == status) { // 未接入防沉迷系统 val currentActivity = AppManager.getInstance().currentActivity() @@ -179,7 +182,7 @@ object DownloadObserver { // 删除任务 downloadEntity.status = DownloadStatus.cancel downloadManager.cancel(downloadEntity.url) - } else if (DownloadStatus.isCertificating == downloadEntity.status) { + } else if (DownloadStatus.isCertificating == status) { // 未接入防沉迷系统 val currentActivity = AppManager.getInstance().currentActivity() @@ -207,21 +210,21 @@ object DownloadObserver { // 删除任务 downloadEntity.status = DownloadStatus.cancel downloadManager.cancel(downloadEntity.url) - } else if (DownloadStatus.uncertificated == downloadEntity.status) { + } else if (DownloadStatus.uncertificated == status) { // 未实名 RealNameHelper.showRealNameUncertificatedDialog(downloadEntity) // 删除任务 downloadEntity.status = DownloadStatus.cancel downloadManager.cancel(downloadEntity.url) - } else if (DownloadStatus.banned == downloadEntity.status) { + } else if (DownloadStatus.banned == status) { ToastUtils.showToast("网络异常") // 删除任务 downloadEntity.status = DownloadStatus.cancel downloadManager.cancel(downloadEntity.url) } - if (DownloadStatus.done == downloadEntity.status) { + if (DownloadStatus.done == status) { if (mDoneDebouncePair?.first != downloadEntity.url) { mDoneDebouncePair = Pair(downloadEntity.url, System.currentTimeMillis()) performDownloadCompleteAction(downloadEntity, downloadManager) @@ -241,7 +244,7 @@ object DownloadObserver { DownloadNotificationHelper.addOrUpdateDownloadNotification(downloadEntity) // 如果已下载大小发生变化,表示成功恢复下载,则重置重试标记 - if (downloadEntity.status == DownloadStatus.downloading) { + if (status == DownloadStatus.downloading) { mRetryableHashMap[downloadEntity.url] = true } } diff --git a/ndownload b/ndownload index 51b0aa888e..22298a573c 160000 --- a/ndownload +++ b/ndownload @@ -1 +1 @@ -Subproject commit 51b0aa888e2250a1dded37d980ccf32ee4697c14 +Subproject commit 22298a573c3a1285c2294fe9967080183cdadc80