导航菜单

页面标题

页面副标题

CAARD v1.1.19 - q.java 源代码

正在查看: CAARD v1.1.19 应用的 q.java JAVA 源代码文件

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


package l2;

import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothHeadset;
import android.bluetooth.BluetoothProfile;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ResolveInfo;
import android.content.pm.ServiceInfo;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.speech.RecognitionListener;
import android.speech.RecognitionSupport;
import android.speech.RecognitionSupportCallback;
import android.speech.RecognizerIntent;
import android.speech.SpeechRecognizer;
import android.util.Log;
import cc.z;
import ha.a;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Set;
import java.util.concurrent.Executors;
import kotlin.Metadata;
import org.json.JSONArray;
import org.json.JSONObject;
import pa.j;

@Metadata(d1 = {"\u0000æ\u0001\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\t\n\u0002\b\u0004\n\u0002\u0010\u0007\n\u0002\b\u0004\n\u0002\u0010\u0006\n\u0002\b\u0002\n\u0002\u0010\"\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0010\u0002\n\u0002\b\u0015\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u0012\n\u0002\b\b\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\b\n\u0002\u0010\u0011\n\u0000\n\u0002\u0010\u0015\n\u0002\b\u0014\n\u0002\u0018\u0002\n\u0000\b\u0007\u0018\u00002\u00020\u00012\u00020\u00022\u00020\u00032\u00020\u00042\u00020\u0005B\u0005¢\u0006\u0002\u0010\u0006J\u0010\u0010>\u001a\u00020?2\u0006\u0010@\u001a\u00020\nH\u0002J\b\u0010A\u001a\u00020?H\u0002J\u0010\u0010B\u001a\u00020?2\u0006\u0010C\u001a\u00020\fH\u0002J\u0010\u0010D\u001a\u00020?2\u0006\u0010E\u001a\u00020\u001aH\u0002J\b\u0010F\u001a\u00020?H\u0002J\u0010\u0010G\u001a\u00020?2\u0006\u0010@\u001a\u00020\nH\u0002J\u0010\u0010H\u001a\u00020?2\u0006\u0010@\u001a\u00020\nH\u0002J\u0012\u0010I\u001a\u00020?2\b\u0010J\u001a\u0004\u0018\u000100H\u0002J\u0010\u0010K\u001a\u00020\f2\u0006\u0010L\u001a\u00020\fH\u0002J\b\u0010M\u001a\u00020\fH\u0002J\b\u0010N\u001a\u00020\fH\u0002J\b\u0010O\u001a\u00020\fH\u0002J\u0010\u0010P\u001a\u00020?2\u0006\u0010@\u001a\u00020\nH\u0002J\u0010\u0010Q\u001a\u00020?2\u0006\u0010R\u001a\u00020\fH\u0002J\u0010\u0010S\u001a\u00020?2\u0006\u0010T\u001a\u00020UH\u0016J\u0018\u0010V\u001a\u00020?2\u0006\u0010W\u001a\u0002002\u0006\u0010X\u001a\u00020YH\u0002J\u0012\u0010V\u001a\u00020?2\b\b\u0001\u0010Z\u001a\u00020[H\u0016J\b\u0010\\\u001a\u00020?H\u0016J\u0012\u0010]\u001a\u00020?2\b\u0010^\u001a\u0004\u0018\u00010_H\u0016J\b\u0010`\u001a\u00020?H\u0016J\b\u0010a\u001a\u00020?H\u0016J\u0012\u0010b\u001a\u00020?2\b\b\u0001\u0010T\u001a\u00020[H\u0016J\b\u0010c\u001a\u00020?H\u0016J\u0010\u0010d\u001a\u00020?2\u0006\u0010e\u001a\u00020\u0013H\u0016J\u001a\u0010f\u001a\u00020?2\u0006\u0010^\u001a\u00020\u00132\b\u0010g\u001a\u0004\u0018\u00010hH\u0016J\u001c\u0010i\u001a\u00020?2\b\b\u0001\u0010j\u001a\u00020k2\b\b\u0001\u0010l\u001a\u00020\nH\u0016J\u0012\u0010m\u001a\u00020?2\b\u0010n\u001a\u0004\u0018\u00010hH\u0016J\u0012\u0010o\u001a\u00020?2\b\u0010^\u001a\u0004\u0018\u00010hH\u0016J\u0010\u0010p\u001a\u00020?2\u0006\u0010T\u001a\u00020UH\u0016J-\u0010q\u001a\u00020\f2\u0006\u0010r\u001a\u00020\u00132\u000e\u0010s\u001a\n\u0012\u0006\b\u0001\u0012\u00020\u001a0t2\u0006\u0010u\u001a\u00020vH\u0016¢\u0006\u0002\u0010wJ\u0012\u0010x\u001a\u00020?2\b\u0010n\u001a\u0004\u0018\u00010hH\u0016J\u0010\u0010y\u001a\u00020?2\u0006\u0010z\u001a\u00020%H\u0016J\b\u0010{\u001a\u00020?H\u0002J\b\u0010|\u001a\u00020?H\u0002J\b\u0010}\u001a\u00020\fH\u0002J\u0010\u0010~\u001a\u00020?2\u0006\u0010\u007f\u001a\u00020\u001aH\u0002J\t\u0010\u0080\u0001\u001a\u00020?H\u0002J,\u0010\u0081\u0001\u001a\u00020?2\u0007\u0010\u0082\u0001\u001a\u00020\u001a2\u0007\u0010\u0083\u0001\u001a\u00020\f2\u0007\u0010\u0084\u0001\u001a\u0002022\u0006\u0010C\u001a\u00020\fH\u0002J4\u0010\u0085\u0001\u001a\u00020?2\u0006\u0010@\u001a\u00020\n2\u0007\u0010\u0082\u0001\u001a\u00020\u001a2\u0007\u0010\u0083\u0001\u001a\u00020\f2\u0007\u0010\u0086\u0001\u001a\u00020\u00132\u0006\u0010C\u001a\u00020\fH\u0002J\u0011\u0010\u0087\u0001\u001a\u00020?2\u0006\u0010@\u001a\u00020\nH\u0002J\u001c\u0010\u0088\u0001\u001a\u00020?2\t\u0010\u0089\u0001\u001a\u0004\u0018\u00010h2\u0006\u0010L\u001a\u00020\fH\u0002J\u0010\u0010\u008a\u0001\u001a\u0005\u0018\u00010\u008b\u0001*\u000200H\u0002R\u0010\u0010\u0007\u001a\u0004\u0018\u00010\bX\u0082\u000e¢\u0006\u0002\n\u0000R\u0010\u0010\t\u001a\u0004\u0018\u00010\nX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u000b\u001a\u00020\fX\u0082\u000e¢\u0006\u0002\n\u0000R\u0010\u0010\r\u001a\u0004\u0018\u00010\u000eX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u000f\u001a\u00020\fX\u0082\u000e¢\u0006\u0002\n\u0000R\u0010\u0010\u0010\u001a\u0004\u0018\u00010\u0011X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u0012\u001a\u00020\u0013X\u0082D¢\u0006\u0002\n\u0000R\u0010\u0010\u0014\u001a\u0004\u0018\u00010\u0015X\u0082\u000e¢\u0006\u0002\n\u0000R\u0010\u0010\u0016\u001a\u0004\u0018\u00010\u0017X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u0018\u001a\u00020\fX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u0019\u001a\u00020\u001aX\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u001b\u001a\u00020\u001cX\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u001d\u001a\u00020\fX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u001e\u001a\u00020\fX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u001f\u001a\u00020 X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010!\u001a\u00020\fX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\"\u001a\u00020\fX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010#\u001a\u00020\u001aX\u0082D¢\u0006\u0002\n\u0000R\u000e\u0010$\u001a\u00020%X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010&\u001a\u00020%X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010'\u001a\u00020\u0013X\u0082D¢\u0006\u0002\n\u0000R\u000e\u0010(\u001a\u00020\u0013X\u0082D¢\u0006\u0002\n\u0000R\u000e\u0010)\u001a\u00020*X\u0082D¢\u0006\u0002\n\u0000R\u000e\u0010+\u001a\u00020\fX\u0082\u000e¢\u0006\u0002\n\u0000R\u0016\u0010,\u001a\n\u0012\u0004\u0012\u00020\b\u0018\u00010-X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010.\u001a\u00020\fX\u0082\u000e¢\u0006\u0002\n\u0000R\u0010\u0010/\u001a\u0004\u0018\u000100X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u00101\u001a\u000202X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u00103\u001a\u00020\fX\u0082\u000e¢\u0006\u0002\n\u0000R\u0010\u00104\u001a\u0004\u0018\u00010\u001aX\u0082\u000e¢\u0006\u0002\n\u0000R\u0010\u00105\u001a\u0004\u0018\u000106X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u00107\u001a\u00020\fX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u00108\u001a\u00020\fX\u0082\u000e¢\u0006\u0002\n\u0000R\u0010\u00109\u001a\u0004\u0018\u00010:X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010;\u001a\u00020 X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010<\u001a\u00020\u0013X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010=\u001a\u00020\u0013X\u0082D¢\u0006\u0002\n\u0000¨\u0006\u008c\u0001"}, d2 = {"Lcom/csdcorp/speech_to_text/SpeechToTextPlugin;", "Lio/flutter/plugin/common/MethodChannel$MethodCallHandler;", "Landroid/speech/RecognitionListener;", "Lio/flutter/plugin/common/PluginRegistry$RequestPermissionsResultListener;", "Lio/flutter/embedding/engine/plugins/FlutterPlugin;", "Lio/flutter/embedding/engine/plugins/activity/ActivityAware;", "()V", "activeBluetooth", "Landroid/bluetooth/BluetoothDevice;", "activeResult", "Lio/flutter/plugin/common/MethodChannel$Result;", "alwaysUseStop", "", "bluetoothAdapter", "Landroid/bluetooth/BluetoothAdapter;", "bluetoothDisabled", "bluetoothHeadset", "Landroid/bluetooth/BluetoothHeadset;", "brokenStopSdk", "", "channel", "Lio/flutter/plugin/common/MethodChannel;", "currentActivity", "Landroid/app/Activity;", "debugLogging", "defaultLanguageTag", "", "handler", "Landroid/os/Handler;", "initializedSuccessfully", "intentLookup", "lastFinalTime", "", "lastOnDevice", "listening", "logTag", "maxRms", "", "minRms", "minSdkForOnDeviceSpeechSupport", "minSdkForSpeechSupport", "missingConfidence", "", "noBluetoothOpt", "pairedDevices", "", "permissionToRecordAudio", "pluginContext", "Landroid/content/Context;", "previousListenMode", "Lcom/csdcorp/speech_to_text/ListenMode;", "previousPartialResults", "previousRecognizerLang", "recognizerIntent", "Landroid/content/Intent;", "recognizerStops", "resultSent", "speechRecognizer", "Landroid/speech/SpeechRecognizer;", "speechStartTime", "speechThresholdRms", "speechToTextPermissionCode", "cancelListening", "", "result", "completeInitialize", "createRecognizer", "onDevice", "debugLog", "msg", "destroyRecognizer", "hasPermission", "initialize", "initializeIfPermitted", "context", "isDuplicateFinal", "isFinal", "isListening", "isNotInitialized", "isNotListening", "locales", "notifyListening", "isRecording", "onAttachedToActivity", "binding", "Lio/flutter/embedding/engine/plugins/activity/ActivityPluginBinding;", "onAttachedToEngine", "applicationContext", "messenger", "Lio/flutter/plugin/common/BinaryMessenger;", "flutterPluginBinding", "Lio/flutter/embedding/engine/plugins/FlutterPlugin$FlutterPluginBinding;", "onBeginningOfSpeech", "onBufferReceived", "p0", "", "onDetachedFromActivity", "onDetachedFromActivityForConfigChanges", "onDetachedFromEngine", "onEndOfSpeech", "onError", "errorCode", "onEvent", "p1", "Landroid/os/Bundle;", "onMethodCall", "call", "Lio/flutter/plugin/common/MethodCall;", "rawrResult", "onPartialResults", "results", "onReadyForSpeech", "onReattachedToActivityForConfigChanges", "onRequestPermissionsResult", "requestCode", "permissions", "", "grantResults", "", "(I[Ljava/lang/String;[I)Z", "onResults", "onRmsChanged", "rmsdB", "optionallyStartBluetooth", "optionallyStopBluetooth", "sdkVersionTooLow", "sendError", "errorMsg", "setupBluetooth", "setupRecognizerIntent", "languageTag", "partialResults", "listenMode", "startListening", "listenModeIndex", "stopListening", "updateResults", "speechBundle", "findComponentName", "Landroid/content/ComponentName;", "speech_to_text_release"}, k = 1, mv = {1, 9, 0}, xi = 48)
public final class q implements j.c, RecognitionListener, pa.n, ha.a, ia.a {
    private boolean A;
    private boolean B;
    private SpeechRecognizer C;
    private Intent D;
    private BluetoothAdapter E;
    private Set<BluetoothDevice> F;
    private BluetoothDevice G;
    private BluetoothHeadset H;
    private String I;
    private long L;
    private long M;
    private final String Q;

