[2.13.0][fix]解决首次安装Tts不生效的问题
原因:首次安装sn没有缓存到sp,然后Tts初始化时机比从后台获取要靠前
This commit is contained in:
@@ -18,6 +18,8 @@ import com.zhjt.mogo_core_function_devatools.monitor.MonitorManager
|
|||||||
import com.zhjt.mogo_core_function_devatools.scene.SceneManager.Companion.sceneManager
|
import com.zhjt.mogo_core_function_devatools.scene.SceneManager.Companion.sceneManager
|
||||||
import com.zhjt.mogo_core_function_devatools.status.*
|
import com.zhjt.mogo_core_function_devatools.status.*
|
||||||
import com.zhjt.mogo_core_function_devatools.trace.TraceManager.Companion.traceManager
|
import com.zhjt.mogo_core_function_devatools.trace.TraceManager.Companion.traceManager
|
||||||
|
import com.zhjt.mogo_core_function_devatools.tts.TtsManager
|
||||||
|
import com.zhjt.mogo_core_function_devatools.tts.TtsManager.Companion.ttsManager
|
||||||
import com.zhjt.mogo_core_function_devatools.upgrade.UpgradeManager.Companion.upgradeManager
|
import com.zhjt.mogo_core_function_devatools.upgrade.UpgradeManager.Companion.upgradeManager
|
||||||
import record_cache.RecordPanelOuterClass
|
import record_cache.RecordPanelOuterClass
|
||||||
|
|
||||||
@@ -35,6 +37,7 @@ class DevaToolsProvider : IDevaToolsProvider {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun initBiz() {
|
override fun initBiz() {
|
||||||
|
ttsManager.initTts(mContext!!)
|
||||||
traceManager.init(mContext!!)
|
traceManager.init(mContext!!)
|
||||||
bizConfigCenter.init(mContext!!)
|
bizConfigCenter.init(mContext!!)
|
||||||
FuncConfigImpl.init()
|
FuncConfigImpl.init()
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
package com.zhjt.mogo_core_function_devatools.tts
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import com.elegant.utils.storage.SharedPrefsMgr
|
||||||
|
import com.mogo.commons.AbsMogoApplication
|
||||||
|
import com.mogo.commons.voice.AIAssist
|
||||||
|
import com.mogo.eagle.core.function.api.cloud.IMoGoCloudListener
|
||||||
|
import com.mogo.eagle.core.function.call.cloud.CallerCloudListenerManager
|
||||||
|
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||||
|
import com.zhjt.mogo_core_function_devatools.trace.TraceManager
|
||||||
|
|
||||||
|
class TtsManager : IMoGoCloudListener {
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
|
||||||
|
const val TAG = "TtsManager"
|
||||||
|
|
||||||
|
val ttsManager by lazy(LazyThreadSafetyMode.SYNCHRONIZED) {
|
||||||
|
TtsManager()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun initTts(context: Context) {
|
||||||
|
val sn = SharedPrefsMgr.getInstance(context).getString("sn")
|
||||||
|
if (sn.isNullOrEmpty()) {
|
||||||
|
CallerCloudListenerManager.registerCloudListener(TraceManager.TAG, this)
|
||||||
|
}
|
||||||
|
AIAssist.getInstance(context)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun tokenGot(token: String, sn: String) {
|
||||||
|
ThreadUtils.runOnUiThread {
|
||||||
|
AIAssist.getInstance(AbsMogoApplication.getApp()).initTtsAgain(sn)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -67,7 +67,6 @@ public abstract class MainMoGoApplication extends AbsMogoApplication {
|
|||||||
initCrashConfig();
|
initCrashConfig();
|
||||||
initLogConfig();
|
initLogConfig();
|
||||||
initTipToast();
|
initTipToast();
|
||||||
AIAssist.getInstance(this);
|
|
||||||
initModules();
|
initModules();
|
||||||
if (DebugConfig.isDebug()) {
|
if (DebugConfig.isDebug()) {
|
||||||
initKoom();
|
initKoom();
|
||||||
|
|||||||
@@ -62,6 +62,15 @@ public class AIAssist {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 重新初始化Tts(首次sn获取比较慢,而TTS初始化比较早会拿不到授权)
|
||||||
|
*/
|
||||||
|
public void initTtsAgain(String sn) {
|
||||||
|
if (mTTS != null) {
|
||||||
|
mTTS.initTts(sn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否语音注册成功
|
* 是否语音注册成功
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ public
|
|||||||
*/
|
*/
|
||||||
interface IMogoTTS extends IProvider {
|
interface IMogoTTS extends IProvider {
|
||||||
|
|
||||||
|
void initTts(String sn);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 释放资源
|
* 释放资源
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ import com.aispeech.export.engines.AILocalTTSEngine;
|
|||||||
import com.aispeech.export.intent.AILocalTTSIntent;
|
import com.aispeech.export.intent.AILocalTTSIntent;
|
||||||
import com.aispeech.export.listeners.AITTSListener;
|
import com.aispeech.export.listeners.AITTSListener;
|
||||||
import com.aispeech.lite.AuthType;
|
import com.aispeech.lite.AuthType;
|
||||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
|
import com.elegant.utils.storage.SharedPrefsMgr;
|
||||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils;
|
import com.mogo.eagle.core.utilcode.util.ThreadUtils;
|
||||||
import com.mogo.eagle.core.utilcode.util.ToastUtils;
|
import com.mogo.eagle.core.utilcode.util.ToastUtils;
|
||||||
@@ -125,13 +125,20 @@ public class PadTTS implements IMogoTTS, VoiceClient.VoiceCmdCallBack, OnTtsList
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initTtsConfig() {
|
@Override
|
||||||
|
public void initTts(String sn) {
|
||||||
|
if (!mHasAuth && sn != null && !sn.isEmpty()) {
|
||||||
|
initTtsConfig(sn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initTtsConfig(String sn) {
|
||||||
try {
|
try {
|
||||||
CallerLogger.INSTANCE.d(TAG, "initTtsConfig");
|
CallerLogger.INSTANCE.d(TAG, "initTtsConfig");
|
||||||
//在线授权配置
|
//在线授权配置
|
||||||
AuthConfig.Builder onlineBuilder = new AuthConfig.Builder()
|
AuthConfig.Builder onlineBuilder = new AuthConfig.Builder()
|
||||||
.setType(AuthType.ONLINE)
|
.setType(AuthType.ONLINE)
|
||||||
.setCustomDeviceName(MoGoAiCloudClientConfig.getInstance().getSn());
|
.setCustomDeviceName(sn);
|
||||||
|
|
||||||
//echo 配置
|
//echo 配置
|
||||||
EchoConfig echoConfig = new EchoConfig.Builder()
|
EchoConfig echoConfig = new EchoConfig.Builder()
|
||||||
@@ -719,7 +726,7 @@ public class PadTTS implements IMogoTTS, VoiceClient.VoiceCmdCallBack, OnTtsList
|
|||||||
mVoiceClient = new VoiceClient(mContext);
|
mVoiceClient = new VoiceClient(mContext);
|
||||||
mVoiceClient.setCallBack(this);
|
mVoiceClient.setCallBack(this);
|
||||||
initFlushStatus();
|
initFlushStatus();
|
||||||
initTtsConfig();
|
initTts(SharedPrefsMgr.getInstance(mContext).getString("sn"));
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
// 检查是否有悬浮窗权限
|
// 检查是否有悬浮窗权限
|
||||||
if (Settings.canDrawOverlays(context)) {
|
if (Settings.canDrawOverlays(context)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user