From 9376f1665b88f09fc5db308d414ef6be2695a548 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E5=8B=A4=E6=B0=91?= Date: Thu, 23 Apr 2026 09:55:08 +0800 Subject: [PATCH] =?UTF-8?q?refactor(chat):=20=E4=BC=98=E5=8C=96=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD=E8=A7=86=E5=9B=BE=E6=98=BE=E7=A4=BA=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 提取加载视图更新逻辑到独立方法 updateLoadingViews - 根据是否有问题内容决定是否显示加载动画 - 简化条件判断逻辑,提高代码可读性 - 保持滚动到底部功能的一致性调用 --- .../com/nova/brain/glass/ui/ChatActivity.kt | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/nova/brain/glass/ui/ChatActivity.kt b/app/src/main/java/com/nova/brain/glass/ui/ChatActivity.kt index 459e03e..d47b571 100644 --- a/app/src/main/java/com/nova/brain/glass/ui/ChatActivity.kt +++ b/app/src/main/java/com/nova/brain/glass/ui/ChatActivity.kt @@ -35,6 +35,8 @@ class ChatActivity : BaseListFormLayoutNormalActivity - binding.loadingProgress.visibility = if (loading) View.VISIBLE else View.GONE - binding.loadingIdleIcon.visibility = if (loading) View.GONE else View.VISIBLE + updateLoadingViews(loading, hasQuestion) recyclerView.post { scrollToBottom() } } - - val question = intent.getStringExtra("question") ?: "" - if (question.isNotEmpty()) { + if (hasQuestion) { viewModel.prepareTopic(question) } } + private fun updateLoadingViews(loading: Boolean, hasQuestion: Boolean) { + if (!hasQuestion) { + binding.loadingProgress.visibility = View.GONE + binding.loadingIdleIcon.visibility = View.VISIBLE + return + } + binding.loadingProgress.visibility = if (loading) View.VISIBLE else View.GONE + binding.loadingIdleIcon.visibility = if (loading) View.GONE else View.VISIBLE + } + private fun recognizeAndChat() { // 识别由 AsrHelper 在 onFinalResult 中统一触发,此处无需主动发起 }