    private Context f10386a;

    private pa.j f10387b;

    private Activity f10396q;

    private j.d f10397r;

    private boolean f10398s;

    private boolean f10399t;

    private boolean f10400u;

    private boolean f10401v;

    private boolean f10402w;

    private boolean f10403x;

    private boolean f10404y;

    private final int f10388c = 21;

    private final int f10389d = 29;

    private final int f10390e = 31;

    private final int f10391f = 28521;

    private final double f10392m = -1.0d;

    private int f10393n = 9;

    private final String f10394o = "SpeechToTextPlugin";

    private boolean f10395p = true;

    private boolean f10405z = true;
    private boolean J = true;
    private f K = f.deviceDefault;
    private float N = 1000.0f;
    private float O = -100.0f;
    private final Handler P = new Handler(Looper.getMainLooper());

    @Metadata(d1 = {"\u0000\u001f\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000*\u0001\u0000\b\n\u0018\u00002\u00020\u0001J\u0010\u0010\u0002\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u0005H\u0016J\u0010\u0010\u0006\u001a\u00020\u00032\u0006\u0010\u0007\u001a\u00020\bH\u0016¨\u0006\t"}, d2 = {"com/csdcorp/speech_to_text/SpeechToTextPlugin$locales$1", "Landroid/speech/RecognitionSupportCallback;", "onError", "", "error", "", "onSupportResult", "recognitionSupport", "Landroid/speech/RecognitionSupport;", "speech_to_text_release"}, k = 1, mv = {1, 9, 0}, xi = 48)
    public static final class a implements RecognitionSupportCallback {

