From 1207cfd177998cc910a824d51f25bd710000b867 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E5=8B=A4=E6=B0=91?= Date: Sat, 18 Apr 2026 14:25:48 +0800 Subject: [PATCH] =?UTF-8?q?feat(task):=20=E6=B7=BB=E5=8A=A0=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E8=AF=A6=E6=83=85=E9=A1=B5=E8=B7=B3=E8=BD=AC=E5=92=8C?= =?UTF-8?q?ASR=E8=AF=AD=E9=9F=B3=E6=8E=A7=E5=88=B6=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在AsrHelper中新增onOpenTaskDetail回调处理openTaskDetail语音命令 - 实现TaskListActivity中的routeToTask方法,根据任务类型跳转到对应详情页 - 添加FoActivity页面接收aiDescription和taskType参数并显示任务头部标题 - 集成ASR语音识别功能,支持通过语音命令打开指定任务详情页 - 在FoActivity布局中添加底部提示文本显示返回操作说明 - 清理废弃的IntentRecognizeHelper依赖和相关代码逻辑 --- .../com/nova/brain/glass/helper/AsrHelper.kt | 4 ++ .../com/nova/brain/glass/ui/FoActivity.kt | 5 +- .../nova/brain/glass/ui/TaskListActivity.kt | 48 ++++++++++--------- app/src/main/res/layout/activity_fo.xml | 19 +++++++- 4 files changed, 50 insertions(+), 26 deletions(-) diff --git a/app/src/main/java/com/nova/brain/glass/helper/AsrHelper.kt b/app/src/main/java/com/nova/brain/glass/helper/AsrHelper.kt index cd7c75c..43a380b 100644 --- a/app/src/main/java/com/nova/brain/glass/helper/AsrHelper.kt +++ b/app/src/main/java/com/nova/brain/glass/helper/AsrHelper.kt @@ -68,6 +68,9 @@ object AsrHelper : OfflineCmdListener { /** list 场景下由 TaskListActivity 注册,返回当前列表数据作为 extra 传给服务端 */ var extraProvider: (() -> List)? = null + /** openTaskDetail 命中时的回调,由 TaskListActivity 在 onResume/onPause 中注册/清空 */ + var onOpenTaskDetail: ((action: RecognizeAction) -> Unit)? = null + /** scene == "decision" 时直接用 ASR 文本发起对话,由 ChatActivity 注册 */ var onDirectChat: ((text: String) -> Unit)? = null @@ -208,6 +211,7 @@ object AsrHelper : OfflineCmdListener { when (action.name) { "goToDecisionCenter" -> onGoToDecisionCenter?.invoke(action) "goToTaskCenter" -> onGoToTaskCenter?.invoke(action) + "openTaskDetail" -> onOpenTaskDetail?.invoke(action) else -> Log.d(TAG, "unhandled action: $action") } }, diff --git a/app/src/main/java/com/nova/brain/glass/ui/FoActivity.kt b/app/src/main/java/com/nova/brain/glass/ui/FoActivity.kt index 8604708..b617482 100644 --- a/app/src/main/java/com/nova/brain/glass/ui/FoActivity.kt +++ b/app/src/main/java/com/nova/brain/glass/ui/FoActivity.kt @@ -24,7 +24,9 @@ class FoActivity : BaseActivity() { } override fun initData() { super.initData() - val html = "" + val html = intent.getStringExtra("aiDescription") ?: "" + val taskType = intent.getStringExtra("taskType") ?: "" + binding.tvTaskHeader.text = taskType val styledHtml = """