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 f5eee60e6e..691033e5e6 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 @@ -18,13 +18,13 @@ import com.aispeech.export.config.AuthConfig; import com.aispeech.export.config.EchoConfig; import com.aispeech.export.engines.AILocalTTSEngine; import com.aispeech.export.intent.AILocalTTSIntent; -import com.aispeech.export.listeners.AILocalTTSListener; import com.aispeech.export.listeners.AITTSListener; import com.aispeech.lite.AuthType; import com.alibaba.android.arouter.facade.annotation.Route; import com.mogo.cloud.commons.BuildConfig; import com.mogo.cloud.passport.MoGoAiCloudClientConfig; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; +import com.mogo.eagle.core.utilcode.util.ThreadUtils; import com.mogo.eagle.core.utilcode.util.ToastUtils; import com.mogo.tts.base.IMogoTTS; import com.mogo.tts.base.IMogoTTSCallback; @@ -59,27 +59,29 @@ public class PadTTS implements IMogoTTS, VoiceClient.VoiceCmdCallBack, OnTtsList private boolean mInitReady = true; private Context mContext; - public synchronized void release() { + public void release() { CallerLogger.INSTANCE.d(TAG, "release"); - if (mCmdMap != null && !mCmdMap.isEmpty() && mVoiceClient != null) { - for (String cmd : mCmdMap.keySet()) { - try { - mVoiceClient.unRegisterCustomWakeupCmd(cmd); - } catch (Exception e) { - e.printStackTrace(); + ThreadUtils.runOnUiThread(() -> { + if (mCmdMap != null && !mCmdMap.isEmpty() && mVoiceClient != null) { + for (String cmd : mCmdMap.keySet()) { + try { + mVoiceClient.unRegisterCustomWakeupCmd(cmd); + } catch (Exception e) { + e.printStackTrace(); + } } } - } - mQAndAMap.clear(); - mVoiceClient.release(); - if (mEngine != null) { - mEngine.destroy(); - mEngine = null; - } - mHasAuth = false; - mSpeakVoiceMap.clear(); - mCacheUnWakeupCommands.clear(); - mContext = null; + mQAndAMap.clear(); + mVoiceClient.release(); + if (mEngine != null) { + mEngine.destroy(); + mEngine = null; + } + mHasAuth = false; + mSpeakVoiceMap.clear(); + mCacheUnWakeupCommands.clear(); + mContext = null; + }); } private VoiceClient mVoiceClient; @@ -147,8 +149,10 @@ public class PadTTS implements IMogoTTS, VoiceClient.VoiceCmdCallBack, OnTtsList @Override public void success() { CallerLogger.INSTANCE.d(TAG, "授权成功"); - mHasAuth = true; - initTtsEngine(); + ThreadUtils.runOnUiThread(() -> { + mHasAuth = true; + initTtsEngine(); + }); } @Override @@ -251,7 +255,7 @@ public class PadTTS implements IMogoTTS, VoiceClient.VoiceCmdCallBack, OnTtsList if (!mCmdMap.containsKey(cmd)) { return; } - CallerLogger.INSTANCE.d(TAG, "received command : " + cmd); + CallerLogger.INSTANCE.d(TAG, "received command : " + cmd); Iterator iterator = null; try { @@ -447,7 +451,7 @@ public class PadTTS implements IMogoTTS, VoiceClient.VoiceCmdCallBack, OnTtsList mVoiceClient.registerCustomWakeupCmd(cmd, cmdWords); mCacheUnWakeupCommands.remove(cmd); } - CallerLogger.INSTANCE.i(TAG, "cache un wakeup command2. " + cmd); + CallerLogger.INSTANCE.i(TAG, "cache un wakeup command2. " + cmd); mCacheUnWakeupCommands.put(cmd, cmdWords); } @@ -463,7 +467,7 @@ public class PadTTS implements IMogoTTS, VoiceClient.VoiceCmdCallBack, OnTtsList mVoiceClient.registerCustomWakeupCmd(cmd, cmdWords); mCacheUnWakeupCommands.remove(cmd); } - CallerLogger.INSTANCE.i(TAG, "cache un wakeup command. " + cmd); + CallerLogger.INSTANCE.i(TAG, "cache un wakeup command. " + cmd); mCacheUnWakeupCommands.put(cmd, cmdWords); } @@ -514,7 +518,7 @@ public class PadTTS implements IMogoTTS, VoiceClient.VoiceCmdCallBack, OnTtsList * @param status window_start_cancel 0 - 结束, 1 - 显示, 2 - 未激活调试进入 */ public static void startAssistant(Context context, int status) { - CallerLogger.INSTANCE.w(TAG, "startAssistant status = " + status); + CallerLogger.INSTANCE.w(TAG, "startAssistant status = " + status); final Intent intent = new Intent(); intent.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);