        final j.d f10406a;

        final q f10407b;

        final z<SpeechRecognizer> f10408c;

        a(j.d dVar, q qVar, z<SpeechRecognizer> zVar) {
            this.f10406a = dVar;
            this.f10407b = qVar;
            this.f10408c = zVar;
        }

        @Override
        public void onError(int error) {
            this.f10407b.r("error from checkRecognitionSupport: " + error);
            SpeechRecognizer speechRecognizer = (SpeechRecognizer) this.f10408c.a;
            if (speechRecognizer != null) {
                speechRecognizer.destroy();
            }
        }

        @Override
        public void onSupportResult(RecognitionSupport recognitionSupport) {
            cc.l.f(recognitionSupport, "recognitionSupport");
            new e(this.f10406a, this.f10407b.f10401v).b(recognitionSupport.getSupportedOnDeviceLanguages());
            SpeechRecognizer speechRecognizer = (SpeechRecognizer) this.f10408c.a;
            if (speechRecognizer != null) {
                speechRecognizer.destroy();
            }
        }
    }

    @Metadata(d1 = {"\u0000\u001f\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\b\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002*\u0001\u0000\b\n\u0018\u00002\u00020\u0001J\u0018\u0010\u0002\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u00052\u0006\u0010\u0006\u001a\u00020\u0007H\u0016J\u0010\u0010\b\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u0005H\u0016¨\u0006\t"}, d2 = {"com/csdcorp/speech_to_text/SpeechToTextPlugin$setupBluetooth$mProfileListener$1", "Landroid/bluetooth/BluetoothProfile$ServiceListener;", "onServiceConnected", "", "profile", "", "proxy", "Landroid/bluetooth/BluetoothProfile;", "onServiceDisconnected", "speech_to_text_release"}, k = 1, mv = {1, 9, 0}, xi = 48)
    public static final class b implements BluetoothProfile.ServiceListener {
        b() {
        }

