From 9ca1f79b678eaadf39c088bb8cc9c7d5759883d5 Mon Sep 17 00:00:00 2001 From: lxm <1274844347@qq.com> Date: Sat, 9 Aug 2025 10:44:52 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix(=E6=9D=83=E9=99=90=E8=A7=86=E5=9B=BE):?= =?UTF-8?q?=20=E5=B0=86=E6=97=A5=E5=8E=86=E6=9D=83=E9=99=90=E4=BB=8E?= =?UTF-8?q?=E5=AE=8C=E6=95=B4=E8=AE=BF=E9=97=AE=E6=94=B9=E4=B8=BA=E4=BB=85?= =?UTF-8?q?=E5=86=99=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新权限视图中的日历权限显示,从完整访问改为仅写入,以更准确地反映实际需要的权限级别 --- lib/modules/settings/views/permissions_view.dart | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/modules/settings/views/permissions_view.dart b/lib/modules/settings/views/permissions_view.dart index 678a01a3f..c6eebac8c 100644 --- a/lib/modules/settings/views/permissions_view.dart +++ b/lib/modules/settings/views/permissions_view.dart @@ -156,7 +156,7 @@ class PermissionsView extends GetView { return 'phone'.tr; // 电话 case Permission.sms: return 'sms'.tr; // 短信 - case Permission.calendarFullAccess: + case Permission.calendarWriteOnly: return 'calendarWrite'.tr; // 日历写入 case Permission.calendarFullAccess: return 'calendarFullAccess'.tr; // 日历完整访问 @@ -174,7 +174,7 @@ class PermissionsView extends GetView { return 'phonePermissionDesc'.tr; // 用于拨打电话功能 case Permission.sms: return 'smsPermissionDesc'.tr; // 用于发送短信功能 - case Permission.calendarFullAccess: + case Permission.calendarWriteOnly: return 'calendarWritePermissionDesc'.tr; // 用于创建日历事件和提醒 case Permission.calendarFullAccess: return 'calendarFullAccessPermissionDesc'.tr; // 用于读取和管理日历事件及提醒 @@ -349,7 +349,7 @@ class PermissionsView extends GetView { return 'phone'.tr; // 电话 case Permission.sms: return 'sms'.tr; // 短信 - case Permission.calendarFullAccess: + case Permission.calendarWriteOnly: return 'calendarWrite'.tr; // 日历写入 case Permission.calendarFullAccess: return 'calendarFullAccess'.tr; // 日历完整访问 @@ -367,7 +367,7 @@ class PermissionsView extends GetView { return 'phonePermissionDetailDesc'.tr; // 拨打电话功能需要电话权限 case Permission.sms: return 'smsPermissionDetailDesc'.tr; // 发送短信功能需要短信权限 - case Permission.calendarFullAccess: + case Permission.calendarWriteOnly: return 'calendarWritePermissionDetailDesc'.tr; // 创建日历事件需要日历写入权限 case Permission.calendarFullAccess: return 'calendarFullAccessPermissionDetailDesc'.tr; // 管理日历事件需要完整日历权限 From c6a8fd74d7bb13e368c268a1e88bcdb135e9fee1 Mon Sep 17 00:00:00 2001 From: fdp <1286779656@qq.com> Date: Sat, 9 Aug 2025 11:05:48 +0800 Subject: [PATCH 2/2] add --- .../agent_service/AgentService.kt | 36 ++++++++----------- 1 file changed, 14 insertions(+), 22 deletions(-) diff --git a/local_plugins/agent_service/android/src/main/kotlin/com/yunqiinnovation/agent_service/AgentService.kt b/local_plugins/agent_service/android/src/main/kotlin/com/yunqiinnovation/agent_service/AgentService.kt index 13594ed36..6bccc7960 100644 --- a/local_plugins/agent_service/android/src/main/kotlin/com/yunqiinnovation/agent_service/AgentService.kt +++ b/local_plugins/agent_service/android/src/main/kotlin/com/yunqiinnovation/agent_service/AgentService.kt @@ -1133,32 +1133,24 @@ object AgentService : CoroutineScope { return try { Log.i(TAG, "设置支持的语言: ${languages.joinToString(", ")}") - // 重新初始化ASR服务以应用新的语言设置 - val asrSuccess = AzureAsrHelper(context).apply { - // 使用协程处理异步初始化 - CoroutineScope(Dispatchers.IO).launch { - //获取语音识别的语种 - val supportedLanguagesConfig = config["supportedLanguages"] as? List - val supportedLanguages = supportedLanguagesConfig?.toTypedArray() - ?: arrayOf("zh-CN") // 默认支持多语言 - language = supportedLanguages[0] - val asrInitSuccess = initialize( - subscriptionKey = config["azureSpeechKey"]?.toString() ?: "", - region = config["azureSpeechRegion"]?.toString() ?: "", - supportedLanguages = supportedLanguages, - audioSourceType = if (isExternalActive) AzureAsrHelper.AudioSourceType.EXTERNAL - else AzureAsrHelper.AudioSourceType.MICROPHONE - ) - - if (asrInitSuccess) { - withContext(Dispatchers.Main) { + + + val asrSuccess = azureAsrHelper?.initialize( + subscriptionKey = this.azureSpeechKey, + region = this.azureSpeechRegion, + supportedLanguages = languages.toTypedArray(), + audioSourceType = audioSourceType + ) ?: false + + if (asrSuccess) { + recognizeCallback() - } + } else { Log.w(TAG, "Azure ASR初始化失败") } - } - } + + // 同时更新TTS语言设置 val ttsSuccess = updateTtsLanguage(languages.first()) // 使用第一个语言作为TTS语言