public class android.speech.SpeechRecognizer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.speech.SpeechRecognizer
  super_class: java.lang.Object
{
  private static final boolean DBG;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "SpeechRecognizer"

  public static final java.lang.String RESULTS_RECOGNITION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "results_recognition"

  public static final java.lang.String CONFIDENCE_SCORES;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "confidence_scores"

  public static final int ERROR_NETWORK_TIMEOUT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int ERROR_NETWORK;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int ERROR_AUDIO;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int ERROR_SERVER;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int ERROR_CLIENT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  public static final int ERROR_SPEECH_TIMEOUT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  public static final int ERROR_NO_MATCH;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  public static final int ERROR_RECOGNIZER_BUSY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  public static final int ERROR_INSUFFICIENT_PERMISSIONS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  private static final int MSG_START;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int MSG_STOP;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int MSG_CANCEL;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static final int MSG_CHANGE_LISTENER;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private android.speech.IRecognitionService mService;
    descriptor: Landroid/speech/IRecognitionService;
    flags: (0x0002) ACC_PRIVATE

  private android.speech.SpeechRecognizer$Connection mConnection;
    descriptor: Landroid/speech/SpeechRecognizer$Connection;
    flags: (0x0002) ACC_PRIVATE

  private final android.content.Context mContext;
    descriptor: Landroid/content/Context;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.content.ComponentName mServiceComponent;
    descriptor: Landroid/content/ComponentName;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private android.os.Handler mHandler;
    descriptor: Landroid/os/Handler;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.Queue<android.os.Message> mPendingTasks;
    descriptor: Ljava/util/Queue;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Queue<Landroid/os/Message;>;

  private final android.speech.SpeechRecognizer$InternalListener mListener;
    descriptor: Landroid/speech/SpeechRecognizer$InternalListener;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private void <init>(android.content.Context, android.content.ComponentName);
    descriptor: (Landroid/content/Context;Landroid/content/ComponentName;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.speech.SpeechRecognizer this
        start local 1 // android.content.Context context
        start local 2 // android.content.ComponentName serviceComponent
         0: .line 159
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 126
            aload 0 /* this */
            new android.speech.SpeechRecognizer$1
            dup
            aload 0 /* this */
            invokespecial android.speech.SpeechRecognizer$1.<init>:(Landroid/speech/SpeechRecognizer;)V
            putfield android.speech.SpeechRecognizer.mHandler:Landroid/os/Handler;
         2: .line 150
            aload 0 /* this */
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            putfield android.speech.SpeechRecognizer.mPendingTasks:Ljava/util/Queue;
         3: .line 153
            aload 0 /* this */
            new android.speech.SpeechRecognizer$InternalListener
            dup
            invokespecial android.speech.SpeechRecognizer$InternalListener.<init>:()V
            putfield android.speech.SpeechRecognizer.mListener:Landroid/speech/SpeechRecognizer$InternalListener;
         4: .line 160
            aload 0 /* this */
            aload 1 /* context */
            putfield android.speech.SpeechRecognizer.mContext:Landroid/content/Context;
         5: .line 161
            aload 0 /* this */
            aload 2 /* serviceComponent */
            putfield android.speech.SpeechRecognizer.mServiceComponent:Landroid/content/ComponentName;
         6: .line 162
            return
        end local 2 // android.content.ComponentName serviceComponent
        end local 1 // android.content.Context context
        end local 0 // android.speech.SpeechRecognizer this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Landroid/speech/SpeechRecognizer;
            0    7     1           context  Landroid/content/Context;
            0    7     2  serviceComponent  Landroid/content/ComponentName;
    MethodParameters:
                  Name  Flags
      context           final
      serviceComponent  final

  public static boolean isRecognitionAvailable(android.content.Context);
    descriptor: (Landroid/content/Context;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // android.content.Context context
         0: .line 197
            aload 0 /* context */
            invokevirtual android.content.Context.getPackageManager:()Landroid/content/pm/PackageManager;
         1: .line 198
            new android.content.Intent
            dup
            ldc "android.speech.RecognitionService"
            invokespecial android.content.Intent.<init>:(Ljava/lang/String;)V
            iconst_0
         2: .line 197
            invokevirtual android.content.pm.PackageManager.queryIntentServices:(Landroid/content/Intent;I)Ljava/util/List;
            astore 1 /* list */
        start local 1 // java.util.List list
         3: .line 199
            aload 1 /* list */
            ifnull 4
            aload 1 /* list */
            invokeinterface java.util.List.size:()I
            ifeq 4
            iconst_1
            ireturn
      StackMap locals: java.util.List
      StackMap stack:
         4: iconst_0
            ireturn
        end local 1 // java.util.List list
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0  context  Landroid/content/Context;
            3    5     1     list  Ljava/util/List<Landroid/content/pm/ResolveInfo;>;
    MethodParameters:
         Name  Flags
      context  final

  public static android.speech.SpeechRecognizer createSpeechRecognizer(android.content.Context);
    descriptor: (Landroid/content/Context;)Landroid/speech/SpeechRecognizer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.content.Context context
         0: .line 212
            aload 0 /* context */
            aconst_null
            invokestatic android.speech.SpeechRecognizer.createSpeechRecognizer:(Landroid/content/Context;Landroid/content/ComponentName;)Landroid/speech/SpeechRecognizer;
            areturn
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Landroid/content/Context;
    MethodParameters:
         Name  Flags
      context  final

  public static android.speech.SpeechRecognizer createSpeechRecognizer(android.content.Context, android.content.ComponentName);
    descriptor: (Landroid/content/Context;Landroid/content/ComponentName;)Landroid/speech/SpeechRecognizer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.content.Context context
        start local 1 // android.content.ComponentName serviceComponent
         0: .line 233
            aload 0 /* context */
            ifnonnull 2
         1: .line 234
            new java.lang.IllegalArgumentException
            dup
            ldc "Context cannot be null)"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 236
      StackMap locals:
      StackMap stack:
            invokestatic android.speech.SpeechRecognizer.checkIsCalledFromMainThread:()V
         3: .line 237
            new android.speech.SpeechRecognizer
            dup
            aload 0 /* context */
            aload 1 /* serviceComponent */
            invokespecial android.speech.SpeechRecognizer.<init>:(Landroid/content/Context;Landroid/content/ComponentName;)V
            areturn
        end local 1 // android.content.ComponentName serviceComponent
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0           context  Landroid/content/Context;
            0    4     1  serviceComponent  Landroid/content/ComponentName;
    MethodParameters:
                  Name  Flags
      context           final
      serviceComponent  final

  public void setRecognitionListener(android.speech.RecognitionListener);
    descriptor: (Landroid/speech/RecognitionListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.speech.SpeechRecognizer this
        start local 1 // android.speech.RecognitionListener listener
         0: .line 249
            invokestatic android.speech.SpeechRecognizer.checkIsCalledFromMainThread:()V
         1: .line 250
            aload 0 /* this */
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mHandler:Landroid/os/Handler;
            iconst_4
            aload 1 /* listener */
            invokestatic android.os.Message.obtain:(Landroid/os/Handler;ILjava/lang/Object;)Landroid/os/Message;
            invokevirtual android.speech.SpeechRecognizer.putMessage:(Landroid/os/Message;)V
         2: .line 251
            return
        end local 1 // android.speech.RecognitionListener listener
        end local 0 // android.speech.SpeechRecognizer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Landroid/speech/SpeechRecognizer;
            0    3     1  listener  Landroid/speech/RecognitionListener;
    MethodParameters:
          Name  Flags
      listener  

  public void startListening(android.content.Intent);
    descriptor: (Landroid/content/Intent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // android.speech.SpeechRecognizer this
        start local 1 // android.content.Intent recognizerIntent
         0: .line 263
            aload 1 /* recognizerIntent */
            ifnonnull 2
         1: .line 264
            new java.lang.IllegalArgumentException
            dup
            ldc "intent must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 266
      StackMap locals:
      StackMap stack:
            invokestatic android.speech.SpeechRecognizer.checkIsCalledFromMainThread:()V
         3: .line 267
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mConnection:Landroid/speech/SpeechRecognizer$Connection;
            ifnonnull 23
         4: .line 268
            aload 0 /* this */
            new android.speech.SpeechRecognizer$Connection
            dup
            aload 0 /* this */
            invokespecial android.speech.SpeechRecognizer$Connection.<init>:(Landroid/speech/SpeechRecognizer;)V
            putfield android.speech.SpeechRecognizer.mConnection:Landroid/speech/SpeechRecognizer$Connection;
         5: .line 270
            new android.content.Intent
            dup
            ldc "android.speech.RecognitionService"
            invokespecial android.content.Intent.<init>:(Ljava/lang/String;)V
            astore 2 /* serviceIntent */
        start local 2 // android.content.Intent serviceIntent
         6: .line 272
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mServiceComponent:Landroid/content/ComponentName;
            ifnonnull 16
         7: .line 273
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mContext:Landroid/content/Context;
            invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
         8: .line 274
            ldc "voice_recognition_service"
         9: .line 273
            invokestatic android.provider.Settings$Secure.getString:(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* serviceComponent */
        start local 3 // java.lang.String serviceComponent
        10: .line 276
            aload 3 /* serviceComponent */
            invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 14
        11: .line 277
            ldc "SpeechRecognizer"
            ldc "no selected voice recognition service"
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        12: .line 278
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mListener:Landroid/speech/SpeechRecognizer$InternalListener;
            iconst_5
            invokevirtual android.speech.SpeechRecognizer$InternalListener.onError:(I)V
        13: .line 279
            return
        14: .line 282
      StackMap locals: android.content.Intent java.lang.String
      StackMap stack:
            aload 2 /* serviceIntent */
            aload 3 /* serviceComponent */
            invokestatic android.content.ComponentName.unflattenFromString:(Ljava/lang/String;)Landroid/content/ComponentName;
            invokevirtual android.content.Intent.setComponent:(Landroid/content/ComponentName;)Landroid/content/Intent;
            pop
        end local 3 // java.lang.String serviceComponent
        15: .line 283
            goto 17
        16: .line 284
      StackMap locals:
      StackMap stack:
            aload 2 /* serviceIntent */
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mServiceComponent:Landroid/content/ComponentName;
            invokevirtual android.content.Intent.setComponent:(Landroid/content/ComponentName;)Landroid/content/Intent;
            pop
        17: .line 287
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mContext:Landroid/content/Context;
            aload 2 /* serviceIntent */
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mConnection:Landroid/speech/SpeechRecognizer$Connection;
            iconst_1
            invokevirtual android.content.Context.bindService:(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z
            ifne 23
        18: .line 288
            ldc "SpeechRecognizer"
            ldc "bind to recognition service failed"
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        19: .line 289
            aload 0 /* this */
            aconst_null
            putfield android.speech.SpeechRecognizer.mConnection:Landroid/speech/SpeechRecognizer$Connection;
        20: .line 290
            aload 0 /* this */
            aconst_null
            putfield android.speech.SpeechRecognizer.mService:Landroid/speech/IRecognitionService;
        21: .line 291
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mListener:Landroid/speech/SpeechRecognizer$InternalListener;
            iconst_5
            invokevirtual android.speech.SpeechRecognizer$InternalListener.onError:(I)V
        22: .line 292
            return
        end local 2 // android.content.Intent serviceIntent
        23: .line 295
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mHandler:Landroid/os/Handler;
            iconst_1
            aload 1 /* recognizerIntent */
            invokestatic android.os.Message.obtain:(Landroid/os/Handler;ILjava/lang/Object;)Landroid/os/Message;
            invokevirtual android.speech.SpeechRecognizer.putMessage:(Landroid/os/Message;)V
        24: .line 296
            return
        end local 1 // android.content.Intent recognizerIntent
        end local 0 // android.speech.SpeechRecognizer this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   25     0              this  Landroid/speech/SpeechRecognizer;
            0   25     1  recognizerIntent  Landroid/content/Intent;
            6   23     2     serviceIntent  Landroid/content/Intent;
           10   15     3  serviceComponent  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      recognizerIntent  final

  public void stopListening();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.speech.SpeechRecognizer this
         0: .line 309
            invokestatic android.speech.SpeechRecognizer.checkIsCalledFromMainThread:()V
         1: .line 310
            aload 0 /* this */
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mHandler:Landroid/os/Handler;
            iconst_2
            invokestatic android.os.Message.obtain:(Landroid/os/Handler;I)Landroid/os/Message;
            invokevirtual android.speech.SpeechRecognizer.putMessage:(Landroid/os/Message;)V
         2: .line 311
            return
        end local 0 // android.speech.SpeechRecognizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/speech/SpeechRecognizer;

  public void cancel();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.speech.SpeechRecognizer this
         0: .line 319
            invokestatic android.speech.SpeechRecognizer.checkIsCalledFromMainThread:()V
         1: .line 320
            aload 0 /* this */
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mHandler:Landroid/os/Handler;
            iconst_3
            invokestatic android.os.Message.obtain:(Landroid/os/Handler;I)Landroid/os/Message;
            invokevirtual android.speech.SpeechRecognizer.putMessage:(Landroid/os/Message;)V
         2: .line 321
            return
        end local 0 // android.speech.SpeechRecognizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/speech/SpeechRecognizer;

  private static void checkIsCalledFromMainThread();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 324
            invokestatic android.os.Looper.myLooper:()Landroid/os/Looper;
            invokestatic android.os.Looper.getMainLooper:()Landroid/os/Looper;
            if_acmpeq 4
         1: .line 325
            new java.lang.RuntimeException
            dup
         2: .line 326
            ldc "SpeechRecognizer should be used only from the application's main thread"
         3: .line 325
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 328
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void putMessage(android.os.Message);
    descriptor: (Landroid/os/Message;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.speech.SpeechRecognizer this
        start local 1 // android.os.Message msg
         0: .line 331
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mService:Landroid/speech/IRecognitionService;
            ifnonnull 3
         1: .line 332
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mPendingTasks:Ljava/util/Queue;
            aload 1 /* msg */
            invokeinterface java.util.Queue.offer:(Ljava/lang/Object;)Z
            pop
         2: .line 333
            goto 4
         3: .line 334
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mHandler:Landroid/os/Handler;
            aload 1 /* msg */
            invokevirtual android.os.Handler.sendMessage:(Landroid/os/Message;)Z
            pop
         4: .line 336
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.os.Message msg
        end local 0 // android.speech.SpeechRecognizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/speech/SpeechRecognizer;
            0    5     1   msg  Landroid/os/Message;
    MethodParameters:
      Name  Flags
      msg   

  private void handleStartListening(android.content.Intent);
    descriptor: (Landroid/content/Intent;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.speech.SpeechRecognizer this
        start local 1 // android.content.Intent recognizerIntent
         0: .line 340
            aload 0 /* this */
            invokevirtual android.speech.SpeechRecognizer.checkOpenConnection:()Z
            ifne 2
         1: .line 341
            return
         2: .line 344
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mService:Landroid/speech/IRecognitionService;
            aload 1 /* recognizerIntent */
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mListener:Landroid/speech/SpeechRecognizer$InternalListener;
            invokeinterface android.speech.IRecognitionService.startListening:(Landroid/content/Intent;Landroid/speech/IRecognitionListener;)V
         3: .line 346
            goto 7
      StackMap locals:
      StackMap stack: android.os.RemoteException
         4: astore 2 /* e */
        start local 2 // android.os.RemoteException e
         5: .line 347
            ldc "SpeechRecognizer"
            ldc "startListening() failed"
            aload 2 /* e */
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
         6: .line 348
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mListener:Landroid/speech/SpeechRecognizer$InternalListener;
            iconst_5
            invokevirtual android.speech.SpeechRecognizer$InternalListener.onError:(I)V
        end local 2 // android.os.RemoteException e
         7: .line 350
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.content.Intent recognizerIntent
        end local 0 // android.speech.SpeechRecognizer this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Landroid/speech/SpeechRecognizer;
            0    8     1  recognizerIntent  Landroid/content/Intent;
            5    7     2                 e  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           2     3       4  Class android.os.RemoteException
    MethodParameters:
                  Name  Flags
      recognizerIntent  

  private void handleStopMessage();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // android.speech.SpeechRecognizer this
         0: .line 354
            aload 0 /* this */
            invokevirtual android.speech.SpeechRecognizer.checkOpenConnection:()Z
            ifne 2
         1: .line 355
            return
         2: .line 358
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mService:Landroid/speech/IRecognitionService;
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mListener:Landroid/speech/SpeechRecognizer$InternalListener;
            invokeinterface android.speech.IRecognitionService.stopListening:(Landroid/speech/IRecognitionListener;)V
         3: .line 360
            goto 7
      StackMap locals:
      StackMap stack: android.os.RemoteException
         4: astore 1 /* e */
        start local 1 // android.os.RemoteException e
         5: .line 361
            ldc "SpeechRecognizer"
            ldc "stopListening() failed"
            aload 1 /* e */
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
         6: .line 362
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mListener:Landroid/speech/SpeechRecognizer$InternalListener;
            iconst_5
            invokevirtual android.speech.SpeechRecognizer$InternalListener.onError:(I)V
        end local 1 // android.os.RemoteException e
         7: .line 364
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.speech.SpeechRecognizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Landroid/speech/SpeechRecognizer;
            5    7     1     e  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           2     3       4  Class android.os.RemoteException

  private void handleCancelMessage();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // android.speech.SpeechRecognizer this
         0: .line 368
            aload 0 /* this */
            invokevirtual android.speech.SpeechRecognizer.checkOpenConnection:()Z
            ifne 2
         1: .line 369
            return
         2: .line 372
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mService:Landroid/speech/IRecognitionService;
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mListener:Landroid/speech/SpeechRecognizer$InternalListener;
            invokeinterface android.speech.IRecognitionService.cancel:(Landroid/speech/IRecognitionListener;)V
         3: .line 374
            goto 7
      StackMap locals:
      StackMap stack: android.os.RemoteException
         4: astore 1 /* e */
        start local 1 // android.os.RemoteException e
         5: .line 375
            ldc "SpeechRecognizer"
            ldc "cancel() failed"
            aload 1 /* e */
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
         6: .line 376
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mListener:Landroid/speech/SpeechRecognizer$InternalListener;
            iconst_5
            invokevirtual android.speech.SpeechRecognizer$InternalListener.onError:(I)V
        end local 1 // android.os.RemoteException e
         7: .line 378
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.speech.SpeechRecognizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Landroid/speech/SpeechRecognizer;
            5    7     1     e  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           2     3       4  Class android.os.RemoteException

  private boolean checkOpenConnection();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.speech.SpeechRecognizer this
         0: .line 381
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mService:Landroid/speech/IRecognitionService;
            ifnull 2
         1: .line 382
            iconst_1
            ireturn
         2: .line 384
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mListener:Landroid/speech/SpeechRecognizer$InternalListener;
            iconst_5
            invokevirtual android.speech.SpeechRecognizer$InternalListener.onError:(I)V
         3: .line 385
            ldc "SpeechRecognizer"
            ldc "not connected to the recognition service"
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         4: .line 386
            iconst_0
            ireturn
        end local 0 // android.speech.SpeechRecognizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/speech/SpeechRecognizer;

  private void handleChangeListener(android.speech.RecognitionListener);
    descriptor: (Landroid/speech/RecognitionListener;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.speech.SpeechRecognizer this
        start local 1 // android.speech.RecognitionListener listener
         0: .line 392
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mListener:Landroid/speech/SpeechRecognizer$InternalListener;
            aload 1 /* listener */
            putfield android.speech.SpeechRecognizer$InternalListener.mInternalListener:Landroid/speech/RecognitionListener;
         1: .line 393
            return
        end local 1 // android.speech.RecognitionListener listener
        end local 0 // android.speech.SpeechRecognizer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/speech/SpeechRecognizer;
            0    2     1  listener  Landroid/speech/RecognitionListener;
    MethodParameters:
          Name  Flags
      listener  

  public void destroy();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.speech.SpeechRecognizer this
         0: .line 399
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mService:Landroid/speech/IRecognitionService;
            ifnull 4
         1: .line 401
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mService:Landroid/speech/IRecognitionService;
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mListener:Landroid/speech/SpeechRecognizer$InternalListener;
            invokeinterface android.speech.IRecognitionService.cancel:(Landroid/speech/IRecognitionListener;)V
         2: .line 402
            goto 4
      StackMap locals:
      StackMap stack: android.os.RemoteException
         3: pop
         4: .line 407
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mConnection:Landroid/speech/SpeechRecognizer$Connection;
            ifnull 6
         5: .line 408
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mContext:Landroid/content/Context;
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mConnection:Landroid/speech/SpeechRecognizer$Connection;
            invokevirtual android.content.Context.unbindService:(Landroid/content/ServiceConnection;)V
         6: .line 410
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mPendingTasks:Ljava/util/Queue;
            invokeinterface java.util.Queue.clear:()V
         7: .line 411
            aload 0 /* this */
            aconst_null
            putfield android.speech.SpeechRecognizer.mService:Landroid/speech/IRecognitionService;
         8: .line 412
            aload 0 /* this */
            aconst_null
            putfield android.speech.SpeechRecognizer.mConnection:Landroid/speech/SpeechRecognizer$Connection;
         9: .line 413
            aload 0 /* this */
            getfield android.speech.SpeechRecognizer.mListener:Landroid/speech/SpeechRecognizer$InternalListener;
            aconst_null
            putfield android.speech.SpeechRecognizer$InternalListener.mInternalListener:Landroid/speech/RecognitionListener;
        10: .line 414
            return
        end local 0 // android.speech.SpeechRecognizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Landroid/speech/SpeechRecognizer;
      Exception table:
        from    to  target  type
           1     2       3  Class android.os.RemoteException
}
SourceFile: "SpeechRecognizer.java"
NestMembers:
  android.speech.SpeechRecognizer$1  android.speech.SpeechRecognizer$Connection  android.speech.SpeechRecognizer$InternalListener  android.speech.SpeechRecognizer$InternalListener$1
InnerClasses:
  public final Secure = android.provider.Settings$Secure of android.provider.Settings
  android.speech.SpeechRecognizer$1
  private Connection = android.speech.SpeechRecognizer$Connection of android.speech.SpeechRecognizer
  private InternalListener = android.speech.SpeechRecognizer$InternalListener of android.speech.SpeechRecognizer