        @Override
        public void onServiceConnected(int profile, BluetoothProfile proxy) {
            cc.l.f(proxy, "proxy");
            if (profile == 1) {
                q.this.H = (BluetoothHeadset) proxy;
                q.this.r("Found a headset: " + q.this.H);
            }
        }

        @Override
        public void onServiceDisconnected(int profile) {
            if (profile == 1) {
                q.this.r("Clearing headset: ");
                q.this.H = null;
            }
        }
    }

    public q() {
        String languageTag = Locale.getDefault().toLanguageTag();
        cc.l.e(languageTag, "toLanguageTag(...)");
        this.Q = languageTag;
    }

    private final boolean A() {
        return !this.f10398s;
    }

    private final boolean B() {
        return !this.f10400u;
    }

    private final void C(j.d dVar) {
        boolean isOnDeviceRecognitionAvailable;
        SpeechRecognizer createOnDeviceSpeechRecognizer;
        if (I()) {
            dVar.a(Boolean.FALSE);
            return;
        }
        Context context = this.f10386a;
        cc.l.c(context);
        boolean z10 = androidx.core.content.a.checkSelfPermission(context, "android.permission.RECORD_AUDIO") == 0;
        if (Build.VERSION.SDK_INT < 33 || !z10) {
            Intent voiceDetailsIntent = RecognizerIntent.getVoiceDetailsIntent(this.f10386a);
            if (voiceDetailsIntent == null) {
                voiceDetailsIntent = new Intent("android.speech.action.GET_LANGUAGE_DETAILS");
                voiceDetailsIntent.setPackage("com.google.android.googlequicksearchbox");
            }
            Intent intent = voiceDetailsIntent;
            Context context2 = this.f10386a;
            if (context2 != null) {
                context2.sendOrderedBroadcast(intent, null, new e(dVar, this.f10401v), null, -1, null, null);
                return;
            }
            return;
        }
        Context context3 = this.f10386a;
        cc.l.c(context3);
        isOnDeviceRecognitionAvailable = SpeechRecognizer.isOnDeviceRecognitionAvailable(context3);
        if (isOnDeviceRecognitionAvailable) {
            z zVar = new z();
            Context context4 = this.f10386a;
            cc.l.c(context4);
            createOnDeviceSpeechRecognizer = SpeechRecognizer.createOnDeviceSpeechRecognizer(context4);
            cc.l.e(createOnDeviceSpeechRecognizer, "createOnDeviceSpeechRecognizer(...)");
            zVar.a = createOnDeviceSpeechRecognizer;
            Intent intent2 = new Intent("android.speech.action.RECOGNIZE_SPEECH");
            SpeechRecognizer speechRecognizer = (SpeechRecognizer) zVar.a;
            if (speechRecognizer != null) {
                speechRecognizer.checkRecognitionSupport(intent2, Executors.newSingleThreadExecutor(), new a(dVar, this, zVar));
            }
        }
    }

    private final void D(boolean z10) {
        String str;
        if (this.f10400u == z10) {
            return;
        }
        this.f10400u = z10;
        if (z10) {
            str = "listening";
        } else {
            if (z10) {
                throw new ob.m();
            }
            str = "notListening";
        }
        r("Notify status:" + str);
        pa.j jVar = this.f10387b;
        if (jVar != null) {
            jVar.c("notifyStatus", str);
        }
        if (z10) {
            return;
        }
        String str2 = !this.A ? "doneNoResult" : "done";
        r("Notify status:" + str2);
        H();
        pa.j jVar2 = this.f10387b;
        if (jVar2 != null) {
            jVar2.c("notifyStatus", str2);
        }
    }

    private final void E(Context context, pa.b bVar) {
        this.f10386a = context;
        pa.j jVar = new pa.j(bVar, "plugin.csdcorp.com/speech_to_text");
        this.f10387b = jVar;
        jVar.e(this);
    }

    public static final void F(q qVar, float f10) {
        cc.l.f(qVar, "this$0");
        pa.j jVar = qVar.f10387b;
        if (jVar != null) {
            jVar.c("soundLevelChange", Float.valueOf(f10));
        }
    }

