From 235b02870b248d97be97d83d7bcdc0c3bcc79906 Mon Sep 17 00:00:00 2001 From: Koitharu Date: Mon, 8 May 2023 19:25:34 +0300 Subject: [PATCH] Improve download notifications --- .../download/ui/worker/DownloadNotificationFactory.kt | 9 +++++++-- .../koitharu/kotatsu/utils/progress/TimeLeftEstimator.kt | 3 +++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/koitharu/kotatsu/download/ui/worker/DownloadNotificationFactory.kt b/app/src/main/java/org/koitharu/kotatsu/download/ui/worker/DownloadNotificationFactory.kt index a8c06e516..306e3c6df 100644 --- a/app/src/main/java/org/koitharu/kotatsu/download/ui/worker/DownloadNotificationFactory.kt +++ b/app/src/main/java/org/koitharu/kotatsu/download/ui/worker/DownloadNotificationFactory.kt @@ -101,8 +101,13 @@ class DownloadNotificationFactory @AssistedInject constructor( } suspend fun create(state: DownloadState?): Notification = mutex.withLock { - builder.setContentTitle(state?.manga?.title ?: context.getString(R.string.preparing_)) - builder.setContentText(context.getString(R.string.manga_downloading_)) + if (state == null) { + builder.setContentTitle(context.getString(R.string.manga_downloading_)) + builder.setContentText(context.getString(R.string.preparing_)) + } else { + builder.setContentTitle(state.manga.title) + builder.setContentText(context.getString(R.string.manga_downloading_)) + } builder.setProgress(1, 0, true) builder.setSmallIcon(android.R.drawable.stat_sys_download) builder.setContentIntent(queueIntent) diff --git a/app/src/main/java/org/koitharu/kotatsu/utils/progress/TimeLeftEstimator.kt b/app/src/main/java/org/koitharu/kotatsu/utils/progress/TimeLeftEstimator.kt index b454535f7..97b83f52d 100644 --- a/app/src/main/java/org/koitharu/kotatsu/utils/progress/TimeLeftEstimator.kt +++ b/app/src/main/java/org/koitharu/kotatsu/utils/progress/TimeLeftEstimator.kt @@ -19,6 +19,9 @@ class TimeLeftEstimator { emptyTick() return } + if (lastTick?.value == value) { + return + } val tick = Tick(value, total, SystemClock.elapsedRealtime()) lastTick?.let { val ticksCount = value - it.value