正在查看: Petal Maps v4.7.0.310001 应用的 RecognizeAbilityProxy.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Petal Maps v4.7.0.310001 应用的 RecognizeAbilityProxy.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.huawei.hiassistant.voice.abilityconnector.recognizer;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.huawei.hiai.pdk.dataservice.DataServiceConstants;
import com.huawei.hiai.tts.common.report.TtsReportBean;
import com.huawei.hiassistant.platform.base.VoiceKitSdkContext;
import com.huawei.hiassistant.platform.base.adapter.emuiadapter.SystemProxyFactory;
import com.huawei.hiassistant.platform.base.bean.ErrorInfo;
import com.huawei.hiassistant.platform.base.bean.InteractionIdInfo;
import com.huawei.hiassistant.platform.base.bean.llmstatus.StreamingStatusManager;
import com.huawei.hiassistant.platform.base.bean.recognize.HeaderPayload;
import com.huawei.hiassistant.platform.base.bean.recognize.MessageConstants;
import com.huawei.hiassistant.platform.base.bean.recognize.RecognizeContext;
import com.huawei.hiassistant.platform.base.bean.recognize.Session;
import com.huawei.hiassistant.platform.base.bean.recognize.VoiceKitMessage;
import com.huawei.hiassistant.platform.base.bean.recognize.common.DisplayAsr;
import com.huawei.hiassistant.platform.base.bean.recognize.payload.Payload;
import com.huawei.hiassistant.platform.base.bean.ui.DisplayAsrPayload;
import com.huawei.hiassistant.platform.base.bean.ui.UiMessageType;
import com.huawei.hiassistant.platform.base.bean.ui.UiPayload;
import com.huawei.hiassistant.platform.base.bean.util.GsonUtils;
import com.huawei.hiassistant.platform.base.fullduplex.FullDuplex;
import com.huawei.hiassistant.platform.base.module.ModuleInstanceFactory;
import com.huawei.hiassistant.platform.base.module.RecognizeAbilityMessageInterface;
import com.huawei.hiassistant.platform.base.module.RecordStartType;
import com.huawei.hiassistant.platform.base.module.ability.ExternalDataServiceAbilityInterface;
import com.huawei.hiassistant.platform.base.module.ability.RecognizeAbilityInterface;
import com.huawei.hiassistant.platform.base.module.ability.RecognizeAbilityWrapperInterface;
import com.huawei.hiassistant.platform.base.msg.AssistantMessage;
import com.huawei.hiassistant.platform.base.multipintentions.MultiIntentionManager;
import com.huawei.hiassistant.platform.base.northinterface.Constants;
import com.huawei.hiassistant.platform.base.northinterface.recognize.RealMachineTestListener;
import com.huawei.hiassistant.platform.base.northinterface.recognize.RecognizerIntent;
import com.huawei.hiassistant.platform.base.policy.RealMachineStatusManager;
import com.huawei.hiassistant.platform.base.report.HiAnalyticsReport;
import com.huawei.hiassistant.platform.base.report.OperationReportUtils;
import com.huawei.hiassistant.platform.base.util.AbilityConnectorThread;
import com.huawei.hiassistant.platform.base.util.BaseUtils;
import com.huawei.hiassistant.platform.base.util.BusinessFlowId;
import com.huawei.hiassistant.platform.base.util.DeviceUtil;
import com.huawei.hiassistant.platform.base.util.IAssistantConfig;
import com.huawei.hiassistant.platform.base.util.IassistantThreadPool;
import com.huawei.hiassistant.platform.base.util.KitLog;
import com.huawei.hiassistant.platform.base.util.NetworkUtil;
import com.huawei.hiassistant.platform.base.util.PluginUtil;
import com.huawei.hiassistant.platform.base.util.PropertyUtil;
import com.huawei.hiassistant.platform.base.util.SecureIntentUtil;
import com.huawei.hiassistant.platform.base.util.UuidUtils;
import com.huawei.hiassistant.platform.base.util.VisibleInfoCacheManager;
import com.huawei.hiassistant.platform.base.util.VoiceBusinessFlowCache;
import com.huawei.hiassistant.voice.R$string;
import com.huawei.hiassistant.voice.abilityconnector.recognizer.RecognizeAbilityProxy;
import com.huawei.hiassistant.voice.abilityconnector.recognizer.cloud.http.OkClientMgr;
import com.huawei.hiassistant.voice.abilityconnector.recognizer.cloud.http.at.AccessTokenManager;
import com.huawei.hiassistant.voice.abilityconnector.recognizer.local.nlu.NluResult;
import com.huawei.hiassistant.voice.common.bean.DialogRequestParam;
import com.huawei.hiassistant.voice.common.util.CommonDataUtil;
import com.huawei.hiassistant.voice.wakeup.common.WakeFileUtil;
import com.huawei.hms.ads.identifier.AdvertisingIdClient;
import com.huawei.hms.ml.language.common.utils.LanguageCodeUtil;
import defpackage.ad4;
import defpackage.di7;
import defpackage.ei7;
import defpackage.joa;
import defpackage.jsb;
import defpackage.lgb;
import defpackage.lnb;
import defpackage.nx9;
import defpackage.sab;
import defpackage.t44;
import defpackage.uh7;
import defpackage.uq1;
import defpackage.wgb;
import defpackage.wyb;
import defpackage.ydb;
import defpackage.yna;
import defpackage.ynb;
import defpackage.zg7;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Predicate;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public class RecognizeAbilityProxy implements RecognizeAbilityWrapperInterface {
private static final int BUFFER_LENGTH = 640;
private static final long INIT_INTERVAL = 1000;
private static final int INIT_STATUS_FAILED = 2;
private static final int INIT_STATUS_RUNNING = 1;
private static final int INIT_STATUS_SUCCESS = 3;
private static final int INIT_STATUS_UNKNOWN = 0;
private static final long INIT_TIME_OUT = 4000;
private static final String STRING_INVALID_PARAM = "invalid input parameter.";
private static final String TAG = "RecognizeAbilityProxy";
private String audioEncoding;
private ErrorInfo initErrorInfo;
private RecognizeAbilityInterface abilityProxy = new wyb();
private boolean isFirstAsrReplied = false;
private int initStatus = 0;
private volatile boolean isDialogFinished = true;
private Intent initParams = null;
private Intent recognizeIntent = null;
private Bundle textRecognizeRequest = null;
private Session recognizeSession = null;
private long initStartTime = 0;
private boolean isNeedClearRecognizeState = false;
private lnb recognizeListener = new AllRecognizeListener();
private lgb cachedTaskManager = new lgb();
private RecognizeAbilityMessageInterface.CallBack recognizeAbilityCallBack = createPseudoAbilityConnectorCallBack();
public class AllRecognizeListener extends lnb {
private AllRecognizeListener() {
}
private void handleErrorReally(ErrorInfo errorInfo, RecognizeAbilityMessageInterface.ErrorType errorType) {
int errorCode = errorInfo.getErrorCode();
if (errorCode != 1) {
if (errorCode != 17) {
if (errorCode == 503 || errorCode == 1011 || errorCode == 507001503) {
errorInfo.setText(IAssistantConfig.getInstance().getString(R$string.brieftts_syscommon_network_limit));
} else if (errorCode == 6) {
errorInfo.setText(IAssistantConfig.getInstance().getString(R$string.can_not_execute_text));
} else if (errorCode != 7) {
if (errorCode == 99) {
errorInfo.setErrorCode(1);
errorInfo.setText(IAssistantConfig.getInstance().getString(R$string.brieftts_syscommon_network_interrupt));
} else if (errorCode != 100) {
errorType = RecognizeAbilityMessageInterface.ErrorType.DATAPROCESS_RECOGNIZE_REQUEST_ERROR;
}
} else if (RecognizeAbilityProxy.this.abilityProxy.getAbilityType() == 2) {
errorInfo.setText(IAssistantConfig.getInstance().getString(R$string.brieftts_syscommon_network_overtime));
} else {
errorInfo.setText(IAssistantConfig.getInstance().getString(R$string.can_not_execute_text));
}
}
errorInfo.setText(IAssistantConfig.getInstance().getString(R$string.brieftts_syscommon_network_overtime));
RecognizeAbilityProxy.this.recognizeAbilityCallBack.onAssistantCommander(RecognizeAbilityMessageInterface.AssistantCommanderCode.ASSISTANT_COMMANDER_NETWORK_TIMEOUT, errorInfo);
} else {
errorInfo.setText(IAssistantConfig.getInstance().getString(R$string.brieftts_syscommon_network_overtime));
}
errorInfo.setErrorSourceType(RecognizeAbilityProxy.this.abilityProxy.getAbilityType());
RecognizeAbilityProxy.this.recognizeAbilityCallBack.onError(errorType, errorInfo);
RecognizeAbilityProxy.this.checkIfNeedReport(errorInfo);
}
public static HeaderPayload lambda$onDmPartialResult$5(List list) {
return BaseUtils.parseHeaderPayload(list, "DisplayStreamingText", "UserInteraction");
}
public static JsonElement lambda$onDmPartialResult$6(JsonObject jsonObject) {
return jsonObject.get("isStart");
}
public static Boolean lambda$onDmPartialResult$7(String str) {
return Boolean.valueOf(TextUtils.equals(str, DataServiceConstants.SYNC_PROPERTY_VALUE_SYNC_SCOPE_TRUE));
}
public void lambda$onError$9(ErrorInfo errorInfo) {
KitLog.error(RecognizeAbilityProxy.TAG, "Recognize onError oriErrorCode=" + errorInfo.getOriErrorCode() + " errorMsg=" + errorInfo.getErrorMsg() + ", voiceKitErrorCode: " + errorInfo.getErrorCode());
RecognizeAbilityMessageInterface.ErrorType errorType = RecognizeAbilityMessageInterface.ErrorType.DATAPROCESS_RECOGNIZE_ERROR;
if (RecognizeAbilityProxy.this.initStatus != 3 || errorInfo.getErrorCode() == 16) {
KitLog.error(RecognizeAbilityProxy.TAG, "Recognize INIT_STATUS_FAILED");
RecognizeAbilityProxy.this.initStatus = 2;
RecognizeAbilityProxy.this.initErrorInfo = errorInfo;
if (RecognizeAbilityProxy.this.recognizeIntent != null || RecognizeAbilityProxy.this.textRecognizeRequest != null) {
KitLog.info(RecognizeAbilityProxy.TAG, "onError startRecognize was wait");
RecognizeAbilityProxy.this.recognizeIntent = null;
RecognizeAbilityProxy.this.textRecognizeRequest = null;
}
RecognizeAbilityProxy.this.cachedTaskManager.h();
}
handleErrorReally(errorInfo, errorType);
}
public void lambda$onHiaiNluNoIntentsResult$12(String str) {
RecognizeAbilityProxy.this.recognizeAbilityCallBack.onIntentionUnderstand(RecognizeAbilityMessageInterface.IntentionUnderstandCode.INTENTION_UNDERSTAND_NO_INTENTS_RESULT, str);
}
public static boolean lambda$onHiaiNluResult$10(String str, String str2) {
return !TextUtils.isEmpty(str);
}
public static NluResult lambda$onHiaiNluResult$11(String str, String str2) {
return (NluResult) GsonUtils.toBean(str, NluResult.class);
}
public void lambda$onInit$0(Intent intent) {
RecognizeAbilityProxy recognizeAbilityProxy = RecognizeAbilityProxy.this;
recognizeAbilityProxy.doStartRecognize(recognizeAbilityProxy.recognizeSession, new Intent(intent));
}
public void lambda$onInit$1() {
if (RecognizeAbilityProxy.this.initStatus != 1) {
KitLog.warn(RecognizeAbilityProxy.TAG, "ignore onInit initRecognizeEngine success, for initStatus =" + RecognizeAbilityProxy.this.initStatus);
return;
}
KitLog.info(RecognizeAbilityProxy.TAG, "Recognize onInit initRecognizeEngine success");
RecognizeAbilityProxy.this.initStatus = 3;
RecognizeAbilityProxy.this.initErrorInfo = null;
RecognizeAbilityProxy.this.recognizeAbilityCallBack.onInit();
if (RecognizeAbilityProxy.this.cachedTaskManager.g()) {
RecognizeAbilityProxy.this.cachedTaskManager.b(RecognizeAbilityProxy.this.abilityProxy);
}
if (RecognizeAbilityProxy.this.isNeedClearRecognizeState) {
RecognizeAbilityProxy.this.abilityProxy.clearRecognizeState();
RecognizeAbilityProxy.this.isNeedClearRecognizeState = false;
}
Optional.ofNullable(RecognizeAbilityProxy.this.recognizeIntent).ifPresent(new Consumer() {
@Override
public final void accept(Object obj) {
RecognizeAbilityProxy.AllRecognizeListener.this.lambda$onInit$0((Intent) obj);
}
});
if (RecognizeAbilityProxy.this.textRecognizeRequest == null) {
KitLog.info(RecognizeAbilityProxy.TAG, "do not switch recognizer");
} else {
RecognizeAbilityProxy recognizeAbilityProxy = RecognizeAbilityProxy.this;
recognizeAbilityProxy.doStartNluAnalyze(recognizeAbilityProxy.textRecognizeRequest);
}
}
public static HeaderPayload lambda$onResult$2(List list) {
return BaseUtils.parseHeaderPayload(list, "DisplayStreamingText", "UserInteraction");
}
public static JsonElement lambda$onResult$3(JsonObject jsonObject) {
return jsonObject.get("isFinal");
}
public static Boolean lambda$onResult$4(String str) {
return Boolean.valueOf(TextUtils.equals(str, DataServiceConstants.SYNC_PROPERTY_VALUE_SYNC_SCOPE_TRUE));
}
public static String lambda$reportIntentionExecuteRecord$8(Session session) {
return String.valueOf(session.getDialogId());
}
private void reportIntentionExecuteRecord(VoiceKitMessage voiceKitMessage) {
String str = (String) Optional.ofNullable(voiceKitMessage).map(new nx9()).map(new Function() {
@Override
public final Object apply(Object obj) {
String lambda$reportIntentionExecuteRecord$8;
lambda$reportIntentionExecuteRecord$8 = RecognizeAbilityProxy.AllRecognizeListener.lambda$reportIntentionExecuteRecord$8((Session) obj);
return lambda$reportIntentionExecuteRecord$8;
}
}).orElse("");
boolean booleanValue = ((Boolean) Optional.ofNullable(voiceKitMessage).map(new ei7()).orElse(Boolean.FALSE)).booleanValue();
if (TextUtils.equals(str, OperationReportUtils.getInstance().getIntentionExecuteRecord().getDialogId()) && !OperationReportUtils.getInstance().getIntentionExecuteRecord().isDialogFinishedFlag() && booleanValue) {
OperationReportUtils.getInstance().getIntentionExecuteRecord().setEndTime(String.valueOf(System.currentTimeMillis()));
OperationReportUtils.getInstance().getIntentionExecuteRecord().setNetType(NetworkUtil.isNetworkAvailable(IAssistantConfig.getInstance().getAppContext()) ? "1" : "0");
OperationReportUtils.getInstance().reportIntentionExecuteRecord();
}
}
@Override
public void onAsrWaiting(Session session) {
KitLog.debug(RecognizeAbilityProxy.TAG, "onAsrWaiting", new Object[0]);
RecognizeAbilityProxy.this.handleAsrTimeout(session);
}
@Override
public void onDmPartialResult(VoiceKitMessage voiceKitMessage) {
if (voiceKitMessage == null) {
KitLog.warn(RecognizeAbilityProxy.TAG, "Recognize onDmPartialResult voiceResponse is null");
return;
}
KitLog.info(RecognizeAbilityProxy.TAG, "onDmPartialResult");
VoiceBusinessFlowCache.getInstance().cache(voiceKitMessage);
voiceKitMessage.setOriErrorCode(voiceKitMessage.getErrorCode());
if ("updateVoiceContext".equals(voiceKitMessage.getEventType()) || MessageConstants.MessageName.MSG_NAME_UPDATE_VOICE_CONTEXT_RSP.equals(voiceKitMessage.getSession().getMessageName())) {
KitLog.info(RecognizeAbilityProxy.TAG, "onResult updateVoiceContextRsp");
RecognizeAbilityProxy.this.recognizeAbilityCallBack.onIntentionHandler(RecognizeAbilityMessageInterface.IntentionHandlerCode.INTENTION_HANDLER_UPDATE_VOICE_CONTEXT_RESULT, voiceKitMessage);
return;
}
Session session = voiceKitMessage.getSession();
if (((Boolean) Optional.ofNullable(voiceKitMessage).map(new t44()).map(new Function() {
@Override
public final Object apply(Object obj) {
HeaderPayload lambda$onDmPartialResult$5;
lambda$onDmPartialResult$5 = RecognizeAbilityProxy.AllRecognizeListener.lambda$onDmPartialResult$5((List) obj);
return lambda$onDmPartialResult$5;
}
}).map(new yna()).map(new joa()).map(new Function() {
@Override
public final Object apply(Object obj) {
JsonElement lambda$onDmPartialResult$6;
lambda$onDmPartialResult$6 = RecognizeAbilityProxy.AllRecognizeListener.lambda$onDmPartialResult$6((JsonObject) obj);
return lambda$onDmPartialResult$6;
}
}).map(new uq1()).map(new Function() {
@Override
public final Object apply(Object obj) {
Boolean lambda$onDmPartialResult$7;
lambda$onDmPartialResult$7 = RecognizeAbilityProxy.AllRecognizeListener.lambda$onDmPartialResult$7((String) obj);
return lambda$onDmPartialResult$7;
}
}).orElse(Boolean.FALSE)).booleanValue()) {
StreamingStatusManager.getInstance().setStreamingStateMap(InteractionIdInfo.build(session.getSessionId(), session.getInteractionId()), StreamingStatusManager.StreamingState.STREAMING_START);
} else {
StreamingStatusManager.getInstance().setStreamingStateMap(InteractionIdInfo.build(session.getSessionId(), session.getInteractionId()), StreamingStatusManager.StreamingState.STREAMING_ON);
}
RecognizeAbilityProxy.this.recognizeAbilityCallBack.onIntentionHandler(RecognizeAbilityMessageInterface.IntentionHandlerCode.INTENTION_HANDLER_PARTIAL_RESULT, voiceKitMessage);
}
@Override
public void onDmPartialWaiting(Session session) {
KitLog.debug(RecognizeAbilityProxy.TAG, "onDmPartialWaiting", new Object[0]);
RecognizeAbilityProxy.this.recognizeAbilityCallBack.onIntentionHandler(RecognizeAbilityMessageInterface.IntentionHandlerCode.INTENTION_HANDLER_DM_PARTIAL_WAITING_RESULT, session);
}
@Override
public void onDmWaiting(Session session) {
KitLog.debug(RecognizeAbilityProxy.TAG, "onDmWaiting", new Object[0]);
RecognizeAbilityProxy.this.recognizeAbilityCallBack.onIntentionHandler(RecognizeAbilityMessageInterface.IntentionHandlerCode.INTENTION_HANDLER_DM_WAITING_RESULT, session);
}
@Override
public void onError(final ErrorInfo errorInfo) {
AbilityConnectorThread.Recognize.THREAD.post(new Runnable() {
@Override
public final void run() {
RecognizeAbilityProxy.AllRecognizeListener.this.lambda$onError$9(errorInfo);
}
});
}
@Override
public void onEventResult(VoiceKitMessage voiceKitMessage) {
KitLog.debug(RecognizeAbilityProxy.TAG, "onEventResult!!", new Object[0]);
if (voiceKitMessage.getVoicePayload("System", "ActiveVoiceInteraction") != null) {
KitLog.info(RecognizeAbilityProxy.TAG, "onEventResult-ActiveVoiceInteraction");
VoiceBusinessFlowCache.getInstance().cache(voiceKitMessage);
}
voiceKitMessage.setOriErrorCode(voiceKitMessage.getErrorCode());
RecognizeAbilityProxy.this.recognizeAbilityCallBack.onIntentionHandler(RecognizeAbilityMessageInterface.IntentionHandlerCode.INTENTION_HANDLER_EVENT_RESULT, voiceKitMessage);
}
@Override
public void onHiaiAsrResult(Session session, String str) {
KitLog.debug(RecognizeAbilityProxy.TAG, "onHiaiAsrResult", new Object[0]);
if (str != null) {
RecognizeAbilityProxy.this.recognizeAbilityCallBack.onDataProcess(RecognizeAbilityMessageInterface.DataProcessCode.LAST_RESULT, AssistantMessage.builder(str, session).build());
}
}
@Override
public void onHiaiNluNoIntentsResult(String str) {
KitLog.debug(RecognizeAbilityProxy.TAG, "onHiaiNluNoIntentsResult", new Object[0]);
Optional.ofNullable(str).ifPresent(new Consumer() {
@Override
public final void accept(Object obj) {
RecognizeAbilityProxy.AllRecognizeListener.this.lambda$onHiaiNluNoIntentsResult$12((String) obj);
}
});
}
@Override
public void onHiaiNluResult(final String str) {
KitLog.debug(RecognizeAbilityProxy.TAG, "onHiaiNluResult", new Object[0]);
if (str != null) {
RecognizeAbilityProxy.this.recognizeAbilityCallBack.onIntentionUnderstand(RecognizeAbilityMessageInterface.IntentionUnderstandCode.INTENTION_UNDERSTAND_RESULT, AssistantMessage.builder(str, (Session) Optional.ofNullable(str).filter(new Predicate() {
@Override
public final boolean test(Object obj) {
boolean lambda$onHiaiNluResult$10;
lambda$onHiaiNluResult$10 = RecognizeAbilityProxy.AllRecognizeListener.lambda$onHiaiNluResult$10(str, (String) obj);
return lambda$onHiaiNluResult$10;
}
}).map(new Function() {
@Override
public final Object apply(Object obj) {
NluResult lambda$onHiaiNluResult$11;
lambda$onHiaiNluResult$11 = RecognizeAbilityProxy.AllRecognizeListener.lambda$onHiaiNluResult$11(str, (String) obj);
return lambda$onHiaiNluResult$11;
}
}).map(new di7()).orElse(null)).build());
}
}
@Override
public void onInit() {
AbilityConnectorThread.Recognize.THREAD.post(new Runnable() {
@Override
public final void run() {
RecognizeAbilityProxy.AllRecognizeListener.this.lambda$onInit$1();
}
});
}
@Override
public void onPartialResult(VoiceKitMessage voiceKitMessage) {
RecognizeAbilityProxy.this.handlePartialResult(voiceKitMessage);
}
@Override
public void onRestartVolumeDetection(Session session) {
KitLog.debug(RecognizeAbilityProxy.TAG, "onRestartVolumeDetection", new Object[0]);
RecognizeAbilityProxy.this.recognizeAbilityCallBack.onDataAcquisition(RecognizeAbilityMessageInterface.DataAcquisitionCode.RESTART_VOLUME_DETECTION, session);
}
@Override
public void onResult(VoiceKitMessage voiceKitMessage) {
if (voiceKitMessage == null) {
KitLog.warn(RecognizeAbilityProxy.TAG, "Recognize onResult voiceResponse is null");
return;
}
KitLog.info(RecognizeAbilityProxy.TAG, "onResult");
VoiceBusinessFlowCache.getInstance().cache(voiceKitMessage);
voiceKitMessage.setOriErrorCode(voiceKitMessage.getErrorCode());
if ("updateVoiceContext".equals(voiceKitMessage.getEventType()) || MessageConstants.MessageName.MSG_NAME_UPDATE_VOICE_CONTEXT_RSP.equals(voiceKitMessage.getSession().getMessageName())) {
KitLog.info(RecognizeAbilityProxy.TAG, "onResult updateVoiceContextRsp");
List<HeaderPayload> directives = voiceKitMessage.getDirectives();
if (directives == null || directives.isEmpty()) {
KitLog.warn(RecognizeAbilityProxy.TAG, "onResult: invalid updateVoiceContextRsp");
reportIntentionExecuteRecord(voiceKitMessage);
return;
} else {
RecognizeAbilityProxy.this.updateDialogState(voiceKitMessage);
RecognizeAbilityProxy.this.recognizeAbilityCallBack.onIntentionHandler(RecognizeAbilityMessageInterface.IntentionHandlerCode.INTENTION_HANDLER_UPDATE_VOICE_CONTEXT_RESULT, voiceKitMessage);
return;
}
}
Session session = voiceKitMessage.getSession();
InteractionIdInfo.build(session.getSessionId(), session.getInteractionId());
if (((Boolean) Optional.ofNullable(voiceKitMessage).map(new t44()).map(new Function() {
@Override
public final Object apply(Object obj) {
HeaderPayload lambda$onResult$2;
lambda$onResult$2 = RecognizeAbilityProxy.AllRecognizeListener.lambda$onResult$2((List) obj);
return lambda$onResult$2;
}
}).map(new yna()).map(new joa()).map(new Function() {
@Override
public final Object apply(Object obj) {
JsonElement lambda$onResult$3;
lambda$onResult$3 = RecognizeAbilityProxy.AllRecognizeListener.lambda$onResult$3((JsonObject) obj);
return lambda$onResult$3;
}
}).map(new uq1()).map(new Function() {
@Override
public final Object apply(Object obj) {
Boolean lambda$onResult$4;
lambda$onResult$4 = RecognizeAbilityProxy.AllRecognizeListener.lambda$onResult$4((String) obj);
return lambda$onResult$4;
}
}).orElse(Boolean.FALSE)).booleanValue()) {
StreamingStatusManager.getInstance().setStreamingStateMap(InteractionIdInfo.build(session.getSessionId(), session.getInteractionId()), StreamingStatusManager.StreamingState.STREAMING_END);
} else {
StreamingStatusManager.getInstance().setStreamingStateMap(InteractionIdInfo.build(session.getSessionId(), session.getInteractionId()), StreamingStatusManager.StreamingState.NONE);
}
RecognizeAbilityProxy.this.updateDialogState(voiceKitMessage);
ArrayList arrayList = new ArrayList(voiceKitMessage.getDirectiveNames());
RecognizeAbilityProxy.this.recognizeAbilityCallBack.onIntentionHandler(RecognizeAbilityMessageInterface.IntentionHandlerCode.INTENTION_HANDLER_RESULT, voiceKitMessage);
OperationReportUtils.getInstance().reportBusinessFlowRecognizeRecord(voiceKitMessage, RecognizeAbilityProxy.this.isDialogFinished, arrayList);
OperationReportUtils.getInstance().reportCallFault(voiceKitMessage);
OperationReportUtils.getInstance().reportNluMaintenanceData(voiceKitMessage);
}
@Override
public void onSpeechEnd(Session session) {
KitLog.debug(RecognizeAbilityProxy.TAG, "onSpeechEnd", new Object[0]);
if (session == null || !session.isFullDuplexMode()) {
RecognizeAbilityProxy.this.recognizeAbilityCallBack.onDataProcess(RecognizeAbilityMessageInterface.DataProcessCode.STOP_ACQUISITION, session);
} else {
RecognizeAbilityProxy.this.recognizeAbilityCallBack.onDataProcess(RecognizeAbilityMessageInterface.DataProcessCode.FULLDUPLEX_VAD_ENDPOINT, session);
}
OperationReportUtils.getInstance().getOperationNluIntentionCollect().setSpeechEndTime(System.currentTimeMillis());
if (RecognizeAbilityProxy.this.isFirstAsrReplied) {
if (RecordStartType.INTERRUPT.getType().equals(OperationReportUtils.getInstance().getRecordTypeRecord().getRecordType())) {
OperationReportUtils.getInstance().getDelayTimeRecord().setInterruptRecordSpeechEndTime(System.currentTimeMillis());
} else {
OperationReportUtils.getInstance().getDelayTimeRecord().setSpeechEndTime(System.currentTimeMillis());
}
}
}
@Override
public void onSpeechStart(Session session) {
KitLog.debug(RecognizeAbilityProxy.TAG, "onSpeechStart", new Object[0]);
if (ModuleInstanceFactory.Ability.visible().isAutoMode()) {
ModuleInstanceFactory.Ability.visible().getVisibleInfo();
}
if (session == null || !session.isFullDuplexMode()) {
RecognizeAbilityProxy.this.recognizeAbilityCallBack.onDataProcess(RecognizeAbilityMessageInterface.DataProcessCode.VALID_DATA_ACQUIRED, null);
} else {
RecognizeAbilityProxy.this.recognizeAbilityCallBack.onDataProcess(RecognizeAbilityMessageInterface.DataProcessCode.FULLDUPLEX_VAD_FRONTPOINT, session);
}
if (RecordStartType.INTERRUPT.getType().equals(OperationReportUtils.getInstance().getRecordTypeRecord().getRecordType())) {
OperationReportUtils.getInstance().getDelayTimeRecord().setInterruptRecordSpeechStartTime(System.currentTimeMillis());
} else {
OperationReportUtils.getInstance().getDelayTimeRecord().setSpeechStartTime(System.currentTimeMillis());
}
}
@Override
public void onUploadWakeupResult(int i) {
KitLog.info(RecognizeAbilityProxy.TAG, "onUploadWakeupResult " + i);
RecognizeAbilityProxy.this.recognizeAbilityCallBack.onDataProcess(RecognizeAbilityMessageInterface.DataProcessCode.UPLOAD_WAKEUP_RESULT, Integer.valueOf(i));
}
@Override
public void onVolumeGet(int i) {
if (IAssistantConfig.getInstance().sdkConfig().isNeedVolumeCallback()) {
RecognizeAbilityProxy.this.handleVolumeGet(i);
} else {
KitLog.debug(RecognizeAbilityProxy.TAG, "skip handleVolumeGet", new Object[0]);
}
}
}
public RecognizeAbilityProxy() {
ModuleInstanceFactory.Tools.THREAD_POOL.execute(new Runnable() {
@Override
public final void run() {
RecognizeAbilityProxy.lambda$new$0();
}
});
}
private void addPowerSaveWhitelistApp(Context context) {
KitLog.debug(TAG, "addPowerSaveWhitelistApp", new Object[0]);
if (isMissingDevicePowerPermission(context)) {
return;
}
SystemProxyFactory.getProxy().addPowerSaveWhitelistApp(context.getPackageName());
}
private void cacheVisibleInfo(Session session) {
String str = (String) VoiceKitSdkContext.getInstance().get(RecognizerIntent.EXT_VOICE_CONTEXT, String.class).map(new Function() {
@Override
public final Object apply(Object obj) {
RecognizeContext lambda$cacheVisibleInfo$16;
lambda$cacheVisibleInfo$16 = RecognizeAbilityProxy.lambda$cacheVisibleInfo$16((String) obj);
return lambda$cacheVisibleInfo$16;
}
}).map(new Function() {
@Override
public final Object apply(Object obj) {
HeaderPayload lambda$cacheVisibleInfo$17;
lambda$cacheVisibleInfo$17 = RecognizeAbilityProxy.lambda$cacheVisibleInfo$17((RecognizeContext) obj);
return lambda$cacheVisibleInfo$17;
}
}).map(new yna()).map(new joa()).map(new Function() {
@Override
public final Object apply(Object obj) {
String jsonElement;
jsonElement = ((JsonObject) obj).toString();
return jsonElement;
}
}).orElse("");
VisibleInfoCacheManager.getInstance().setAppVisibles(session.getSessionId() + ((int) session.getInteractionId()), str);
}
public void checkIfNeedReport(ErrorInfo errorInfo) {
boolean z = true;
if (errorInfo.getErrorCode() != 99 && errorInfo.getErrorCode() != 1) {
z = false;
}
if (z && !PluginUtil.checkPlugin(IAssistantConfig.getInstance().getAppContext(), PluginUtil.DM_PLUGIN) && !PropertyUtil.isGreaterThanEmuiEleven()) {
OperationReportUtils.getInstance().getTimeOutRecord().setTips("2");
OperationReportUtils.getInstance().reportTimeOutRecord();
}
if (z || errorInfo.getErrorCode() == 100 || errorInfo.getErrorCode() == 17) {
IassistantThreadPool.getInstance().execute(new uh7());
}
}
private RecognizeAbilityMessageInterface.CallBack createPseudoAbilityConnectorCallBack() {
return new RecognizeAbilityMessageInterface.CallBack() {
@Override
public void onAssistantCommander(RecognizeAbilityMessageInterface.AssistantCommanderCode assistantCommanderCode, Object obj) {
KitLog.error(RecognizeAbilityProxy.TAG, "unexpected method onAssistantCommander call");
}
@Override
public void onDataAcquisition(RecognizeAbilityMessageInterface.DataAcquisitionCode dataAcquisitionCode, Object obj) {
KitLog.error(RecognizeAbilityProxy.TAG, "unexpected method onDataAcquisition call");
}
@Override
public void onDataProcess(RecognizeAbilityMessageInterface.DataProcessCode dataProcessCode, Object obj) {
KitLog.error(RecognizeAbilityProxy.TAG, "unexpected method onDataProcess call");
}
@Override
public void onError(RecognizeAbilityMessageInterface.ErrorType errorType, ErrorInfo errorInfo) {
KitLog.error(RecognizeAbilityProxy.TAG, "unexpected method onError call");
}
@Override
public void onInit() {
KitLog.error(RecognizeAbilityProxy.TAG, "unexpected method onInit call");
}
@Override
public void onIntentionHandler(RecognizeAbilityMessageInterface.IntentionHandlerCode intentionHandlerCode, Object obj) {
KitLog.error(RecognizeAbilityProxy.TAG, "unexpected method onIntentionHandler call");
}
@Override
public void onIntentionUnderstand(RecognizeAbilityMessageInterface.IntentionUnderstandCode intentionUnderstandCode, Object obj) {
KitLog.error(RecognizeAbilityProxy.TAG, "unexpected method onIntentionUnderstand call");
}
@Override
public void onRelease() {
KitLog.error(RecognizeAbilityProxy.TAG, "unexpected method onRelease call");
}
};
}
public void doStartNluAnalyze(Bundle bundle) {
KitLog.info(TAG, "doStartNluAnalyze");
this.abilityProxy.startNluAnalyze((Session) SecureIntentUtil.getSecureBundleParcelable(bundle, "session", Session.class), bundle);
this.textRecognizeRequest = null;
}
public void doStartRecognize(Session session, Intent intent) {
if (session == null) {
KitLog.error(TAG, "doStartRecognize session is null");
return;
}
reportRealRecognizer(session);
KitLog.debug(TAG, "doStartRecognize", new Object[0]);
this.isFirstAsrReplied = false;
if (!DeviceUtil.isTv()) {
cacheVisibleInfo(session);
}
this.abilityProxy.startRecognize(session, intent);
this.recognizeIntent = null;
this.recognizeSession = null;
}
private int getExpectAbilityType(Intent intent) {
KitLog.debug(TAG, "getExpectAbilityType", new Object[0]);
if (intent != null && intent.hasExtra(RecognizerIntent.EXT_RECOGNIZE_MODE)) {
if (RecognizerIntent.HW_CLOUD_RECOGNIZER.equals(SecureIntentUtil.getSecureIntentString(intent, RecognizerIntent.EXT_RECOGNIZE_MODE))) {
KitLog.info(TAG, "getExpectAbilityType: custom cloud");
return 2;
}
if (RecognizerIntent.HW_LOCAL_RECOGNIZER.equals(SecureIntentUtil.getSecureIntentString(intent, RecognizerIntent.EXT_RECOGNIZE_MODE)) && (PluginUtil.isHiaiExist().booleanValue() || PluginUtil.isInAppAiExist().booleanValue())) {
KitLog.info(TAG, "getExpectAbilityType: custom hiai");
return 1;
}
if (RecognizerIntent.HW_COORDINATION_RECOGNIZER.equals(SecureIntentUtil.getSecureIntentString(intent, RecognizerIntent.EXT_RECOGNIZE_MODE)) && (PluginUtil.isHiaiExist().booleanValue() || PluginUtil.isInAppAiExist().booleanValue())) {
return 3;
}
if (RecognizerIntent.HW_LOCAL_LONG_RECORDING_RECOGNIZER.equals(SecureIntentUtil.getSecureIntentString(intent, RecognizerIntent.EXT_RECOGNIZE_MODE))) {
return 4;
}
}
Context appContext = IAssistantConfig.getInstance().getAppContext();
if (!NetworkUtil.isNetworkAvailable(appContext)) {
tryToFixNetworkIssue(appContext);
}
if (!NetworkUtil.isNetworkAvailable(appContext) || !isFirstRecogOrHiVoiceAvailable()) {
return (PluginUtil.isHiaiExist().booleanValue() || PluginUtil.isInAppAiExist().booleanValue()) ? 1 : 2;
}
KitLog.debug(TAG, "getExpectAbilityType:Network available, use cloud", new Object[0]);
return 2;
}
public void handleAsrTimeout(Session session) {
KitLog.info(TAG, "handleAsrTimeout");
JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("text", IAssistantConfig.getInstance().getString(R$string.brieftts_syscommon_network_waiting));
jsonObject.addProperty("isFinish", Boolean.FALSE);
jsonObject.addProperty("type", DisplayAsrPayload.TYPE_PROMPT);
this.recognizeAbilityCallBack.onDataProcess(RecognizeAbilityMessageInterface.DataProcessCode.INTERMEDIATE_RESULT, AssistantMessage.builder(jsonObject, session).build());
}
public void handlePartialResult(VoiceKitMessage voiceKitMessage) {
Payload payload;
if (voiceKitMessage == null) {
KitLog.warn(TAG, "onPartialResult voiceResponse is null");
return;
}
short interactionId = voiceKitMessage.getSession().getInteractionId();
if (interactionId < BusinessFlowId.getInstance().getInteractionId()) {
KitLog.info(TAG, "handlePartialResult skip not current interaction =" + ((int) interactionId));
return;
}
HeaderPayload voicePayload = voiceKitMessage.getVoicePayload("UserInteraction", "DisplayASR");
DisplayAsr displayAsr = (voicePayload == null || (payload = voicePayload.getPayload()) == null || payload.getJsonObject() == null) ? null : (DisplayAsr) GsonUtils.toBean((JsonElement) payload.getJsonObject(), DisplayAsr.class);
if (displayAsr == null) {
KitLog.info(TAG, "DisplayAsr is null, will ignore this partial result");
return;
}
JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("text", displayAsr.getText());
jsonObject.addProperty("isFinish", Boolean.valueOf(displayAsr.isFinish()));
jsonObject.addProperty("type", displayAsr.getType());
if (!TextUtils.isEmpty(displayAsr.getAsrPreText())) {
jsonObject.addProperty("asrPreText", displayAsr.getAsrPreText());
}
if (!TextUtils.isEmpty(displayAsr.getAsrPrePinyin())) {
jsonObject.addProperty("asrPrePinyin", displayAsr.getAsrPrePinyin());
}
if (displayAsr.getBg() >= 0) {
jsonObject.addProperty(LanguageCodeUtil.BG, Long.valueOf(displayAsr.getBg()));
}
if (displayAsr.getEd() >= 0) {
jsonObject.addProperty("ed", Long.valueOf(displayAsr.getEd()));
}
this.recognizeAbilityCallBack.onDataProcess(RecognizeAbilityMessageInterface.DataProcessCode.INTERMEDIATE_RESULT, AssistantMessage.builder(jsonObject, voiceKitMessage.getSession()).build());
if (TextUtils.equals(displayAsr.getType(), DisplayAsrPayload.TYPE_PROMPT)) {
KitLog.info(TAG, "displayAsr is TYPE_PROMPT");
return;
}
String text = displayAsr.getText();
OperationReportUtils.getInstance().getRecordTypeRecord().setCount(text != null ? text.length() : 0);
handlePartialResultReally(displayAsr, voiceKitMessage);
}
private void handlePartialResultReally(DisplayAsr displayAsr, VoiceKitMessage voiceKitMessage) {
if (!displayAsr.isFinish()) {
if (this.isFirstAsrReplied || TextUtils.isEmpty(displayAsr.getText())) {
return;
}
handleSpeechStart(voiceKitMessage);
return;
}
OperationReportUtils.getInstance().getOperationNluIntentionCollect().setLastAsrRepliedTime(System.currentTimeMillis());
MultiIntentionManager.setLastDisplayAsrText(displayAsr.getText());
KitLog.info(TAG, "onPartialResult last Asr");
if (this.isFirstAsrReplied) {
if (RecordStartType.INTERRUPT.getType().equals(OperationReportUtils.getInstance().getRecordTypeRecord().getRecordType())) {
OperationReportUtils.getInstance().getDelayTimeRecord().setInterruptRecordLastAsrTime(System.currentTimeMillis());
} else {
OperationReportUtils.getInstance().getDelayTimeRecord().setLastAsrTime(System.currentTimeMillis());
}
}
this.recognizeAbilityCallBack.onDataProcess(RecognizeAbilityMessageInterface.DataProcessCode.ASR_ENDED, AssistantMessage.builder(Long.valueOf(System.currentTimeMillis()), voiceKitMessage.getSession()).build());
if (voiceKitMessage.getSession().isFullDuplexMode()) {
this.recognizeAbilityCallBack.onDataProcess(RecognizeAbilityMessageInterface.DataProcessCode.FULLDUPLEX_LAST_RESULT_ACQUIRED, voiceKitMessage.getSession());
} else {
this.recognizeAbilityCallBack.onDataProcess(RecognizeAbilityMessageInterface.DataProcessCode.LAST_RESULT_ACQUIRED, voiceKitMessage.getSession());
}
}
private void handleSpeechStart(VoiceKitMessage voiceKitMessage) {
KitLog.info(TAG, "handleSpeechStart");
OperationReportUtils.getInstance().getOperationNluIntentionCollect().setFirstAsrRepliedTime(System.currentTimeMillis());
this.recognizeAbilityCallBack.onDataProcess(RecognizeAbilityMessageInterface.DataProcessCode.FIRST_RESULT_ACQUIRED, AssistantMessage.builder(Long.valueOf(System.currentTimeMillis()), voiceKitMessage.getSession()).build());
this.isFirstAsrReplied = true;
if (RecordStartType.INTERRUPT.getType().equals(OperationReportUtils.getInstance().getRecordTypeRecord().getRecordType())) {
OperationReportUtils.getInstance().getDelayTimeRecord().setInterruptRecordFirstAsrTime(System.currentTimeMillis());
} else {
OperationReportUtils.getInstance().getDelayTimeRecord().setFirstAsrTime(System.currentTimeMillis());
}
}
public void handleVolumeGet(int i) {
UiPayload uiPayload = new UiPayload();
uiPayload.setContent(Integer.toString(i));
this.recognizeAbilityCallBack.onDataProcess(RecognizeAbilityMessageInterface.DataProcessCode.UPDATE_VOLUME, VoiceKitMessage.buildUiMessage(UiMessageType.VOICE_VOLUME_DISPLAY, uiPayload));
}
private void init(Intent intent, int i) {
KitLog.info(TAG, "init abilityType=" + i);
this.initStatus = 1;
this.initErrorInfo = null;
this.initStartTime = System.currentTimeMillis();
if (intent == null) {
KitLog.debug(TAG, "params is null!!", new Object[0]);
this.recognizeListener.onError(new ErrorInfo(2, STRING_INVALID_PARAM));
return;
}
if (!intent.hasExtra(RecognizerIntent.EXT_DEVICE_ID_3RD) || TextUtils.isEmpty(SecureIntentUtil.getSecureIntentString(intent, RecognizerIntent.EXT_DEVICE_ID_3RD))) {
KitLog.warn(TAG, "no deviceId3rd in params");
this.recognizeListener.onError(new ErrorInfo(13, "no deviceId3rd in params"));
return;
}
ModuleInstanceFactory.State.platformState().getSessionState().setUserExperiencePlanSwitch(SecureIntentUtil.getSecureIntentBoolean(intent, "isExperiencePlan", false));
IAssistantConfig.setCurrentVoiceLang(SecureIntentUtil.getSecureIntentString(intent, "language"));
String secureIntentString = SecureIntentUtil.getSecureIntentString(intent, RecognizerIntent.EXT_DEVICE_ID_3RD);
UuidUtils.setPrivacyUuid(secureIntentString);
String secureIntentString2 = SecureIntentUtil.getSecureIntentString(intent, "deviceName", "phone");
KitLog.info(TAG, "device=" + KitLog.getSecurityString(secureIntentString) + " ,deviceName :" + secureIntentString2);
DeviceUtil.setDeviceName(secureIntentString2);
HiAnalyticsReport.getInstance().setDeviceType(secureIntentString2);
if (i == 1) {
this.abilityProxy = new ydb(this.recognizeListener);
} else if (i == 2) {
this.abilityProxy = new sab(this.recognizeListener);
} else if (i != 4) {
this.abilityProxy = new wgb(this.recognizeListener);
} else {
if (!PluginUtil.isHiaiExist().booleanValue()) {
KitLog.warn(TAG, "no hiai plugin");
this.recognizeListener.onError(new ErrorInfo(7, "no hiai plugin"));
return;
}
this.abilityProxy = new jsb(this.recognizeListener);
}
this.abilityProxy.initRecognizeEngine(intent);
OperationReportUtils.getInstance().reset();
OperationReportUtils.getInstance().getIntentionExecuteRecord().setRecognizer(String.valueOf(i));
String secureIntentString3 = SecureIntentUtil.getSecureIntentString(intent, "deviceName", "");
OperationReportUtils.getInstance().setDeviceType(secureIntentString3 != null ? secureIntentString3 : "");
OperationReportUtils.getInstance().setAppId(CommonDataUtil.getAppId());
OperationReportUtils.getInstance().getKitLifeCycleRecord().setApp(CommonDataUtil.getAppId());
}
private boolean isFirstRecogOrHiVoiceAvailable() {
return BusinessFlowId.getInstance().getInteractionId() <= 1 || ModuleInstanceFactory.Commander.networkCheckProvider().isHiVoiceAvailable();
}
private boolean isLimitLength() {
return !TextUtils.equals(this.audioEncoding, "opus");
}
private boolean isMissingDevicePowerPermission(Context context) {
if (context == null) {
return false;
}
boolean z = context.checkSelfPermission("android.permission.DEVICE_POWER") != 0;
KitLog.info(TAG, "isMissingDevicePowerPermission:" + z);
return z;
}
private boolean isTryInitNecessary(Intent intent) {
return ((Boolean) Optional.ofNullable(intent).map(new Function() {
@Override
public final Object apply(Object obj) {
Boolean lambda$isTryInitNecessary$15;
lambda$isTryInitNecessary$15 = RecognizeAbilityProxy.lambda$isTryInitNecessary$15((Intent) obj);
return lambda$isTryInitNecessary$15;
}
}).orElse(Boolean.TRUE)).booleanValue();
}
public static RecognizeContext lambda$cacheVisibleInfo$16(String str) {
return (RecognizeContext) GsonUtils.toBean(str, RecognizeContext.class);
}
public static HeaderPayload lambda$cacheVisibleInfo$17(RecognizeContext recognizeContext) {
return recognizeContext.getContextsPayload("VisibleInfo", "UserWindow");
}
public void lambda$cancelRecognize$22() {
KitLog.debug(TAG, "Recognize call cancelRecognize", new Object[0]);
this.recognizeIntent = null;
this.recognizeSession = null;
this.textRecognizeRequest = null;
this.cachedTaskManager.h();
RecognizeAbilityInterface recognizeAbilityInterface = this.abilityProxy;
if (recognizeAbilityInterface != null) {
recognizeAbilityInterface.cancelRecognize();
}
OperationReportUtils.getInstance().getDelayTimeRecord().setCancelRecognizeTime(System.currentTimeMillis());
}
public void lambda$destroy$30() {
KitLog.debug(TAG, "destroy all recognizer", new Object[0]);
this.initStatus = 0;
this.recognizeAbilityCallBack.onRelease();
this.initStartTime = 0L;
this.initErrorInfo = null;
this.isNeedClearRecognizeState = false;
this.abilityProxy.destroy();
this.abilityProxy = new wyb();
this.cachedTaskManager.h();
VoiceKitSdkContext.getInstance().clearRecognizeContexts();
this.isFirstAsrReplied = false;
this.isDialogFinished = true;
this.recognizeAbilityCallBack = createPseudoAbilityConnectorCallBack();
removePowerSaveWhitelistApp(IAssistantConfig.getInstance().getAppContext());
RealMachineStatusManager.getInstance().reset();
}
public static void lambda$destroyEngine$31(String str) {
ModuleInstanceFactory.Ability.externalDataService().unRegisterBatchAware(str);
}
public void lambda$destroyEngine$32() {
KitLog.info(TAG, "destroy all recognizer");
this.initStatus = 0;
this.recognizeAbilityCallBack.onRelease();
this.initStartTime = 0L;
this.initErrorInfo = null;
this.initParams = null;
this.isNeedClearRecognizeState = false;
this.abilityProxy.destroy();
this.abilityProxy = new wyb();
this.cachedTaskManager.h();
removePowerSaveWhitelistApp(IAssistantConfig.getInstance().getAppContext());
RealMachineStatusManager.getInstance().reset();
VoiceKitSdkContext.getInstance().getRecognizeContext(RecognizerIntent.EXT_SUBSCRIBE_CA_INFO, String.class).ifPresent(new Consumer() {
@Override
public final void accept(Object obj) {
RecognizeAbilityProxy.lambda$destroyEngine$31((String) obj);
}
});
}
public static void lambda$initRecognizeEngine$2(String str) {
KitLog.debug(TAG, "processSubscribeCa result:{}", str);
VoiceKitSdkContext.getInstance().setRecognizeParam(RecognizerIntent.EXT_NLU_CONTEXT_CA_INFO, str);
}
public static void lambda$initRecognizeEngine$3(String str) {
ModuleInstanceFactory.Ability.externalDataService().registerBatchAware(str, new ExternalDataServiceAbilityInterface.AwareCallBackListener() {
@Override
public final void onResult(String str2) {
RecognizeAbilityProxy.lambda$initRecognizeEngine$2(str2);
}
});
}
public void lambda$initRecognizeEngine$4(Intent intent) {
KitLog.debug(TAG, "initEngine start", new Object[0]);
if (intent == null) {
KitLog.debug(TAG, "params is null!!", new Object[0]);
this.recognizeListener.onError(new ErrorInfo(2, STRING_INVALID_PARAM));
return;
}
VoiceKitSdkContext.getInstance().clearRecognizeContexts();
RealMachineStatusManager.getInstance().reset();
VoiceKitSdkContext.getInstance().setRecognizeParams(intent.getExtras());
this.initParams = intent;
this.abilityProxy.destroy();
init(intent, getExpectAbilityType(this.initParams));
final String secureIntentString = SecureIntentUtil.getSecureIntentString(intent, RecognizerIntent.EXT_SUBSCRIBE_CA_INFO);
KitLog.debug(TAG, "subscribeCaInfo:{}", secureIntentString);
if (TextUtils.isEmpty(secureIntentString)) {
return;
}
ModuleInstanceFactory.Tools.THREAD_POOL.execute(new Runnable() {
@Override
public final void run() {
RecognizeAbilityProxy.lambda$initRecognizeEngine$3(secureIntentString);
}
});
}
public static Boolean lambda$isTryInitNecessary$15(Intent intent) {
return Boolean.valueOf(SecureIntentUtil.getSecureIntentBoolean(intent, RecognizerIntent.EXT_INIT_IF_NECESSARY, true));
}
public static void lambda$new$0() {
OkClientMgr.getInstance().getOkHttpClient();
}
public void lambda$registerCallback$1(RecognizeAbilityMessageInterface.CallBack callBack) {
this.recognizeAbilityCallBack = callBack;
}
public void lambda$resendNlu$29(Session session, String str) {
KitLog.debug(TAG, "resendNlu", new Object[0]);
this.abilityProxy.resendNlu(session, str);
}
public void lambda$sendFullDuplexAudioEvent$11(Session session) {
KitLog.info(TAG, "sendFullDuplexAudioEvent audio audioStreamId = " + KitLog.getSecurityString(session.getAudioStreamId()) + ", interactionId = " + ((int) session.getInteractionId()));
int i = this.initStatus;
if (i == 0) {
KitLog.info(TAG, "sendFullDuplexAudioEvent not call initRecognizeEngine yet");
return;
}
this.isFirstAsrReplied = false;
if (i != 3) {
KitLog.info(TAG, "sendFullDuplexAudioEvent cache audio task, expectAbilityType = " + this.abilityProxy.getAbilityType());
this.cachedTaskManager.c(this.abilityProxy, session);
reInitIfNeeded();
return;
}
setVisibleInfo(session);
int i2 = this.initStatus;
this.initStatus = 0;
int shouldSwitchAbilityWhenRecognize = shouldSwitchAbilityWhenRecognize(null);
if (shouldSwitchAbilityWhenRecognize > 0) {
reInit(shouldSwitchAbilityWhenRecognize);
this.cachedTaskManager.c(this.abilityProxy, session);
OperationReportUtils.getInstance().reportSwitchRecognizerEvent();
} else {
this.initStatus = i2;
this.abilityProxy.sendFullDuplexAudioEvent(session);
}
reportRealRecognizer(session);
}
public void lambda$sendFullDuplexRecognizeEvent$14(Session session) {
KitLog.info(TAG, "sendFullDuplexRecognizeEvent post audioStreamId = " + KitLog.getSecurityString(session.getAudioStreamId()) + ", interactionId = " + ((int) session.getInteractionId()));
if (this.initStatus == 0) {
KitLog.info(TAG, "sendFullDuplexRecognizeEvent not call initRecognizeEngine yet");
this.recognizeListener.onError(new ErrorInfo(7, "not call initRecognizeEngine yet"));
return;
}
saveFullDuplexCurrentContext(session);
if (this.initStatus == 3) {
this.abilityProxy.sendFullDuplexRecognizeEvent(session);
} else {
KitLog.info(TAG, "sendFullDuplexRecognizeEvent checkInitState failed");
this.cachedTaskManager.i(this.abilityProxy, session);
}
}
public void lambda$sendFullDuplexStreamRequestBodyEvent$13(Session session, Intent intent) {
KitLog.info(TAG, "sendFullDuplexStreamRequestBodyEvent body audioStreamId = " + KitLog.getSecurityString(session.getAudioStreamId()) + ", interactionId = " + ((int) session.getInteractionId()));
if (this.initStatus == 0) {
KitLog.info(TAG, "sendFullDuplexStreamRequestBodyEvent not call initRecognizeEngine yet");
return;
}
this.audioEncoding = TtsReportBean.FORMAT_PCM;
if (intent.hasExtra(RecognizerIntent.EXT_AUDIO_ENCODING)) {
this.audioEncoding = SecureIntentUtil.getSecureIntentString(intent, RecognizerIntent.EXT_AUDIO_ENCODING);
}
if (this.initStatus == 3) {
this.abilityProxy.sendFullDuplexStreamRequestBodyEvent(session, intent);
return;
}
KitLog.info(TAG, "sendFullDuplexStreamRequestBodyEvent cache streamBody task, expectAbilityType = " + this.abilityProxy.getAbilityType());
this.cachedTaskManager.d(this.abilityProxy, session, intent);
}
public static JsonElement lambda$setContinuousSourceType$10(JsonObject jsonObject) {
return jsonObject.get("continuousListening");
}
public static RecognizeContext lambda$setContinuousSourceType$6(String str) {
return (RecognizeContext) GsonUtils.toBean(str, RecognizeContext.class);
}
public static HeaderPayload lambda$setContinuousSourceType$7(RecognizeContext recognizeContext) {
return recognizeContext.getContextsPayload("ClientContext", "System");
}
public static JsonObject lambda$setContinuousSourceType$8(HeaderPayload headerPayload) {
return headerPayload.getPayload().getJsonObject();
}
public static boolean lambda$setContinuousSourceType$9(JsonObject jsonObject) {
return jsonObject.has("continuousListening");
}
public static void lambda$setVisibleInfo$12(Session session, String str) {
try {
JSONArray jSONArray = new JSONArray(str);
JSONObject jSONObject = new JSONObject();
jSONObject.put("appVisibles", jSONArray);
VisibleInfoCacheManager.getInstance().setAppVisibles(session.getSessionId() + ((int) session.getInteractionId()), jSONObject.toString());
} catch (JSONException unused) {
KitLog.error(TAG, "JSONException");
}
}
public void lambda$startDialogProcess$21(Session session, String str, Intent intent) {
KitLog.debug(TAG, "startDialogProcess", new Object[0]);
this.abilityProxy.startDialogProcess(session, str, intent);
}
public static Boolean lambda$startNluAnalyze$19(Intent intent) {
return Boolean.valueOf(SecureIntentUtil.getSecureIntentBoolean(intent, "isTextRecognize", false));
}
public void lambda$startNluAnalyze$20(String str, Session session, Intent intent) {
KitLog.debug(TAG, "startNluAnalyze", new Object[0]);
Bundle bundle = new Bundle();
this.textRecognizeRequest = bundle;
bundle.putString("requestStr", str);
this.textRecognizeRequest.putParcelable("session", session);
this.textRecognizeRequest.putBoolean("isTextRecognize", ((Boolean) Optional.ofNullable(intent).map(new Function() {
@Override
public final Object apply(Object obj) {
Boolean lambda$startNluAnalyze$19;
lambda$startNluAnalyze$19 = RecognizeAbilityProxy.lambda$startNluAnalyze$19((Intent) obj);
return lambda$startNluAnalyze$19;
}
}).orElse(Boolean.FALSE)).booleanValue());
int i = this.initStatus;
if (i != 3) {
KitLog.info(TAG, "startNluAnalyze checkInitState failed");
reInitIfNeeded();
return;
}
this.initStatus = 0;
int shouldSwitchAbilityWhenRecognize = shouldSwitchAbilityWhenRecognize(intent);
if (shouldSwitchAbilityWhenRecognize > 0) {
reInit(shouldSwitchAbilityWhenRecognize);
OperationReportUtils.getInstance().reportSwitchRecognizerEvent();
return;
}
this.initStatus = i;
if (intent.hasExtra("requestType")) {
this.textRecognizeRequest.putString("requestType", SecureIntentUtil.getSecureIntentString(intent, "requestType"));
}
doStartNluAnalyze(this.textRecognizeRequest);
}
public void lambda$startRecognize$5(Intent intent, Session session) {
KitLog.info(TAG, MessageConstants.MessageName.MSG_NAME_START_RECOGNIZE);
if (this.initStatus == 0) {
KitLog.info(TAG, "not call initRecognizeEngine yet");
this.recognizeListener.onError(new ErrorInfo(7, "not call initRecognizeEngine yet"));
return;
}
this.audioEncoding = TtsReportBean.FORMAT_PCM;
if (intent.hasExtra(RecognizerIntent.EXT_AUDIO_ENCODING)) {
this.audioEncoding = SecureIntentUtil.getSecureIntentString(intent, RecognizerIntent.EXT_AUDIO_ENCODING);
}
if (intent.hasExtra(RecognizerIntent.EXT_STARTUP_MODE)) {
OperationReportUtils.getInstance().setStartUpMode(SecureIntentUtil.getSecureIntentInt(intent, RecognizerIntent.EXT_STARTUP_MODE, 0));
}
this.recognizeIntent = intent;
this.recognizeSession = session;
int i = this.initStatus;
if (i != 3) {
KitLog.info(TAG, "startRecognize checkInitState failed");
reInitIfNeeded();
return;
}
this.initStatus = 0;
int shouldSwitchAbilityWhenRecognize = shouldSwitchAbilityWhenRecognize(intent);
if (shouldSwitchAbilityWhenRecognize > 0) {
reInit(shouldSwitchAbilityWhenRecognize);
OperationReportUtils.getInstance().reportSwitchRecognizerEvent();
} else {
this.initStatus = i;
doStartRecognize(this.recognizeSession, intent);
}
setContinuousSourceType(intent);
}
public void lambda$stopRecognize$23(Session session) {
KitLog.debug(TAG, "Recognize call stopRecognize", new Object[0]);
this.abilityProxy.stopRecognize(session);
}
public void lambda$switchRealMachineTestMode$35(boolean z, Bundle bundle, RealMachineTestListener realMachineTestListener) {
RecognizeAbilityInterface recognizeAbilityInterface = this.abilityProxy;
if (recognizeAbilityInterface != null) {
KitLog.debug(TAG, "switchRealMachineTestMode start, AbilityType={}", Integer.valueOf(recognizeAbilityInterface.getAbilityType()));
this.abilityProxy.switchRealMachineTestMode(z, bundle, realMachineTestListener);
}
}
public static boolean lambda$updateDialogState$33(HeaderPayload headerPayload) {
return TextUtils.equals(headerPayload.getHeaderKey(), "UserInteraction.DialogFinished");
}
public void lambda$updateDialogState$34(HeaderPayload headerPayload) {
this.isDialogFinished = true;
}
public void lambda$updateSessionHotWords$36() {
DialogRequestParam dialogRequestParam;
KitLog.info(TAG, "updateSessionHotWords");
if (this.initStatus == 3 && (dialogRequestParam = (DialogRequestParam) GsonUtils.toBean(FullDuplex.stateManager().getContextByAudioStreamId(FullDuplex.stateManager().getCurrentAudioStreamId()), DialogRequestParam.class)) != null) {
Session session = dialogRequestParam.getSession();
saveFullDuplexCurrentContext(session);
this.abilityProxy.sendFullDuplexRecognizeEvent(session);
}
}
public void lambda$updateSwitch$25(Intent intent) {
if (intent.hasExtra(Constants.UserData.ADVERTISEMENT_SWITCH)) {
boolean secureIntentBoolean = SecureIntentUtil.getSecureIntentBoolean(intent, Constants.UserData.ADVERTISEMENT_SWITCH, false);
KitLog.info(TAG, "isAdvertisementSwitchAgreement " + secureIntentBoolean);
updateOaid(secureIntentBoolean);
}
this.abilityProxy.updateSwitch(intent);
}
public void lambda$updateVoiceContext$28(String str, Session session) {
KitLog.debug(TAG, "updateVoiceContext", new Object[0]);
if (str == null || !GsonUtils.isJsonValid(str)) {
this.recognizeListener.onError(new ErrorInfo(2, STRING_INVALID_PARAM));
KitLog.error(TAG, "invalid input parameter: voiceContextJson");
} else {
OperationReportUtils.getInstance().getOperationNluIntentionCollect().setReqType("text").setSpeechEndTime(System.currentTimeMillis());
this.abilityProxy.updateVoiceContext(session, str);
}
}
public void lambda$updateVoiceEvent$27(String str, Session session) {
KitLog.debug(TAG, "updateVoiceEvent!!", new Object[0]);
if (str != null && GsonUtils.isJsonValid(str)) {
this.abilityProxy.updateVoiceEvent(session, str);
} else {
this.recognizeListener.onError(new ErrorInfo(2, STRING_INVALID_PARAM));
KitLog.error(TAG, "invalid input parameter: voiceEventJson");
}
}
public void lambda$uploadWakeupWords$26(String str, String str2) {
KitLog.debug(TAG, "uploadWakeupWords", new Object[0]);
this.abilityProxy.uploadWakeupWords(str, str2);
}
public void lambda$writeAudio$24(byte[] bArr, int i) {
if (bArr == null) {
KitLog.warn(TAG, "buffer is null");
this.abilityProxy.cancelRecognize();
this.recognizeListener.onError(new ErrorInfo(2, "buffer invalid"));
} else if (!isLimitLength() || bArr.length == BUFFER_LENGTH) {
this.abilityProxy.writeAudio(bArr);
this.recognizeListener.onVolumeGet(i);
} else {
this.abilityProxy.cancelRecognize();
this.recognizeListener.onError(new ErrorInfo(2, "buffer invalid"));
}
}
private void reInit(int i) {
KitLog.info(TAG, "reInit");
this.abilityProxy.destroy();
init(this.initParams, i);
}
private void reInitIfNeeded() {
if (this.initStatus != 2) {
if (System.currentTimeMillis() - this.initStartTime <= INIT_TIME_OUT) {
KitLog.error(TAG, "checkInitState: init is running.");
return;
} else {
KitLog.info(TAG, "checkInitState init time out, again init");
reInit(getExpectAbilityType(this.initParams));
return;
}
}
KitLog.error(TAG, "checkInitState stop: init is failed.");
if (this.initErrorInfo == null) {
KitLog.info(TAG, "checkInitState,no init error?");
this.initErrorInfo = new ErrorInfo(7, "initRecognitionEngine failed");
}
long currentTimeMillis = System.currentTimeMillis() - this.initStartTime;
if (currentTimeMillis < 0 || currentTimeMillis > 1000) {
KitLog.info(TAG, "checkInitState init fail, again init");
reInit(getExpectAbilityType(this.initParams));
} else {
KitLog.info(TAG, "checkInitState not init again when init interval less than 1s");
this.recognizeListener.onError(this.initErrorInfo);
}
}
private void removePowerSaveWhitelistApp(Context context) {
KitLog.debug(TAG, "removePowerSaveWhitelistApp", new Object[0]);
if (isMissingDevicePowerPermission(context)) {
return;
}
SystemProxyFactory.getProxy().removePowerSaveWhitelistApp(context.getPackageName());
}
private void reportRealRecognizer(Session session) {
int abilityType = this.abilityProxy.getAbilityType();
this.recognizeAbilityCallBack.onAssistantCommander(RecognizeAbilityMessageInterface.AssistantCommanderCode.ASSISTANT_COMMANDER_REAL_RECOGNIZER, AssistantMessage.builder(abilityType != 1 ? abilityType != 2 ? abilityType != 3 ? "Other" : "Coordination" : "Cloud" : "Local", session).build());
}
private void setContinuousSourceType(Intent intent) {
if (intent.hasExtra(RecognizerIntent.EXT_VOICE_CONTEXT) ? ((Boolean) Optional.ofNullable(SecureIntentUtil.getSecureIntentString(intent, RecognizerIntent.EXT_VOICE_CONTEXT)).map(new Function() {
@Override
public final Object apply(Object obj) {
RecognizeContext lambda$setContinuousSourceType$6;
lambda$setContinuousSourceType$6 = RecognizeAbilityProxy.lambda$setContinuousSourceType$6((String) obj);
return lambda$setContinuousSourceType$6;
}
}).map(new Function() {
@Override
public final Object apply(Object obj) {
HeaderPayload lambda$setContinuousSourceType$7;
lambda$setContinuousSourceType$7 = RecognizeAbilityProxy.lambda$setContinuousSourceType$7((RecognizeContext) obj);
return lambda$setContinuousSourceType$7;
}
}).map(new Function() {
@Override
public final Object apply(Object obj) {
JsonObject lambda$setContinuousSourceType$8;
lambda$setContinuousSourceType$8 = RecognizeAbilityProxy.lambda$setContinuousSourceType$8((HeaderPayload) obj);
return lambda$setContinuousSourceType$8;
}
}).filter(new Predicate() {
@Override
public final boolean test(Object obj) {
boolean lambda$setContinuousSourceType$9;
lambda$setContinuousSourceType$9 = RecognizeAbilityProxy.lambda$setContinuousSourceType$9((JsonObject) obj);
return lambda$setContinuousSourceType$9;
}
}).map(new Function() {
@Override
public final Object apply(Object obj) {
JsonElement lambda$setContinuousSourceType$10;
lambda$setContinuousSourceType$10 = RecognizeAbilityProxy.lambda$setContinuousSourceType$10((JsonObject) obj);
return lambda$setContinuousSourceType$10;
}
}).map(new ad4()).orElse(Boolean.FALSE)).booleanValue() : false) {
OperationReportUtils.getInstance().getIntentionExecuteRecord().setSourceType("2");
}
}
private void setVisibleInfo(final Session session) {
Optional.ofNullable(ModuleInstanceFactory.Ability.visible().getCachedVisibleInfo()).ifPresent(new Consumer() {
@Override
public final void accept(Object obj) {
RecognizeAbilityProxy.lambda$setVisibleInfo$12(Session.this, (String) obj);
}
});
}
private int shouldSwitchAbilityWhenRecognize(Intent intent) {
if (!isTryInitNecessary(intent)) {
KitLog.info(TAG, "shouldSwitchAbility not init necessary");
return 0;
}
if (RealMachineStatusManager.getInstance().isRealMachineStatus()) {
return 0;
}
if (intent != null && intent.hasExtra(RecognizerIntent.EXT_RECOGNIZE_MODE) && RecognizerIntent.HW_CLOUD_RECOGNIZER.equals(SecureIntentUtil.getSecureIntentString(intent, RecognizerIntent.EXT_RECOGNIZE_MODE))) {
KitLog.info(TAG, "shouldSwitchAbilityWhenRecognize: custom cloud");
return 2;
}
int expectAbilityType = getExpectAbilityType(this.initParams);
KitLog.info(TAG, "shouldSwitchAbility expectType=" + expectAbilityType + " isDialogFinished=" + this.isDialogFinished);
if (this.abilityProxy.getAbilityType() == expectAbilityType) {
return 0;
}
if (!this.isDialogFinished && expectAbilityType != 1) {
KitLog.debug(TAG, "network changed but flow status not in READYING, no need to init again.", new Object[0]);
return 0;
}
KitLog.debug(TAG, "network change to unavailable, or flow status is READYING, need to init again.", new Object[0]);
this.isNeedClearRecognizeState = true;
return expectAbilityType;
}
private void tryToFixNetworkIssue(Context context) {
KitLog.warn(TAG, "Network is blocked by pg, try to fix now.");
addPowerSaveWhitelistApp(context);
long currentTimeMillis = System.currentTimeMillis();
for (int i = 0; i < 30; i++) {
if (NetworkUtil.isNetworkAvailable(context)) {
KitLog.info(TAG, "Network ok, wait time: " + (System.currentTimeMillis() - currentTimeMillis) + LanguageCodeUtil.MS);
return;
}
try {
Thread.sleep(50L);
} catch (InterruptedException unused) {
KitLog.error(TAG, "createCloudObservable::InterruptedException");
}
}
}
public void updateDialogState(VoiceKitMessage voiceKitMessage) {
this.isDialogFinished = false;
if (voiceKitMessage != null && voiceKitMessage.getDirectives() != null) {
this.isDialogFinished = voiceKitMessage.isDialogFinished();
voiceKitMessage.getDirectives().stream().filter(new Predicate() {
@Override
public final boolean test(Object obj) {
boolean lambda$updateDialogState$33;
lambda$updateDialogState$33 = RecognizeAbilityProxy.lambda$updateDialogState$33((HeaderPayload) obj);
return lambda$updateDialogState$33;
}
}).findFirst().ifPresent(new Consumer() {
@Override
public final void accept(Object obj) {
RecognizeAbilityProxy.this.lambda$updateDialogState$34((HeaderPayload) obj);
}
});
}
KitLog.info(TAG, "dialog finish state is " + this.isDialogFinished);
}
private void updateOaid(boolean z) {
AdvertisingIdClient.Info info = null;
if (!z) {
VoiceKitSdkContext.getInstance().update(RecognizerIntent.EXT_OAID, null);
return;
}
try {
info = AdvertisingIdClient.getAdvertisingIdInfo(IAssistantConfig.getInstance().getAppContext());
} catch (IOException e) {
KitLog.error(TAG, "getAdvertisingIdInfo Exception: " + e.toString());
}
if (info != null) {
VoiceKitSdkContext.getInstance().update(RecognizerIntent.EXT_OAID, info.getId());
}
}
@Override
public void cancelRecognize() {
AbilityConnectorThread.Recognize.THREAD.post(new Runnable() {
@Override
public final void run() {
RecognizeAbilityProxy.this.lambda$cancelRecognize$22();
}
});
}
@Override
public boolean checkSupportFeature(String str) {
return this.abilityProxy.checkSupportFeature(str);
}
@Override
public void destroy() {
AbilityConnectorThread.Recognize.THREAD.post(new Runnable() {
@Override
public final void run() {
RecognizeAbilityProxy.this.lambda$destroy$30();
}
});
}
@Override
public void destroyEngine() {
AbilityConnectorThread.Recognize.THREAD.post(new Runnable() {
@Override
public final void run() {
RecognizeAbilityProxy.this.lambda$destroyEngine$32();
}
});
}
@Override
public int getAbilityType() {
return this.abilityProxy.getAbilityType();
}
@Override
public String getHiVoiceAddress() {
return this.abilityProxy.getHiVoiceAddress();
}
@Override
public void initConnector() {
KitLog.debug(TAG, "initConnector start", new Object[0]);
AccessTokenManager.getInstance().init();
}
@Override
public void initRecognizeEngine(final Intent intent) {
AbilityConnectorThread.Recognize.THREAD.post(new Runnable() {
@Override
public final void run() {
RecognizeAbilityProxy.this.lambda$initRecognizeEngine$4(intent);
}
});
}
@Override
public boolean isInitEngineFinished() {
return this.initStatus == 3;
}
@Override
public void onEnergyDetectTimeout(Session session) {
KitLog.info(TAG, "onEnergyDetectTimeout");
OperationReportUtils.getInstance().getTimeOutRecord().setTips("1");
OperationReportUtils.getInstance().reportTimeOutRecord();
JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("text", "");
jsonObject.addProperty("isFinish", Boolean.FALSE);
jsonObject.addProperty("type", DisplayAsrPayload.TYPE_VAD_TIMEOUT);
this.recognizeAbilityCallBack.onDataProcess(RecognizeAbilityMessageInterface.DataProcessCode.INTERMEDIATE_RESULT, AssistantMessage.builder(jsonObject, session).build());
}
@Override
public void onEnergyDetected(Session session) {
KitLog.debug(TAG, "onEnergyDetected", new Object[0]);
this.abilityProxy.onEnergyDetected(session);
}
@Override
public void registerCallback(final RecognizeAbilityMessageInterface.CallBack callBack) {
AbilityConnectorThread.Recognize.THREAD.post(new Runnable() {
@Override
public final void run() {
RecognizeAbilityProxy.this.lambda$registerCallback$1(callBack);
}
});
}
@Override
public void resendNlu(final Session session, final String str) {
AbilityConnectorThread.Recognize.THREAD.post(new Runnable() {
@Override
public final void run() {
RecognizeAbilityProxy.this.lambda$resendNlu$29(session, str);
}
});
}
@Override
public void saveFullDuplexCurrentContext(Session session) {
RecognizeContext recognizeContext;
DialogRequestParam dialogRequestParam = new DialogRequestParam(session);
dialogRequestParam.getSession().setMessageName(MessageConstants.MessageName.MSG_NAME_START_RECOGNIZE_BY_FULLDUPLEX).setReceiver(MessageConstants.Receiver.MSG_RECEIVER_CLOUD_DM);
String str = (String) VoiceKitSdkContext.getInstance().get(RecognizerIntent.EXT_VOICE_CONTEXT, String.class).orElse("");
if (!TextUtils.isEmpty(str) && (recognizeContext = (RecognizeContext) GsonUtils.toBean(str, RecognizeContext.class)) != null) {
dialogRequestParam.addContexts(recognizeContext.getContexts());
dialogRequestParam.addEvents(recognizeContext.getEvents());
}
ynb.g(dialogRequestParam, ModuleInstanceFactory.Ability.visible().getCachedVisibleInfo());
FullDuplex.stateManager().saveAudioContextMap((String) Optional.ofNullable(session).map(new zg7()).orElse(FullDuplex.stateManager().getCurrentAudioStreamId()), GsonUtils.toJson(dialogRequestParam));
}
@Override
public void sendFullDuplexAudioEvent(final Session session) {
AbilityConnectorThread.Recognize.THREAD.post(new Runnable() {
@Override
public final void run() {
RecognizeAbilityProxy.this.lambda$sendFullDuplexAudioEvent$11(session);
}
});
}
@Override
public void sendFullDuplexRecognizeEvent(final Session session, Intent intent) {
AbilityConnectorThread.Recognize.THREAD.post(new Runnable() {
@Override
public final void run() {
RecognizeAbilityProxy.this.lambda$sendFullDuplexRecognizeEvent$14(session);
}
});
}
@Override
public void sendFullDuplexStreamRequestBodyEvent(final Session session, final Intent intent) {
AbilityConnectorThread.Recognize.THREAD.post(new Runnable() {
@Override
public final void run() {
RecognizeAbilityProxy.this.lambda$sendFullDuplexStreamRequestBodyEvent$13(session, intent);
}
});
}
@Override
public void startDialogProcess(final Session session, final String str, final Intent intent) {
AbilityConnectorThread.Recognize.THREAD.post(new Runnable() {
@Override
public final void run() {
RecognizeAbilityProxy.this.lambda$startDialogProcess$21(session, str, intent);
}
});
}
@Override
public void startNluAnalyze(final Session session, final String str, final Intent intent) {
AbilityConnectorThread.Recognize.THREAD.post(new Runnable() {
@Override
public final void run() {
RecognizeAbilityProxy.this.lambda$startNluAnalyze$20(str, session, intent);
}
});
}
@Override
public void startRecognize(final Session session, final Intent intent) {
AbilityConnectorThread.Recognize.THREAD.post(new Runnable() {
@Override
public final void run() {
RecognizeAbilityProxy.this.lambda$startRecognize$5(intent, session);
}
});
}
@Override
public void stopRecognize(final Session session) {
AbilityConnectorThread.Recognize.THREAD.post(new Runnable() {
@Override
public final void run() {
RecognizeAbilityProxy.this.lambda$stopRecognize$23(session);
}
});
}
@Override
public void switchRealMachineTestMode(final boolean z, final Bundle bundle, final RealMachineTestListener realMachineTestListener) {
AbilityConnectorThread.Recognize.THREAD.post(new Runnable() {
@Override
public final void run() {
RecognizeAbilityProxy.this.lambda$switchRealMachineTestMode$35(z, bundle, realMachineTestListener);
}
});
}
@Override
public void updateSessionHotWords(String str) {
AbilityConnectorThread.Recognize.THREAD.post(new Runnable() {
@Override
public final void run() {
RecognizeAbilityProxy.this.lambda$updateSessionHotWords$36();
}
});
}
@Override
public void updateSwitch(final Intent intent) {
KitLog.debug(TAG, "Recognize updateSwitch", new Object[0]);
if (intent == null) {
KitLog.error(TAG, "params is null");
return;
}
if (intent.hasExtra(Constants.UserData.EXPERIENCE_PLAN)) {
boolean secureIntentBoolean = SecureIntentUtil.getSecureIntentBoolean(intent, Constants.UserData.EXPERIENCE_PLAN, false);
KitLog.info(TAG, "isExperiencePlanAgreement " + secureIntentBoolean);
VoiceKitSdkContext.getInstance().update("isExperiencePlan", Boolean.valueOf(secureIntentBoolean));
if (!secureIntentBoolean) {
WakeFileUtil.clearLocalFreeWakeupData(IAssistantConfig.getInstance().getAppContext());
}
}
if (intent.hasExtra(Constants.UserData.ADVERTISEMENT_SWITCH)) {
VoiceKitSdkContext.getInstance().update(Constants.UserData.ADVERTISEMENT_SWITCH, Boolean.valueOf(SecureIntentUtil.getSecureIntentBoolean(intent, Constants.UserData.ADVERTISEMENT_SWITCH, false)));
}
if (intent.hasExtra(Constants.UserData.USER_CHARACTERISTICS_RECOMMEND)) {
VoiceKitSdkContext.getInstance().update(Constants.UserData.USER_CHARACTERISTICS_RECOMMEND, Boolean.valueOf(SecureIntentUtil.getSecureIntentBoolean(intent, Constants.UserData.USER_CHARACTERISTICS_RECOMMEND, false)));
}
if (intent.hasExtra(RecognizerIntent.EXT_VTID)) {
VoiceKitSdkContext.getInstance().update(RecognizerIntent.EXT_VTID, SecureIntentUtil.getSecureIntentString(intent, RecognizerIntent.EXT_VTID));
}
ModuleInstanceFactory.Tools.THREAD_POOL.execute(new Runnable() {
@Override
public final void run() {
RecognizeAbilityProxy.this.lambda$updateSwitch$25(intent);
}
});
}
@Override
public void updateVoiceContext(final Session session, final String str) {
AbilityConnectorThread.Recognize.THREAD.post(new Runnable() {
@Override
public final void run() {
RecognizeAbilityProxy.this.lambda$updateVoiceContext$28(str, session);
}
});
}
@Override
public void updateVoiceEvent(final Session session, final String str) {
if (session == null) {
session = new Session();
session.setInteractionId(BusinessFlowId.getInstance().getInteractionId());
session.setDialogId(BusinessFlowId.getInstance().getDialogId());
session.setSessionId(BusinessFlowId.getInstance().getSessionId());
session.setMessageId(UuidUtils.getUuid());
} else if (TextUtils.isEmpty(session.getSessionId())) {
KitLog.error(TAG, "updateVoiceEvent invalid session");
session.setSessionId(BusinessFlowId.getInstance().getSessionId());
} else {
KitLog.debug(TAG, "updateVoiceEvent valid session", new Object[0]);
}
AbilityConnectorThread.Recognize.THREAD.post(new Runnable() {
@Override
public final void run() {
RecognizeAbilityProxy.this.lambda$updateVoiceEvent$27(str, session);
}
});
}
@Override
public void uploadWakeupWords(final String str, final String str2) {
IassistantThreadPool.getInstance().postDelayed(new Runnable() {
@Override
public final void run() {
RecognizeAbilityProxy.this.lambda$uploadWakeupWords$26(str, str2);
}
}, 0L);
}
@Override
public void writeAudio(final byte[] bArr, final int i) {
AbilityConnectorThread.Recognize.THREAD.post(new Runnable() {
@Override
public final void run() {
RecognizeAbilityProxy.this.lambda$writeAudio$24(bArr, i);
}
});
}
}