    private final void G() {
        if (this.f10405z) {
            return;
        }
        BluetoothAdapter bluetoothAdapter = this.E;
        Set<BluetoothDevice> set = this.F;
        BluetoothHeadset bluetoothHeadset = this.H;
        if (bluetoothAdapter == null || bluetoothHeadset == null || set == null || !bluetoothAdapter.isEnabled()) {
            return;
        }
        for (BluetoothDevice bluetoothDevice : set) {
            if (bluetoothHeadset.startVoiceRecognition(bluetoothDevice)) {
                r("Starting bluetooth voice recognition");
                this.G = bluetoothDevice;
                return;
            }
        }
    }

    private final void H() {
        if (this.f10405z) {
            return;
        }
        BluetoothDevice bluetoothDevice = this.G;
        BluetoothHeadset bluetoothHeadset = this.H;
        if (bluetoothDevice == null || bluetoothHeadset == null) {
            return;
        }
        r("Stopping bluetooth voice recognition");
        bluetoothHeadset.stopVoiceRecognition(bluetoothDevice);
        this.G = null;
    }

    private final boolean I() {
        return Build.VERSION.SDK_INT < this.f10388c;
    }

    private final void J(String str) {
        final JSONObject jSONObject = new JSONObject();
        jSONObject.put("errorMsg", str);
        jSONObject.put("permanent", true);
        this.P.post(new Runnable() {
            @Override
            public final void run() {
                q.K(q.this, jSONObject);
            }
        });
    }

    public static final void K(q qVar, JSONObject jSONObject) {
        cc.l.f(qVar, "this$0");
        cc.l.f(jSONObject, "$speechError");
        pa.j jVar = qVar.f10387b;
        if (jVar != null) {
            jVar.c("notifyError", jSONObject.toString());
        }
    }

    private final void L() {
        if (this.f10405z) {
            return;
        }
        BluetoothAdapter defaultAdapter = BluetoothAdapter.getDefaultAdapter();
        this.E = defaultAdapter;
        this.F = defaultAdapter != null ? defaultAdapter.getBondedDevices() : null;
        b bVar = new b();
        BluetoothAdapter bluetoothAdapter = this.E;
        if (bluetoothAdapter != null) {
            bluetoothAdapter.getProfileProxy(this.f10386a, bVar, 1);
        }
    }

    private final void M(final String str, final boolean z10, f fVar, final boolean z11) {
        r("setupRecognizerIntent");
        String str2 = this.I;
        if (str2 != null && cc.l.a(str2, str) && z10 == this.J && this.K == fVar) {
            return;
        }
        this.I = str;
        this.J = z10;
        this.K = fVar;
        this.P.post(new Runnable() {
            @Override
            public final void run() {
                q.N(q.this, z10, str, z11);
            }
        });
    }

    public static final void N(q qVar, boolean z10, String str, boolean z11) {
        cc.l.f(qVar, "this$0");
        cc.l.f(str, "$languageTag");
        Intent intent = new Intent("android.speech.action.RECOGNIZE_SPEECH");
        qVar.r("In RecognizerIntent apply");
        intent.putExtra("android.speech.extra.LANGUAGE_MODEL", "free_form");
        qVar.r("put model");
        Context context = qVar.f10386a;
        if (context != null) {
            intent.putExtra("calling_package", context.getApplicationInfo().packageName);
        }
        qVar.r("put package");
        intent.putExtra("android.speech.extra.PARTIAL_RESULTS", z10);
        qVar.r("put partial");
        if (!cc.l.a(str, Locale.getDefault().toLanguageTag())) {
            intent.putExtra("android.speech.extra.LANGUAGE", str);
            qVar.r("put languageTag");
        }
        if (z11) {
            intent.putExtra("android.speech.extra.PREFER_OFFLINE", z11);
        }
        intent.putExtra("android.speech.extra.MAX_RESULTS", 10);
        qVar.D = intent;
    }

    private final void O(j.d dVar, String str, boolean z10, int i10, boolean z11) {
        if (I() || A() || getF10400u()) {
            dVar.a(Boolean.FALSE);
            return;
        }
        this.A = false;
        p(z11);
        this.N = 1000.0f;
        this.O = -100.0f;
        r("Start listening");
        f fVar = f.deviceDefault;
        f fVar2 = f.dictation;
        if (i10 == fVar2.ordinal()) {
            fVar = fVar2;
        }
        G();
        M(str, z10, fVar, z11);
        this.P.post(new Runnable() {
            @Override
            public final void run() {
                q.P(q.this);
            }
        });
        this.M = System.currentTimeMillis();
        D(true);
        dVar.a(Boolean.TRUE);
        r("Start listening done");
    }

    public static final void P(q qVar) {
        cc.l.f(qVar, "this$0");
        SpeechRecognizer speechRecognizer = qVar.C;
        if (speechRecognizer != null) {
            speechRecognizer.startListening(qVar.D);
        }
    }

    private final void Q(j.d dVar) {
        if (I() || A() || B()) {
            dVar.a(Boolean.FALSE);
            return;
        }
        r("Stop listening");
        this.P.post(new Runnable() {
            @Override
            public final void run() {
                q.R(q.this);
            }
        });
        if (!this.f10395p) {
            s();
        }
        D(false);
        dVar.a(Boolean.TRUE);
        r("Stop listening done");
    }

