From 70e6522a98017e0be594044b2d5fd4505adc77f0 Mon Sep 17 00:00:00 2001 From: HuanCheng65 <22636177+HuanCheng65@users.noreply.github.com> Date: Tue, 7 Mar 2023 11:10:33 +0800 Subject: [PATCH] =?UTF-8?q?pref:=20=E4=B8=80=E9=94=AE=E7=AD=BE=E5=88=B0?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E6=97=B6=E4=B8=8D=E4=B8=AD=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tieba/post/services/OKSignService.kt | 21 +++++++++++++++++-- app/src/main/res/values/strings.xml | 1 + 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/huanchengfly/tieba/post/services/OKSignService.kt b/app/src/main/java/com/huanchengfly/tieba/post/services/OKSignService.kt index b7841183..b42a31bb 100644 --- a/app/src/main/java/com/huanchengfly/tieba/post/services/OKSignService.kt +++ b/app/src/main/java/com/huanchengfly/tieba/post/services/OKSignService.kt @@ -36,6 +36,8 @@ class OKSignService : IntentService(TAG), CoroutineScope, ProgressListener { override val coroutineContext: CoroutineContext get() = Dispatchers.Main + job + private var lastSignData: SignDataBean? = null + private val notificationManager: NotificationManagerCompat by lazy { NotificationManagerCompat.from(this) } @@ -165,6 +167,7 @@ class OKSignService : IntentService(TAG), CoroutineScope, ProgressListener { } override fun onProgressStart(signDataBean: SignDataBean, current: Int, total: Int) { + lastSignData = signDataBean updateNotification( getString( R.string.title_signing_progress, @@ -217,8 +220,22 @@ class OKSignService : IntentService(TAG), CoroutineScope, ProgressListener { } override fun onFailure(current: Int, total: Int, errorCode: Int, errorMsg: String) { - ServiceCompat.stopForeground(this, ServiceCompat.STOP_FOREGROUND_DETACH) - updateNotification(getString(R.string.title_oksign_fail), errorMsg) + lastSignData.let { + if (it == null) { + ServiceCompat.stopForeground(this, ServiceCompat.STOP_FOREGROUND_DETACH) + updateNotification(getString(R.string.title_oksign_fail), errorMsg) + } else { + updateNotification( + getString( + R.string.title_signing_progress, + it.userName, + current + 1, + total + ), + getString(R.string.text_singing_progress_fail, it.forumName, errorMsg) + ) + } + } } companion object { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 4d75db11..93e9c634 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -436,6 +436,7 @@ 粉丝 字体大小 %1$s吧 ✓ + %1$s吧 × %2$s %1$s吧 ✓ 经验 +%2$s 即将开始签到 签到已开始,可在通知栏查看进度