From beacde1fedc75ce301f92bb4dd701a2d2ba35cd5 Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Wed, 24 May 2023 17:02:31 +0800 Subject: [PATCH] =?UTF-8?q?[3.2.0][Fix]=E8=A7=A3=E5=86=B3=E9=A6=96?= =?UTF-8?q?=E6=AC=A1=E5=AE=89=E8=A3=85Tts=E4=B8=8D=E6=92=AD=E6=8A=A5?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 原因: 先分发数据且没缓存,而后才去监听,没有收到sn相关的事件 --- .../tts/TtsManager.kt | 3 ++- .../call/cloud/CallerCloudListenerManager.kt | 15 +++++++++++++++ .../java/com/mogo/commons/voice/AIAssist.java | 5 +++-- .../src/main/java/com/mogo/tts/pad/PadTTS.java | 3 ++- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/tts/TtsManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/tts/TtsManager.kt index baf7c92f59..61f84531fe 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/tts/TtsManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/tts/TtsManager.kt @@ -1,6 +1,7 @@ package com.zhjt.mogo_core_function_devatools.tts import android.content.Context +import android.util.Log import com.mogo.commons.AbsMogoApplication import com.mogo.commons.voice.AIAssist import com.mogo.eagle.core.function.api.cloud.IMoGoCloudListener @@ -26,7 +27,7 @@ class TtsManager : IMoGoCloudListener { } override fun tokenGot(token: String, sn: String) { - CallerLogger.d(TAG, "网络获取到sn为:${sn},准备重新初始化Tts") + Log.d(TAG, "网络获取到sn为:${sn},准备重新初始化Tts") ThreadUtils.runOnUiThread({ AIAssist.getInstance(AbsMogoApplication.getApp()).initTtsAgain(sn) }, ThreadUtils.MODE.QUEUE) diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/cloud/CallerCloudListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/cloud/CallerCloudListenerManager.kt index bed5a7977a..0c2cab8ca1 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/cloud/CallerCloudListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/cloud/CallerCloudListenerManager.kt @@ -6,10 +6,25 @@ import com.mogo.eagle.core.function.call.base.CallerBase object CallerCloudListenerManager : CallerBase() { + @Volatile + private var token: String? = null + + @Volatile + private var sn: String? = null + + override fun doSomeAfterAddListener(tag: String, listener: IMoGoCloudListener) { + super.doSomeAfterAddListener(tag, listener) + if (!token.isNullOrEmpty() && !sn.isNullOrEmpty()) { + listener.tokenGot(token!!, sn!!) + } + } + /** * 分发获取到的设备sn */ fun invokeCloudTokenGot(token: String, sn: String) { + this.token = token + this.sn = sn M_LISTENERS.forEach { val listener = it.value listener.tokenGot(token, sn) diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java index e8be5ba4a2..5b6a7b122a 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java @@ -1,6 +1,7 @@ package com.mogo.commons.voice; import android.content.Context; +import android.util.Log; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.ToastUtils; @@ -82,11 +83,11 @@ public class AIAssist { * 重新初始化Tts(首次sn获取比较慢,而TTS初始化比较早会拿不到授权) */ public void initTtsAgain(String sn) { - CallerLogger.INSTANCE.d(TAG, "网络获取SN后重新初始化Tts!"); + Log.d(TAG, "网络获取SN后重新初始化Tts!"); if (mTTS != null) { mTTS.initTts(sn); } else { - CallerLogger.INSTANCE.d(TAG, "TTS对象创建失败!"); + Log.d(TAG, "TTS对象创建失败!"); } } diff --git a/tts/tts-pad/src/main/java/com/mogo/tts/pad/PadTTS.java b/tts/tts-pad/src/main/java/com/mogo/tts/pad/PadTTS.java index 3815e612da..5324ac54d9 100644 --- a/tts/tts-pad/src/main/java/com/mogo/tts/pad/PadTTS.java +++ b/tts/tts-pad/src/main/java/com/mogo/tts/pad/PadTTS.java @@ -8,6 +8,7 @@ import android.os.Build; import android.os.Environment; import android.provider.Settings; import android.text.TextUtils; +import android.util.Log; import android.util.Pair; import androidx.annotation.MainThread; @@ -134,7 +135,7 @@ public class PadTTS implements IMogoTTS, VoiceClient.VoiceCmdCallBack, OnTtsList if (!mHasAuth && sn != null && !sn.isEmpty() && !isAuthing) { initTtsConfig(sn); } else { - CallerLogger.INSTANCE.d(TAG, "不满足Tts初始化条件!" + mHasAuth + "," + sn + "," + isAuthing); + Log.d(TAG, "不满足Tts初始化条件!" + mHasAuth + "," + sn + "," + isAuthing); } }