    public static final void R(q qVar) {
        cc.l.f(qVar, "this$0");
        SpeechRecognizer speechRecognizer = qVar.C;
        if (speechRecognizer != null) {
            speechRecognizer.stopListening();
        }
    }

    private final void S(Bundle bundle, boolean z10) {
        if (y(z10)) {
            r("Discarding duplicate final");
            return;
        }
        ArrayList<String> stringArrayList = bundle != null ? bundle.getStringArrayList("results_recognition") : null;
        if (stringArrayList == null || !(!stringArrayList.isEmpty())) {
            r("Results null or empty");
            return;
        }
        JSONObject jSONObject = new JSONObject();
        jSONObject.put("finalResult", z10);
        float[] floatArray = bundle.getFloatArray("confidence_scores");
        JSONArray jSONArray = new JSONArray();
        int size = stringArrayList.size() - 1;
        if (size >= 0) {
            int i10 = 0;
            while (true) {
                JSONObject jSONObject2 = new JSONObject();
                jSONObject2.put("recognizedWords", stringArrayList.get(i10));
                if (floatArray == null || floatArray.length < stringArrayList.size()) {
                    jSONObject2.put("confidence", this.f10392m);
                } else {
                    jSONObject2.put("confidence", Float.valueOf(floatArray[i10]));
                }
                jSONArray.put(jSONObject2);
                if (i10 == size) {
                    break;
                } else {
                    i10++;
                }
            }
        }
        jSONObject.put("alternates", jSONArray);
        String jSONObject3 = jSONObject.toString();
        cc.l.e(jSONObject3, "toString(...)");
        r("Calling results callback");
        this.A = true;
        pa.j jVar = this.f10387b;
        if (jVar != null) {
            jVar.c("textRecognition", jSONObject3);
        }
    }

    private final void m(j.d dVar) {
        if (I() || A() || B()) {
            dVar.a(Boolean.FALSE);
            return;
        }
        r("Cancel listening");
        this.P.post(new Runnable() {
            @Override
            public final void run() {
                q.n(q.this);
            }
        });
        if (!this.f10395p) {
            s();
        }
        D(false);
        dVar.a(Boolean.TRUE);
        r("Cancel listening done");
    }

    public static final void n(q qVar) {
        cc.l.f(qVar, "this$0");
        SpeechRecognizer speechRecognizer = qVar.C;
        if (speechRecognizer != null) {
            speechRecognizer.cancel();
        }
    }

    private final void o() {
        boolean isOnDeviceRecognitionAvailable;
        r("completeInitialize");
        if (this.f10399t) {
            r("Testing recognition availability");
            Context context = this.f10386a;
            if (context == null) {
                r("null context during initialization");
                j.d dVar = this.f10397r;
                if (dVar != null) {
                    dVar.a(Boolean.FALSE);
                }
                j.d dVar2 = this.f10397r;
                if (dVar2 != null) {
                    dVar2.b("missingContext", "context unexpectedly null, initialization failed", "");
                }
                this.f10397r = null;
                return;
            }
            if (Build.VERSION.SDK_INT >= 31) {
                if (!SpeechRecognizer.isRecognitionAvailable(context)) {
                    isOnDeviceRecognitionAvailable = SpeechRecognizer.isOnDeviceRecognitionAvailable(context);
                    if (!isOnDeviceRecognitionAvailable) {
                        Log.e(this.f10394o, "Speech recognition not available on this device");
                        j.d dVar3 = this.f10397r;
                        if (dVar3 != null) {
                            dVar3.b("recognizerNotAvailable", "Speech recognition not available on this device", "");
                        }
                        this.f10397r = null;
                        return;
                    }
                }
            } else if (!SpeechRecognizer.isRecognitionAvailable(context)) {
                Log.e(this.f10394o, "Speech recognition not available on this device");
                j.d dVar4 = this.f10397r;
                if (dVar4 != null) {
                    dVar4.b("recognizerNotAvailable", "Speech recognition not available on this device", "");
                }
                this.f10397r = null;
                return;
            }
            L();
        }
        this.f10398s = this.f10399t;
        r("sending result");
        j.d dVar5 = this.f10397r;
        if (dVar5 != null) {
            dVar5.a(Boolean.valueOf(this.f10399t));
        }
        r("leaving complete");
        this.f10397r = null;
    }

    private final void p(final boolean z10) {
        SpeechRecognizer speechRecognizer = this.C;
        if (speechRecognizer == null || z10 != this.B) {
            this.B = z10;
            if (speechRecognizer != null) {
                speechRecognizer.destroy();
            }
            this.C = null;
            this.P.post(new Runnable() {
                @Override
                public final void run() {
                    q.q(q.this, z10);
                }
            });
            r("before setup intent");
            M(this.Q, true, f.deviceDefault, false);
            r("after setup intent");
        }
    }

    public static final void q(l2.q r4, boolean r5) {
        throw new UnsupportedOperationException("Method not decompiled: l2.q.q(l2.q, boolean):void");
    }

    public final void r(String str) {
        if (this.f10401v) {
            Log.d(this.f10394o, str);
        }
    }

