From 25ba315e63e4445dea718bef1ae5a0da8d4109d4 Mon Sep 17 00:00:00 2001 From: dongliang Date: Fri, 8 May 2026 16:49:29 +0930 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=B8=80=E6=AC=A1=E6=80=A7=E4=BC=98?= =?UTF-8?q?=E5=8C=96=EF=BC=88=E6=97=B6=E9=92=9F=E5=8E=BB=E7=A7=92+?= =?UTF-8?q?=E5=A4=87=E6=B3=A8=E4=BF=AE=E5=A4=8D+=E6=8C=89=E9=92=AE?= =?UTF-8?q?=E6=94=BE=E5=A4=A7+=E5=88=87=E6=8D=A2=E5=8F=96=E6=B6=88?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 首页时钟 HH:mm:ss → HH:mm 2. TTS 备注优先读 taskRequire(和页面显示一致) 3. TTS 按钮 48dp → 56dp,背景透明度 50% → 30% 4. 切换任务时取消进行中的 TTS 合成请求 安装后请重启手表。 Co-Authored-By: Claude Opus 4.6 (1M context) --- .../xiaoqu/watch/service/manager/EdgeTtsManager.kt | 11 ++++++++--- .../java/com/xiaoqu/watch/ui/home/HomeFragment.kt | 2 +- .../java/com/xiaoqu/watch/ui/task/TaskListFragment.kt | 8 +++++++- app/src/main/res/drawable/bg_tts_button.xml | 2 +- app/src/main/res/layout/fragment_task_list.xml | 8 ++++---- 5 files changed, 21 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/xiaoqu/watch/service/manager/EdgeTtsManager.kt b/app/src/main/java/com/xiaoqu/watch/service/manager/EdgeTtsManager.kt index 23e9599..71cd6ed 100644 --- a/app/src/main/java/com/xiaoqu/watch/service/manager/EdgeTtsManager.kt +++ b/app/src/main/java/com/xiaoqu/watch/service/manager/EdgeTtsManager.kt @@ -80,6 +80,9 @@ class EdgeTtsManager @Inject constructor( /** 当前 MediaPlayer */ private var mediaPlayer: MediaPlayer? = null + /** 当前合成协程 Job(用于取消进行中的请求) */ + private var synthesizeJob: kotlinx.coroutines.Job? = null + /** 是否正在播放 */ var isPlaying: Boolean = false private set @@ -99,10 +102,10 @@ class EdgeTtsManager @Inject constructor( fun speak(text: String, voice: String = VOICE_XIAOXIAO, onError: ((String) -> Unit)? = null) { if (text.isBlank()) return - // 停止当前播放 + // 停止当前播放和进行中的请求 stop() - CoroutineScope(Dispatchers.IO).launch { + synthesizeJob = CoroutineScope(Dispatchers.IO).launch { try { // 检查缓存 val cacheFile = getCacheFile(text, voice) @@ -129,8 +132,10 @@ class EdgeTtsManager @Inject constructor( } } - /** 停止播放 */ + /** 停止播放和进行中的合成请求 */ fun stop() { + synthesizeJob?.cancel() + synthesizeJob = null try { mediaPlayer?.apply { if (isPlaying) stop() diff --git a/app/src/main/java/com/xiaoqu/watch/ui/home/HomeFragment.kt b/app/src/main/java/com/xiaoqu/watch/ui/home/HomeFragment.kt index 2ff8801..2fb2e4d 100644 --- a/app/src/main/java/com/xiaoqu/watch/ui/home/HomeFragment.kt +++ b/app/src/main/java/com/xiaoqu/watch/ui/home/HomeFragment.kt @@ -367,7 +367,7 @@ class HomeFragment : BaseFragment() { /** 更新时钟和日期 */ private fun updateClock() { val info = DateUtil.getDateInfo() - tvClock.text = DateUtil.formatTime() + tvClock.text = DateUtil.formatTimeShort() tvDate.text = "${info.month}月${info.day}日 ${info.week}" // 同步更新打卡面板时钟 if (punchPanel.isShowing) { diff --git a/app/src/main/java/com/xiaoqu/watch/ui/task/TaskListFragment.kt b/app/src/main/java/com/xiaoqu/watch/ui/task/TaskListFragment.kt index 472748a..27e529d 100644 --- a/app/src/main/java/com/xiaoqu/watch/ui/task/TaskListFragment.kt +++ b/app/src/main/java/com/xiaoqu/watch/ui/task/TaskListFragment.kt @@ -1042,7 +1042,13 @@ class TaskListFragment : BaseFragment() { !detail.expireTime.isNullOrEmpty() -> parts.add("截止时间:${formatTimeForTts(detail.expireTime!!)}") } if (detail.point > 0) parts.add("积分:${detail.point.toInt()}分") - if (detail.content.isNotBlank()) parts.add("备注:${detail.content}") + // 备注:优先 taskRequire,没有则用 content(和页面显示逻辑一致) + val note = when { + !detail.taskRequire.isNullOrEmpty() -> detail.taskRequire + detail.content.isNotEmpty() -> detail.content + else -> null + } + if (!note.isNullOrBlank()) parts.add("备注:$note") if (parts.isEmpty()) return diff --git a/app/src/main/res/drawable/bg_tts_button.xml b/app/src/main/res/drawable/bg_tts_button.xml index f77c685..40625ab 100644 --- a/app/src/main/res/drawable/bg_tts_button.xml +++ b/app/src/main/res/drawable/bg_tts_button.xml @@ -2,5 +2,5 @@ - + diff --git a/app/src/main/res/layout/fragment_task_list.xml b/app/src/main/res/layout/fragment_task_list.xml index 3973e87..80a0a06 100644 --- a/app/src/main/res/layout/fragment_task_list.xml +++ b/app/src/main/res/layout/fragment_task_list.xml @@ -365,14 +365,14 @@ - +