导航菜单

页面标题

页面副标题

Petal Maps v4.7.0.310001 - TTSLocalManager.java 源代码

正在查看: Petal Maps v4.7.0.310001 应用的 TTSLocalManager.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.huawei.kit.ttslocal.sdk;

import android.content.Context;
import android.content.Intent;
import android.text.TextUtils;
import com.huawei.hiai.tts.constants.BaseConstants;
import com.huawei.hiai.tts.constants.LocalEngineConstants;
import com.huawei.hiai.tts.impl.HwAsLocalTtsImpl;
import com.huawei.hiai.tts.utils.AppUtil;
import com.huawei.hiai.tts.utils.TLog;
import com.huawei.hiai.tts.utils.TtsSharedProperty;
import com.huawei.hms.push.AttributionReporter;
import com.huawei.kit.ttslocal.interfaces.IHwLocalCallback;
import com.huawei.map.navigate.guideengine.common.consts.voicebroadcast.ConfigLanguageCodeConstants;
import java.util.Locale;

public class TTSLocalManager {
    private static final String TAG = "TTSLocalManager";
    private HwAsLocalTtsImpl mHwAsLocalTtsImpl;
    private final IHwLocalCallback mIHwLocalCallback;

    public TTSLocalManager(Context context, IHwLocalCallback iHwLocalCallback) {
        TtsSharedProperty.getInstance().doInit(context);
        TLog.i(TAG, "TTSLocalManager create tts sdk version: 14.24.9.210");
        this.mIHwLocalCallback = iHwLocalCallback;
        if (context == null) {
            TLog.w(TAG, "constructor context is null");
            return;
        }
        if (iHwLocalCallback == null) {
            TLog.e(TAG, "outer pass callback null");
        }
        this.mHwAsLocalTtsImpl = new HwAsLocalTtsImpl(context);
    }

    private void buildInitParams(Intent intent) {
        if (intent == null) {
            return;
        }
        String stringExtra = intent.getStringExtra("language");
        if (!isLanguageAvail(stringExtra)) {
            stringExtra = ConfigLanguageCodeConstants.CONFIG_LANGUAGE_CODE_ZH;
            intent.putExtra("language", ConfigLanguageCodeConstants.CONFIG_LANGUAGE_CODE_ZH);
        }
        int intExtra = intent.getIntExtra("speaker", 9);
        if (intExtra == 11) {
            intent.putExtra("langType", "CT_CN");
        } else if (stringExtra.toLowerCase(Locale.getDefault()).startsWith(ConfigLanguageCodeConstants.CONFIG_LANGUAGE_CODE_EN)) {
            intent.putExtra("langType", "EN_US");
        } else {
            intent.putExtra("langType", "ZH_CN");
        }
        intent.putExtra("speakerName", LocalEngineConstants.getSpeakerName(intExtra));
        intent.putExtra("fileMgr", "assetFileManager");
        intent.putExtra("resPath", LocalEngineConstants.getBuiltModelToyotaResPath(intExtra));
        intent.putExtra("frontFileMgr", "assetFileManager");
        intent.putExtra("frontResPath", LocalEngineConstants.getBuiltFrontResPath(intExtra));
        intent.putExtra("appName", AppUtil.getAppPackageName());
        intent.putExtra(AttributionReporter.APP_VERSION, AppUtil.getAppVersionName());
    }

    private void buildOverseaInitParams(Intent intent) {
        if (intent == null) {
            return;
        }
        String stringExtra = intent.getStringExtra("language");
        if (stringExtra.toLowerCase(Locale.getDefault()).equals(ConfigLanguageCodeConstants.CONFIG_LANGUAGE_CODE_RU)) {
            intent.putExtra("langType", "RU_RU");
        } else {
            intent.putExtra("langType", "EN_US");
        }
        intent.putExtra("speakerName", LocalEngineConstants.getSpeakerName(stringExtra));
        intent.putExtra("fileMgr", "assetFileManager");
        intent.putExtra("resPath", LocalEngineConstants.getBuiltModelResPath(stringExtra));
        intent.putExtra("appName", AppUtil.getAppPackageName());
        intent.putExtra(AttributionReporter.APP_VERSION, AppUtil.getAppVersionName());
    }

    private boolean isLanguageAvail(String str) {
        return (str == null || TextUtils.isEmpty(str.trim())) ? false : true;
    }

    public int doInit(Intent intent) {
        TLog.i(TAG, "doInit tts sdk version: 14.24.9.210");
        if (this.mHwAsLocalTtsImpl == null) {
            return -107;
        }
        String stringExtra = intent.getStringExtra("language");
        if (isLanguageAvail(stringExtra) && BaseConstants.isOverseaByLanguage(stringExtra)) {
            buildOverseaInitParams(intent);
        } else {
            buildInitParams(intent);
        }
        return this.mHwAsLocalTtsImpl.doInitAS(intent, this.mIHwLocalCallback);
    }

    public void doRelease() {
        TLog.i(TAG, "doRelease");
        HwAsLocalTtsImpl hwAsLocalTtsImpl = this.mHwAsLocalTtsImpl;
        if (hwAsLocalTtsImpl != null) {
            hwAsLocalTtsImpl.doRelease();
            TLog.i(TAG, "mHwAsLocalTtsImpl doRelease");
        }
    }

    public int doSpeak(String str, Intent intent) {
        TLog.i(TAG, "doSpeak tts sdk version: 14.24.9.210");
        HwAsLocalTtsImpl hwAsLocalTtsImpl = this.mHwAsLocalTtsImpl;
        if (hwAsLocalTtsImpl != null) {
            return hwAsLocalTtsImpl.doSpeakAS(str, intent);
        }
        TLog.e(TAG, "doSpeak mHwAsLocalTtsImpl is null");
        return -1;
    }

    public void doSpeakStop() {
        TLog.i(TAG, "doSpeakStop");
        HwAsLocalTtsImpl hwAsLocalTtsImpl = this.mHwAsLocalTtsImpl;
        if (hwAsLocalTtsImpl != null) {
            hwAsLocalTtsImpl.doSpeakStop();
            TLog.i(TAG, "mHwAsLocalTtsImpl doSpeakStop");
        }
    }

    public long getSupportMaxLength() {
        TLog.i(TAG, "getSupportMaxLength");
        return 20000L;
    }

    public String getVersion() {
        TLog.i(TAG, "getVersion = 14.24.9.210");
        return "14.24.9.210";
    }

    public boolean isSpeaking() {
        HwAsLocalTtsImpl hwAsLocalTtsImpl = this.mHwAsLocalTtsImpl;
        if (hwAsLocalTtsImpl != null) {
            return hwAsLocalTtsImpl.isSpeaking();
        }
        return false;
    }
}