    private final void s() {
        this.P.postDelayed(new Runnable() {
            @Override
            public final void run() {
                q.t(q.this);
            }
        }, 50L);
    }

    public static final void t(q qVar) {
        cc.l.f(qVar, "this$0");
        qVar.r("Recognizer destroy");
        SpeechRecognizer speechRecognizer = qVar.C;
        if (speechRecognizer != null) {
            speechRecognizer.destroy();
        }
        qVar.C = null;
    }

    private final ComponentName u(Context context) {
        ServiceInfo serviceInfo;
        List<ResolveInfo> queryIntentServices = context.getPackageManager().queryIntentServices(new Intent("android.speech.RecognitionService"), 0);
        cc.l.e(queryIntentServices, "queryIntentServices(...)");
        r("RecognitionService, found: " + queryIntentServices.size());
        Iterator<T> it = queryIntentServices.iterator();
        while (it.hasNext()) {
            ServiceInfo serviceInfo2 = ((ResolveInfo) it.next()).serviceInfo;
            if (serviceInfo2 != null) {
                cc.l.c(serviceInfo2);
                r("RecognitionService: packageName: " + serviceInfo2.packageName + ", name: " + serviceInfo2.name);
            }
        }
        ResolveInfo resolveInfo = (ResolveInfo) pb.p.X(queryIntentServices);
        if (resolveInfo == null || (serviceInfo = resolveInfo.serviceInfo) == null) {
            return null;
        }
        return new ComponentName(serviceInfo.packageName, serviceInfo.name);
    }

    private final void v(j.d dVar) {
        if (I()) {
            dVar.a(Boolean.FALSE);
            return;
        }
        r("Start has_permission");
        Context context = this.f10386a;
        if (context != null) {
            dVar.a(Boolean.valueOf(androidx.core.content.a.checkSelfPermission(context, "android.permission.RECORD_AUDIO") == 0));
        }
    }

    private final void w(j.d dVar) {
        if (I()) {
            dVar.a(Boolean.FALSE);
            return;
        }
        this.f10395p = Build.VERSION.SDK_INT != this.f10389d || this.f10402w;
        r("Start initialize");
        if (this.f10397r != null) {
            dVar.b("multipleRequests", "Only one initialize at a time", null);
        } else {
            this.f10397r = dVar;
            x(this.f10386a);
        }
    }

    private final void x(Context context) {
        String str;
        if (context == null) {
            o();
            return;
        }
        boolean z10 = true;
        this.f10399t = androidx.core.content.a.checkSelfPermission(context, "android.permission.RECORD_AUDIO") == 0;
        if ((androidx.core.content.a.checkSelfPermission(context, "android.permission.BLUETOOTH_CONNECT") == 0) && !this.f10404y) {
            z10 = false;
        }
        this.f10405z = z10;
        r("Checked permission");
        if (this.f10399t) {
            str = "has permission, completing";
        } else {
            Activity activity = this.f10396q;
            if (activity != null) {
                r("Requesting permission");
                String[] strArr = {"android.permission.RECORD_AUDIO"};
                if (!this.f10404y) {
                    strArr = (String[]) pb.i.l(strArr, "android.permission.BLUETOOTH_CONNECT");
                }
                androidx.core.app.b.e(activity, strArr, this.f10391f);
                r("leaving initializeIfPermitted");
            }
            str = "no permission, no activity, completing";
        }
        r(str);
        o();
        r("leaving initializeIfPermitted");
    }

    private final boolean y(boolean z10) {
        if (!z10) {
            return false;
        }
        long currentTimeMillis = System.currentTimeMillis() - this.L;
        this.L = System.currentTimeMillis();
        return currentTimeMillis >= 0 && currentTimeMillis < 100;
    }

    private final boolean getF10400u() {
        return this.f10400u;
    }

    @Override
    public void onAttachedToActivity(ia.c cVar) {
        cc.l.f(cVar, "binding");
        this.f10396q = cVar.g();
        cVar.i(this);
    }

    @Override
    public void onAttachedToEngine(a.b bVar) {
        cc.l.f(bVar, "flutterPluginBinding");
        Context a10 = bVar.a();
        cc.l.e(a10, "getApplicationContext(...)");
        pa.b b10 = bVar.b();
        cc.l.e(b10, "getBinaryMessenger(...)");
        E(a10, b10);
    }

    @Override
    public void onBeginningOfSpeech() {
    }

    @Override
    public void onBufferReceived(byte[] p02) {
    }

    @Override
    public void onDetachedFromActivity() {
        this.f10396q = null;
    }

    @Override
    public void onDetachedFromActivityForConfigChanges() {
        this.f10396q = null;
    }

    @Override
    public void onDetachedFromEngine(a.b bVar) {
        cc.l.f(bVar, "binding");
        this.f10386a = null;
        pa.j jVar = this.f10387b;
        if (jVar != null) {
            jVar.e(null);
        }
        this.f10387b = null;
    }

    @Override
    public void onEndOfSpeech() {
        D(false);
    }

    @Override
    public void onError(int errorCode) {
        String str;
        long currentTimeMillis = System.currentTimeMillis() - this.M;
        int i10 = (7 != errorCode || this.O >= ((float) this.f10393n)) ? errorCode : 6;
        r("Error " + errorCode + " after start at " + currentTimeMillis + ' ' + this.N + " / " + this.O);
        switch (i10) {
            case 1:
                str = "error_network_timeout";
                break;
            case 2:
                str = "error_network";
                break;
            case 3:
                str = "error_audio_error";
                break;
            case 4:
                str = "error_server";
                break;
            case 5:
                str = "error_client";
                break;
            case 6:
                str = "error_speech_timeout";
                break;
            case 7:
                str = "error_no_match";
                break;
            case 8:
                str = "error_busy";
                break;
            case 9:
                str = "error_permission";
                break;
            case 10:
                str = "error_too_many_requests";
                break;
            case 11:
                str = "error_server_disconnected";
                break;
            case 12:
                str = "error_language_not_supported";
                break;
            case 13:
                str = "error_language_unavailable";
                break;
            default:
                str = "error_unknown (" + errorCode + ')';
                break;
        }
        J(str);
        if (getF10400u()) {
            D(false);
        }
    }

    @Override
    public void onEvent(int p02, Bundle p12) {
    }

    @Override
    public void onMethodCall(pa.i iVar, j.d dVar) {
        cc.l.f(iVar, "call");
        cc.l.f(dVar, "rawrResult");
        d dVar2 = new d(dVar);
        try {
            String str = iVar.f11850a;
            if (str != null) {
                switch (str.hashCode()) {
                    case -1367724422:
                        if (!str.equals("cancel")) {
                            break;
                        } else {
                            m(dVar2);
                            return;
                        }
                    case -1198472044:
                        if (!str.equals("has_permission")) {
                            break;
                        } else {
                            v(dVar2);
                            return;
                        }
                    case -1102508601:
                        if (!str.equals("listen")) {
                            break;
                        } else {
                            String str2 = (String) iVar.a("localeId");
                            if (str2 == null) {
                                str2 = this.Q;
                            }
                            String s10 = we.l.s(str2, '_', '-', false, 4, (Object) null);
                            Boolean bool = (Boolean) iVar.a("partialResults");
                            if (bool == null) {
                                bool = Boolean.TRUE;
                            }
                            Boolean bool2 = (Boolean) iVar.a("onDevice");
                            if (bool2 == null) {
                                bool2 = Boolean.FALSE;
                            }
                            Integer num = (Integer) iVar.a("listenMode");
                            if (num == null) {
                                dVar2.b("missingOrInvalidArg", "listenMode is required", null);
                                return;
                            } else {
                                O(dVar2, s10, bool.booleanValue(), num.intValue(), bool2.booleanValue());
                                return;
                            }
                        }
                    case 3540994:
                        if (!str.equals("stop")) {
                            break;
                        } else {
                            Q(dVar2);
                            return;
                        }
                    case 338410841:
                        if (!str.equals("locales")) {
                            break;
                        } else {
                            C(dVar2);
                            return;
                        }
                    case 871091088:
                        if (!str.equals("initialize")) {
                            break;
                        } else {
                            Boolean bool3 = (Boolean) iVar.a("debugLogging");
                            if (bool3 != null) {
                                this.f10401v = bool3.booleanValue();
                            }
                            Boolean bool4 = (Boolean) iVar.a("alwaysUseStop");
                            if (bool4 != null) {
                                this.f10402w = cc.l.a(bool4, Boolean.TRUE);
                            }
                            Boolean bool5 = (Boolean) iVar.a("intentLookup");
                            if (bool5 != null) {
                                this.f10403x = cc.l.a(bool5, Boolean.TRUE);
                            }
                            Boolean bool6 = (Boolean) iVar.a("noBluetooth");
                            if (bool6 != null) {
                                this.f10404y = cc.l.a(bool6, Boolean.TRUE);
                            }
                            w(dVar2);
                            return;
                        }
                }
            }
            dVar2.c();
        } catch (Exception e10) {
            Log.e(this.f10394o, "Unexpected exception", e10);
            dVar2.b("unknown", "Unexpected exception", e10.getLocalizedMessage());
        }
    }

    @Override
    public void onPartialResults(Bundle results) {
        S(results, false);
    }

    @Override
    public void onReadyForSpeech(Bundle p02) {
    }

    @Override
    public void onReattachedToActivityForConfigChanges(ia.c cVar) {
        cc.l.f(cVar, "binding");
        this.f10396q = cVar.g();
        cVar.i(this);
    }

    @Override
    public boolean onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        cc.l.f(permissions, "permissions");
        cc.l.f(grantResults, "grantResults");
        if (requestCode != this.f10391f) {
            return false;
        }
        this.f10399t = ((grantResults.length == 0) ^ true) && grantResults[0] == 0;
        this.f10405z = (grantResults.length == 0) || grantResults.length == 1 || grantResults[1] != 0 || this.f10404y;
        o();
        return true;
    }

    @Override
    public void onResults(Bundle results) {
        S(results, true);
    }

    @Override
    public void onRmsChanged(final float rmsdB) {
        if (rmsdB < this.N) {
            this.N = rmsdB;
        }
        if (rmsdB > this.O) {
            this.O = rmsdB;
        }
        r("rmsDB " + this.N + " / " + this.O);
        this.P.post(new Runnable() {
            @Override
            public final void run() {
                q.F(q.this, rmsdB);
            }
        });
    }
}