class android.speech.tts.TextToSpeechService$1 extends android.speech.tts.ITextToSpeechService$Stub
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: android.speech.tts.TextToSpeechService$1
  super_class: android.speech.tts.ITextToSpeechService$Stub
{
  final android.speech.tts.TextToSpeechService this$0;
    descriptor: Landroid/speech/tts/TextToSpeechService;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(android.speech.tts.TextToSpeechService);
    descriptor: (Landroid/speech/tts/TextToSpeechService;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.speech.tts.TextToSpeechService$1 this
         0: .line 1275
            aload 0 /* this */
            aload 1
            putfield android.speech.tts.TextToSpeechService$1.this$0:Landroid/speech/tts/TextToSpeechService;
            aload 0 /* this */
            invokespecial android.speech.tts.ITextToSpeechService$Stub.<init>:()V
            return
        end local 0 // android.speech.tts.TextToSpeechService$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/speech/tts/TextToSpeechService$1;
    MethodParameters:
        Name  Flags
      this$0  final

  public int speak(android.os.IBinder, java.lang.CharSequence, int, android.os.Bundle, java.lang.String);
    descriptor: (Landroid/os/IBinder;Ljava/lang/CharSequence;ILandroid/os/Bundle;Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=6
        start local 0 // android.speech.tts.TextToSpeechService$1 this
        start local 1 // android.os.IBinder caller
        start local 2 // java.lang.CharSequence text
        start local 3 // int queueMode
        start local 4 // android.os.Bundle params
        start local 5 // java.lang.String utteranceId
         0: .line 1283
            aload 0 /* this */
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* caller */
            aastore
            dup
            iconst_1
            aload 2 /* text */
            aastore
            dup
            iconst_2
            aload 4 /* params */
            aastore
            invokevirtual android.speech.tts.TextToSpeechService$1.checkNonNull:([Ljava/lang/Object;)Z
            ifne 2
         1: .line 1284
            iconst_m1
            ireturn
         2: .line 1288
      StackMap locals:
      StackMap stack:
            new android.speech.tts.TextToSpeechService$SynthesisSpeechItem
            dup
            aload 0 /* this */
            getfield android.speech.tts.TextToSpeechService$1.this$0:Landroid/speech/tts/TextToSpeechService;
         3: .line 1289
            aload 1 /* caller */
         4: .line 1290
            invokestatic android.os.Binder.getCallingUid:()I
         5: .line 1291
            invokestatic android.os.Binder.getCallingPid:()I
         6: .line 1292
            aload 4 /* params */
         7: .line 1293
            aload 5 /* utteranceId */
         8: .line 1294
            aload 2 /* text */
         9: .line 1288
            invokespecial android.speech.tts.TextToSpeechService$SynthesisSpeechItem.<init>:(Landroid/speech/tts/TextToSpeechService;Ljava/lang/Object;IILandroid/os/Bundle;Ljava/lang/String;Ljava/lang/CharSequence;)V
        10: .line 1287
            astore 6 /* item */
        start local 6 // android.speech.tts.TextToSpeechService$SpeechItem item
        11: .line 1295
            aload 0 /* this */
            getfield android.speech.tts.TextToSpeechService$1.this$0:Landroid/speech/tts/TextToSpeechService;
            getfield android.speech.tts.TextToSpeechService.mSynthHandler:Landroid/speech/tts/TextToSpeechService$SynthHandler;
            iload 3 /* queueMode */
            aload 6 /* item */
            invokevirtual android.speech.tts.TextToSpeechService$SynthHandler.enqueueSpeechItem:(ILandroid/speech/tts/TextToSpeechService$SpeechItem;)I
            ireturn
        end local 6 // android.speech.tts.TextToSpeechService$SpeechItem item
        end local 5 // java.lang.String utteranceId
        end local 4 // android.os.Bundle params
        end local 3 // int queueMode
        end local 2 // java.lang.CharSequence text
        end local 1 // android.os.IBinder caller
        end local 0 // android.speech.tts.TextToSpeechService$1 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Landroid/speech/tts/TextToSpeechService$1;
            0   12     1       caller  Landroid/os/IBinder;
            0   12     2         text  Ljava/lang/CharSequence;
            0   12     3    queueMode  I
            0   12     4       params  Landroid/os/Bundle;
            0   12     5  utteranceId  Ljava/lang/String;
           11   12     6         item  Landroid/speech/tts/TextToSpeechService$SpeechItem;
    MethodParameters:
             Name  Flags
      caller       
      text         
      queueMode    
      params       
      utteranceId  

  public int synthesizeToFileDescriptor(android.os.IBinder, java.lang.CharSequence, android.os.ParcelFileDescriptor, android.os.Bundle, java.lang.String);
    descriptor: (Landroid/os/IBinder;Ljava/lang/CharSequence;Landroid/os/ParcelFileDescriptor;Landroid/os/Bundle;Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=8, args_size=6
        start local 0 // android.speech.tts.TextToSpeechService$1 this
        start local 1 // android.os.IBinder caller
        start local 2 // java.lang.CharSequence text
        start local 3 // android.os.ParcelFileDescriptor fileDescriptor
        start local 4 // android.os.Bundle params
        start local 5 // java.lang.String utteranceId
         0: .line 1305
            aload 0 /* this */
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* caller */
            aastore
            dup
            iconst_1
            aload 2 /* text */
            aastore
            dup
            iconst_2
            aload 3 /* fileDescriptor */
            aastore
            dup
            iconst_3
            aload 4 /* params */
            aastore
            invokevirtual android.speech.tts.TextToSpeechService$1.checkNonNull:([Ljava/lang/Object;)Z
            ifne 2
         1: .line 1306
            iconst_m1
            ireturn
         2: .line 1313
      StackMap locals:
      StackMap stack:
            aload 3 /* fileDescriptor */
            invokevirtual android.os.ParcelFileDescriptor.detachFd:()I
            invokestatic android.os.ParcelFileDescriptor.adoptFd:(I)Landroid/os/ParcelFileDescriptor;
         3: .line 1312
            astore 6 /* sameFileDescriptor */
        start local 6 // android.os.ParcelFileDescriptor sameFileDescriptor
         4: .line 1316
            new android.speech.tts.TextToSpeechService$SynthesisToFileOutputStreamSpeechItem
            dup
            aload 0 /* this */
            getfield android.speech.tts.TextToSpeechService$1.this$0:Landroid/speech/tts/TextToSpeechService;
         5: .line 1317
            aload 1 /* caller */
         6: .line 1318
            invokestatic android.os.Binder.getCallingUid:()I
         7: .line 1319
            invokestatic android.os.Binder.getCallingPid:()I
         8: .line 1320
            aload 4 /* params */
         9: .line 1321
            aload 5 /* utteranceId */
        10: .line 1322
            aload 2 /* text */
        11: .line 1323
            new android.os.ParcelFileDescriptor$AutoCloseOutputStream
            dup
        12: .line 1324
            aload 6 /* sameFileDescriptor */
        13: .line 1323
            invokespecial android.os.ParcelFileDescriptor$AutoCloseOutputStream.<init>:(Landroid/os/ParcelFileDescriptor;)V
        14: .line 1316
            invokespecial android.speech.tts.TextToSpeechService$SynthesisToFileOutputStreamSpeechItem.<init>:(Landroid/speech/tts/TextToSpeechService;Ljava/lang/Object;IILandroid/os/Bundle;Ljava/lang/String;Ljava/lang/CharSequence;Ljava/io/FileOutputStream;)V
        15: .line 1315
            astore 7 /* item */
        start local 7 // android.speech.tts.TextToSpeechService$SpeechItem item
        16: .line 1325
            aload 0 /* this */
            getfield android.speech.tts.TextToSpeechService$1.this$0:Landroid/speech/tts/TextToSpeechService;
            getfield android.speech.tts.TextToSpeechService.mSynthHandler:Landroid/speech/tts/TextToSpeechService$SynthHandler;
            iconst_1
            aload 7 /* item */
            invokevirtual android.speech.tts.TextToSpeechService$SynthHandler.enqueueSpeechItem:(ILandroid/speech/tts/TextToSpeechService$SpeechItem;)I
            ireturn
        end local 7 // android.speech.tts.TextToSpeechService$SpeechItem item
        end local 6 // android.os.ParcelFileDescriptor sameFileDescriptor
        end local 5 // java.lang.String utteranceId
        end local 4 // android.os.Bundle params
        end local 3 // android.os.ParcelFileDescriptor fileDescriptor
        end local 2 // java.lang.CharSequence text
        end local 1 // android.os.IBinder caller
        end local 0 // android.speech.tts.TextToSpeechService$1 this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   17     0                this  Landroid/speech/tts/TextToSpeechService$1;
            0   17     1              caller  Landroid/os/IBinder;
            0   17     2                text  Ljava/lang/CharSequence;
            0   17     3      fileDescriptor  Landroid/os/ParcelFileDescriptor;
            0   17     4              params  Landroid/os/Bundle;
            0   17     5         utteranceId  Ljava/lang/String;
            4   17     6  sameFileDescriptor  Landroid/os/ParcelFileDescriptor;
           16   17     7                item  Landroid/speech/tts/TextToSpeechService$SpeechItem;
    MethodParameters:
                Name  Flags
      caller          
      text            
      fileDescriptor  
      params          
      utteranceId     

  public int playAudio(android.os.IBinder, android.net.Uri, int, android.os.Bundle, java.lang.String);
    descriptor: (Landroid/os/IBinder;Landroid/net/Uri;ILandroid/os/Bundle;Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=6
        start local 0 // android.speech.tts.TextToSpeechService$1 this
        start local 1 // android.os.IBinder caller
        start local 2 // android.net.Uri audioUri
        start local 3 // int queueMode
        start local 4 // android.os.Bundle params
        start local 5 // java.lang.String utteranceId
         0: .line 1335
            aload 0 /* this */
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* caller */
            aastore
            dup
            iconst_1
            aload 2 /* audioUri */
            aastore
            dup
            iconst_2
            aload 4 /* params */
            aastore
            invokevirtual android.speech.tts.TextToSpeechService$1.checkNonNull:([Ljava/lang/Object;)Z
            ifne 2
         1: .line 1336
            iconst_m1
            ireturn
         2: .line 1340
      StackMap locals:
      StackMap stack:
            new android.speech.tts.TextToSpeechService$AudioSpeechItem
            dup
            aload 0 /* this */
            getfield android.speech.tts.TextToSpeechService$1.this$0:Landroid/speech/tts/TextToSpeechService;
         3: .line 1341
            aload 1 /* caller */
         4: .line 1342
            invokestatic android.os.Binder.getCallingUid:()I
         5: .line 1343
            invokestatic android.os.Binder.getCallingPid:()I
         6: .line 1344
            aload 4 /* params */
         7: .line 1345
            aload 5 /* utteranceId */
         8: .line 1346
            aload 2 /* audioUri */
         9: .line 1340
            invokespecial android.speech.tts.TextToSpeechService$AudioSpeechItem.<init>:(Landroid/speech/tts/TextToSpeechService;Ljava/lang/Object;IILandroid/os/Bundle;Ljava/lang/String;Landroid/net/Uri;)V
        10: .line 1339
            astore 6 /* item */
        start local 6 // android.speech.tts.TextToSpeechService$SpeechItem item
        11: .line 1347
            aload 0 /* this */
            getfield android.speech.tts.TextToSpeechService$1.this$0:Landroid/speech/tts/TextToSpeechService;
            getfield android.speech.tts.TextToSpeechService.mSynthHandler:Landroid/speech/tts/TextToSpeechService$SynthHandler;
            iload 3 /* queueMode */
            aload 6 /* item */
            invokevirtual android.speech.tts.TextToSpeechService$SynthHandler.enqueueSpeechItem:(ILandroid/speech/tts/TextToSpeechService$SpeechItem;)I
            ireturn
        end local 6 // android.speech.tts.TextToSpeechService$SpeechItem item
        end local 5 // java.lang.String utteranceId
        end local 4 // android.os.Bundle params
        end local 3 // int queueMode
        end local 2 // android.net.Uri audioUri
        end local 1 // android.os.IBinder caller
        end local 0 // android.speech.tts.TextToSpeechService$1 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Landroid/speech/tts/TextToSpeechService$1;
            0   12     1       caller  Landroid/os/IBinder;
            0   12     2     audioUri  Landroid/net/Uri;
            0   12     3    queueMode  I
            0   12     4       params  Landroid/os/Bundle;
            0   12     5  utteranceId  Ljava/lang/String;
           11   12     6         item  Landroid/speech/tts/TextToSpeechService$SpeechItem;
    MethodParameters:
             Name  Flags
      caller       
      audioUri     
      queueMode    
      params       
      utteranceId  

  public int playSilence(android.os.IBinder, long, int, java.lang.String);
    descriptor: (Landroid/os/IBinder;JILjava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=5
        start local 0 // android.speech.tts.TextToSpeechService$1 this
        start local 1 // android.os.IBinder caller
        start local 2 // long duration
        start local 4 // int queueMode
        start local 5 // java.lang.String utteranceId
         0: .line 1353
            aload 0 /* this */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* caller */
            aastore
            invokevirtual android.speech.tts.TextToSpeechService$1.checkNonNull:([Ljava/lang/Object;)Z
            ifne 2
         1: .line 1354
            iconst_m1
            ireturn
         2: .line 1358
      StackMap locals:
      StackMap stack:
            new android.speech.tts.TextToSpeechService$SilenceSpeechItem
            dup
            aload 0 /* this */
            getfield android.speech.tts.TextToSpeechService$1.this$0:Landroid/speech/tts/TextToSpeechService;
         3: .line 1359
            aload 1 /* caller */
         4: .line 1360
            invokestatic android.os.Binder.getCallingUid:()I
         5: .line 1361
            invokestatic android.os.Binder.getCallingPid:()I
         6: .line 1362
            aload 5 /* utteranceId */
         7: .line 1363
            lload 2 /* duration */
         8: .line 1358
            invokespecial android.speech.tts.TextToSpeechService$SilenceSpeechItem.<init>:(Landroid/speech/tts/TextToSpeechService;Ljava/lang/Object;IILjava/lang/String;J)V
         9: .line 1357
            astore 6 /* item */
        start local 6 // android.speech.tts.TextToSpeechService$SpeechItem item
        10: .line 1364
            aload 0 /* this */
            getfield android.speech.tts.TextToSpeechService$1.this$0:Landroid/speech/tts/TextToSpeechService;
            getfield android.speech.tts.TextToSpeechService.mSynthHandler:Landroid/speech/tts/TextToSpeechService$SynthHandler;
            iload 4 /* queueMode */
            aload 6 /* item */
            invokevirtual android.speech.tts.TextToSpeechService$SynthHandler.enqueueSpeechItem:(ILandroid/speech/tts/TextToSpeechService$SpeechItem;)I
            ireturn
        end local 6 // android.speech.tts.TextToSpeechService$SpeechItem item
        end local 5 // java.lang.String utteranceId
        end local 4 // int queueMode
        end local 2 // long duration
        end local 1 // android.os.IBinder caller
        end local 0 // android.speech.tts.TextToSpeechService$1 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Landroid/speech/tts/TextToSpeechService$1;
            0   11     1       caller  Landroid/os/IBinder;
            0   11     2     duration  J
            0   11     4    queueMode  I
            0   11     5  utteranceId  Ljava/lang/String;
           10   11     6         item  Landroid/speech/tts/TextToSpeechService$SpeechItem;
    MethodParameters:
             Name  Flags
      caller       
      duration     
      queueMode    
      utteranceId  

  public boolean isSpeaking();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.speech.tts.TextToSpeechService$1 this
         0: .line 1369
            aload 0 /* this */
            getfield android.speech.tts.TextToSpeechService$1.this$0:Landroid/speech/tts/TextToSpeechService;
            getfield android.speech.tts.TextToSpeechService.mSynthHandler:Landroid/speech/tts/TextToSpeechService$SynthHandler;
            invokevirtual android.speech.tts.TextToSpeechService$SynthHandler.isSpeaking:()Z
            ifne 1
            aload 0 /* this */
            getfield android.speech.tts.TextToSpeechService$1.this$0:Landroid/speech/tts/TextToSpeechService;
            getfield android.speech.tts.TextToSpeechService.mAudioPlaybackHandler:Landroid/speech/tts/AudioPlaybackHandler;
            invokevirtual android.speech.tts.AudioPlaybackHandler.isSpeaking:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // android.speech.tts.TextToSpeechService$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/speech/tts/TextToSpeechService$1;

  public int stop(android.os.IBinder);
    descriptor: (Landroid/os/IBinder;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // android.speech.tts.TextToSpeechService$1 this
        start local 1 // android.os.IBinder caller
         0: .line 1374
            aload 0 /* this */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* caller */
            aastore
            invokevirtual android.speech.tts.TextToSpeechService$1.checkNonNull:([Ljava/lang/Object;)Z
            ifne 2
         1: .line 1375
            iconst_m1
            ireturn
         2: .line 1378
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.speech.tts.TextToSpeechService$1.this$0:Landroid/speech/tts/TextToSpeechService;
            getfield android.speech.tts.TextToSpeechService.mSynthHandler:Landroid/speech/tts/TextToSpeechService$SynthHandler;
            aload 1 /* caller */
            invokevirtual android.speech.tts.TextToSpeechService$SynthHandler.stopForApp:(Ljava/lang/Object;)I
            ireturn
        end local 1 // android.os.IBinder caller
        end local 0 // android.speech.tts.TextToSpeechService$1 this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Landroid/speech/tts/TextToSpeechService$1;
            0    3     1  caller  Landroid/os/IBinder;
    MethodParameters:
        Name  Flags
      caller  

  public java.lang.String[] getLanguage();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.speech.tts.TextToSpeechService$1 this
         0: .line 1383
            aload 0 /* this */
            getfield android.speech.tts.TextToSpeechService$1.this$0:Landroid/speech/tts/TextToSpeechService;
            invokevirtual android.speech.tts.TextToSpeechService.onGetLanguage:()[Ljava/lang/String;
            areturn
        end local 0 // android.speech.tts.TextToSpeechService$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/speech/tts/TextToSpeechService$1;

  public java.lang.String[] getClientDefaultLanguage();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.speech.tts.TextToSpeechService$1 this
         0: .line 1388
            aload 0 /* this */
            getfield android.speech.tts.TextToSpeechService$1.this$0:Landroid/speech/tts/TextToSpeechService;
            invokevirtual android.speech.tts.TextToSpeechService.getSettingsLocale:()[Ljava/lang/String;
            areturn
        end local 0 // android.speech.tts.TextToSpeechService$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/speech/tts/TextToSpeechService$1;

  public int isLanguageAvailable(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // android.speech.tts.TextToSpeechService$1 this
        start local 1 // java.lang.String lang
        start local 2 // java.lang.String country
        start local 3 // java.lang.String variant
         0: .line 1397
            aload 0 /* this */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* lang */
            aastore
            invokevirtual android.speech.tts.TextToSpeechService$1.checkNonNull:([Ljava/lang/Object;)Z
            ifne 2
         1: .line 1398
            iconst_m1
            ireturn
         2: .line 1401
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.speech.tts.TextToSpeechService$1.this$0:Landroid/speech/tts/TextToSpeechService;
            aload 1 /* lang */
            aload 2 /* country */
            aload 3 /* variant */
            invokevirtual android.speech.tts.TextToSpeechService.onIsLanguageAvailable:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
            ireturn
        end local 3 // java.lang.String variant
        end local 2 // java.lang.String country
        end local 1 // java.lang.String lang
        end local 0 // android.speech.tts.TextToSpeechService$1 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Landroid/speech/tts/TextToSpeechService$1;
            0    3     1     lang  Ljava/lang/String;
            0    3     2  country  Ljava/lang/String;
            0    3     3  variant  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      lang     
      country  
      variant  

  public java.lang.String[] getFeaturesForLanguage(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // android.speech.tts.TextToSpeechService$1 this
        start local 1 // java.lang.String lang
        start local 2 // java.lang.String country
        start local 3 // java.lang.String variant
         0: .line 1407
            aload 0 /* this */
            getfield android.speech.tts.TextToSpeechService$1.this$0:Landroid/speech/tts/TextToSpeechService;
            aload 1 /* lang */
            aload 2 /* country */
            aload 3 /* variant */
            invokevirtual android.speech.tts.TextToSpeechService.onGetFeaturesForLanguage:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/util/Set;
            astore 4 /* features */
        start local 4 // java.util.Set features
         1: .line 1408
            aconst_null
            astore 5 /* featuresArray */
        start local 5 // java.lang.String[] featuresArray
         2: .line 1409
            aload 4 /* features */
            ifnull 6
         3: .line 1410
            aload 4 /* features */
            invokeinterface java.util.Set.size:()I
            anewarray java.lang.String
            astore 5 /* featuresArray */
         4: .line 1411
            aload 4 /* features */
            aload 5 /* featuresArray */
            invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
         5: .line 1412
            goto 7
         6: .line 1413
      StackMap locals: java.util.Set java.lang.String[]
      StackMap stack:
            iconst_0
            anewarray java.lang.String
            astore 5 /* featuresArray */
         7: .line 1415
      StackMap locals:
      StackMap stack:
            aload 5 /* featuresArray */
            areturn
        end local 5 // java.lang.String[] featuresArray
        end local 4 // java.util.Set features
        end local 3 // java.lang.String variant
        end local 2 // java.lang.String country
        end local 1 // java.lang.String lang
        end local 0 // android.speech.tts.TextToSpeechService$1 this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Landroid/speech/tts/TextToSpeechService$1;
            0    8     1           lang  Ljava/lang/String;
            0    8     2        country  Ljava/lang/String;
            0    8     3        variant  Ljava/lang/String;
            1    8     4       features  Ljava/util/Set<Ljava/lang/String;>;
            2    8     5  featuresArray  [Ljava/lang/String;
    MethodParameters:
         Name  Flags
      lang     
      country  
      variant  

  public int loadLanguage(android.os.IBinder, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Landroid/os/IBinder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=5
        start local 0 // android.speech.tts.TextToSpeechService$1 this
        start local 1 // android.os.IBinder caller
        start local 2 // java.lang.String lang
        start local 3 // java.lang.String country
        start local 4 // java.lang.String variant
         0: .line 1425
            aload 0 /* this */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* lang */
            aastore
            invokevirtual android.speech.tts.TextToSpeechService$1.checkNonNull:([Ljava/lang/Object;)Z
            ifne 2
         1: .line 1426
            iconst_m1
            ireturn
         2: .line 1428
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.speech.tts.TextToSpeechService$1.this$0:Landroid/speech/tts/TextToSpeechService;
            aload 2 /* lang */
            aload 3 /* country */
            aload 4 /* variant */
            invokevirtual android.speech.tts.TextToSpeechService.onIsLanguageAvailable:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
            istore 5 /* retVal */
        start local 5 // int retVal
         3: .line 1430
            iload 5 /* retVal */
            ifeq 6
         4: .line 1431
            iload 5 /* retVal */
            iconst_1
            if_icmpeq 6
         5: .line 1432
            iload 5 /* retVal */
            iconst_2
            if_icmpne 17
         6: .line 1435
      StackMap locals: int
      StackMap stack:
            new android.speech.tts.TextToSpeechService$LoadLanguageItem
            dup
            aload 0 /* this */
            getfield android.speech.tts.TextToSpeechService$1.this$0:Landroid/speech/tts/TextToSpeechService;
         7: .line 1436
            aload 1 /* caller */
         8: .line 1437
            invokestatic android.os.Binder.getCallingUid:()I
         9: .line 1438
            invokestatic android.os.Binder.getCallingPid:()I
        10: .line 1439
            aload 2 /* lang */
        11: .line 1440
            aload 3 /* country */
        12: .line 1441
            aload 4 /* variant */
        13: .line 1435
            invokespecial android.speech.tts.TextToSpeechService$LoadLanguageItem.<init>:(Landroid/speech/tts/TextToSpeechService;Ljava/lang/Object;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        14: .line 1434
            astore 6 /* item */
        start local 6 // android.speech.tts.TextToSpeechService$SpeechItem item
        15: .line 1443
            aload 0 /* this */
            getfield android.speech.tts.TextToSpeechService$1.this$0:Landroid/speech/tts/TextToSpeechService;
            getfield android.speech.tts.TextToSpeechService.mSynthHandler:Landroid/speech/tts/TextToSpeechService$SynthHandler;
            iconst_1
            aload 6 /* item */
            invokevirtual android.speech.tts.TextToSpeechService$SynthHandler.enqueueSpeechItem:(ILandroid/speech/tts/TextToSpeechService$SpeechItem;)I
            ifeq 17
        16: .line 1445
            iconst_m1
            ireturn
        end local 6 // android.speech.tts.TextToSpeechService$SpeechItem item
        17: .line 1448
      StackMap locals:
      StackMap stack:
            iload 5 /* retVal */
            ireturn
        end local 5 // int retVal
        end local 4 // java.lang.String variant
        end local 3 // java.lang.String country
        end local 2 // java.lang.String lang
        end local 1 // android.os.IBinder caller
        end local 0 // android.speech.tts.TextToSpeechService$1 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   18     0     this  Landroid/speech/tts/TextToSpeechService$1;
            0   18     1   caller  Landroid/os/IBinder;
            0   18     2     lang  Ljava/lang/String;
            0   18     3  country  Ljava/lang/String;
            0   18     4  variant  Ljava/lang/String;
            3   18     5   retVal  I
           15   17     6     item  Landroid/speech/tts/TextToSpeechService$SpeechItem;
    MethodParameters:
         Name  Flags
      caller   
      lang     
      country  
      variant  

  public java.util.List<android.speech.tts.Voice> getVoices();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.speech.tts.TextToSpeechService$1 this
         0: .line 1453
            aload 0 /* this */
            getfield android.speech.tts.TextToSpeechService$1.this$0:Landroid/speech/tts/TextToSpeechService;
            invokevirtual android.speech.tts.TextToSpeechService.onGetVoices:()Ljava/util/List;
            areturn
        end local 0 // android.speech.tts.TextToSpeechService$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/speech/tts/TextToSpeechService$1;
    Signature: ()Ljava/util/List<Landroid/speech/tts/Voice;>;

  public int loadVoice(android.os.IBinder, java.lang.String);
    descriptor: (Landroid/os/IBinder;Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // android.speech.tts.TextToSpeechService$1 this
        start local 1 // android.os.IBinder caller
        start local 2 // java.lang.String voiceName
         0: .line 1458
            aload 0 /* this */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* voiceName */
            aastore
            invokevirtual android.speech.tts.TextToSpeechService$1.checkNonNull:([Ljava/lang/Object;)Z
            ifne 2
         1: .line 1459
            iconst_m1
            ireturn
         2: .line 1461
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.speech.tts.TextToSpeechService$1.this$0:Landroid/speech/tts/TextToSpeechService;
            aload 2 /* voiceName */
            invokevirtual android.speech.tts.TextToSpeechService.onIsValidVoiceName:(Ljava/lang/String;)I
            istore 3 /* retVal */
        start local 3 // int retVal
         3: .line 1463
            iload 3 /* retVal */
            ifne 13
         4: .line 1465
            new android.speech.tts.TextToSpeechService$LoadVoiceItem
            dup
            aload 0 /* this */
            getfield android.speech.tts.TextToSpeechService$1.this$0:Landroid/speech/tts/TextToSpeechService;
         5: .line 1466
            aload 1 /* caller */
         6: .line 1467
            invokestatic android.os.Binder.getCallingUid:()I
         7: .line 1468
            invokestatic android.os.Binder.getCallingPid:()I
         8: .line 1469
            aload 2 /* voiceName */
         9: .line 1465
            invokespecial android.speech.tts.TextToSpeechService$LoadVoiceItem.<init>:(Landroid/speech/tts/TextToSpeechService;Ljava/lang/Object;IILjava/lang/String;)V
        10: .line 1464
            astore 4 /* item */
        start local 4 // android.speech.tts.TextToSpeechService$SpeechItem item
        11: .line 1470
            aload 0 /* this */
            getfield android.speech.tts.TextToSpeechService$1.this$0:Landroid/speech/tts/TextToSpeechService;
            getfield android.speech.tts.TextToSpeechService.mSynthHandler:Landroid/speech/tts/TextToSpeechService$SynthHandler;
            iconst_1
            aload 4 /* item */
            invokevirtual android.speech.tts.TextToSpeechService$SynthHandler.enqueueSpeechItem:(ILandroid/speech/tts/TextToSpeechService$SpeechItem;)I
            ifeq 13
        12: .line 1472
            iconst_m1
            ireturn
        end local 4 // android.speech.tts.TextToSpeechService$SpeechItem item
        13: .line 1475
      StackMap locals: int
      StackMap stack:
            iload 3 /* retVal */
            ireturn
        end local 3 // int retVal
        end local 2 // java.lang.String voiceName
        end local 1 // android.os.IBinder caller
        end local 0 // android.speech.tts.TextToSpeechService$1 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Landroid/speech/tts/TextToSpeechService$1;
            0   14     1     caller  Landroid/os/IBinder;
            0   14     2  voiceName  Ljava/lang/String;
            3   14     3     retVal  I
           11   13     4       item  Landroid/speech/tts/TextToSpeechService$SpeechItem;
    MethodParameters:
           Name  Flags
      caller     
      voiceName  

  public java.lang.String getDefaultVoiceNameFor(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // android.speech.tts.TextToSpeechService$1 this
        start local 1 // java.lang.String lang
        start local 2 // java.lang.String country
        start local 3 // java.lang.String variant
         0: .line 1479
            aload 0 /* this */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* lang */
            aastore
            invokevirtual android.speech.tts.TextToSpeechService$1.checkNonNull:([Ljava/lang/Object;)Z
            ifne 2
         1: .line 1480
            aconst_null
            areturn
         2: .line 1482
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.speech.tts.TextToSpeechService$1.this$0:Landroid/speech/tts/TextToSpeechService;
            aload 1 /* lang */
            aload 2 /* country */
            aload 3 /* variant */
            invokevirtual android.speech.tts.TextToSpeechService.onIsLanguageAvailable:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
            istore 4 /* retVal */
        start local 4 // int retVal
         3: .line 1484
            iload 4 /* retVal */
            ifeq 6
         4: .line 1485
            iload 4 /* retVal */
            iconst_1
            if_icmpeq 6
         5: .line 1486
            iload 4 /* retVal */
            iconst_2
            if_icmpne 7
         6: .line 1487
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.speech.tts.TextToSpeechService$1.this$0:Landroid/speech/tts/TextToSpeechService;
            aload 1 /* lang */
            aload 2 /* country */
            aload 3 /* variant */
            invokevirtual android.speech.tts.TextToSpeechService.onGetDefaultVoiceNameFor:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
         7: .line 1489
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 4 // int retVal
        end local 3 // java.lang.String variant
        end local 2 // java.lang.String country
        end local 1 // java.lang.String lang
        end local 0 // android.speech.tts.TextToSpeechService$1 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Landroid/speech/tts/TextToSpeechService$1;
            0    8     1     lang  Ljava/lang/String;
            0    8     2  country  Ljava/lang/String;
            0    8     3  variant  Ljava/lang/String;
            3    8     4   retVal  I
    MethodParameters:
         Name  Flags
      lang     
      country  
      variant  

  public void setCallback(android.os.IBinder, android.speech.tts.ITextToSpeechCallback);
    descriptor: (Landroid/os/IBinder;Landroid/speech/tts/ITextToSpeechCallback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // android.speech.tts.TextToSpeechService$1 this
        start local 1 // android.os.IBinder caller
        start local 2 // android.speech.tts.ITextToSpeechCallback cb
         0: .line 1496
            aload 0 /* this */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* caller */
            aastore
            invokevirtual android.speech.tts.TextToSpeechService$1.checkNonNull:([Ljava/lang/Object;)Z
            ifne 2
         1: .line 1497
            return
         2: .line 1500
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.speech.tts.TextToSpeechService$1.this$0:Landroid/speech/tts/TextToSpeechService;
            getfield android.speech.tts.TextToSpeechService.mCallbacks:Landroid/speech/tts/TextToSpeechService$CallbackMap;
            aload 1 /* caller */
            aload 2 /* cb */
            invokevirtual android.speech.tts.TextToSpeechService$CallbackMap.setCallback:(Landroid/os/IBinder;Landroid/speech/tts/ITextToSpeechCallback;)V
         3: .line 1501
            return
        end local 2 // android.speech.tts.ITextToSpeechCallback cb
        end local 1 // android.os.IBinder caller
        end local 0 // android.speech.tts.TextToSpeechService$1 this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Landroid/speech/tts/TextToSpeechService$1;
            0    4     1  caller  Landroid/os/IBinder;
            0    4     2      cb  Landroid/speech/tts/ITextToSpeechCallback;
    MethodParameters:
        Name  Flags
      caller  
      cb      

  private java.lang.String intern(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // android.speech.tts.TextToSpeechService$1 this
        start local 1 // java.lang.String in
         0: .line 1505
            aload 1 /* in */
            invokevirtual java.lang.String.intern:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String in
        end local 0 // android.speech.tts.TextToSpeechService$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/speech/tts/TextToSpeechService$1;
            0    1     1    in  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      in    

  private boolean checkNonNull(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Z
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // android.speech.tts.TextToSpeechService$1 this
        start local 1 // java.lang.Object[] args
         0: .line 1509
            aload 1 /* args */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 4
      StackMap locals: android.speech.tts.TextToSpeechService$1 java.lang.Object[] top int int java.lang.Object[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* o */
        start local 2 // java.lang.Object o
         2: .line 1510
            aload 2 /* o */
            ifnonnull 3
            iconst_0
            ireturn
        end local 2 // java.lang.Object o
         3: .line 1509
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         4: iload 3
            iload 4
            if_icmplt 1
         5: .line 1512
            iconst_1
            ireturn
        end local 1 // java.lang.Object[] args
        end local 0 // android.speech.tts.TextToSpeechService$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Landroid/speech/tts/TextToSpeechService$1;
            0    6     1  args  [Ljava/lang/Object;
            2    3     2     o  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      args  
}
SourceFile: "TextToSpeechService.java"
EnclosingMethod: android.speech.tts.TextToSpeechService
NestHost: android.speech.tts.TextToSpeechService
InnerClasses:
  public AutoCloseOutputStream = android.os.ParcelFileDescriptor$AutoCloseOutputStream of android.os.ParcelFileDescriptor
  public abstract Stub = android.speech.tts.ITextToSpeechService$Stub of android.speech.tts.ITextToSpeechService
  android.speech.tts.TextToSpeechService$1
  private AudioSpeechItem = android.speech.tts.TextToSpeechService$AudioSpeechItem of android.speech.tts.TextToSpeechService
  private CallbackMap = android.speech.tts.TextToSpeechService$CallbackMap of android.speech.tts.TextToSpeechService
  private LoadLanguageItem = android.speech.tts.TextToSpeechService$LoadLanguageItem of android.speech.tts.TextToSpeechService
  private LoadVoiceItem = android.speech.tts.TextToSpeechService$LoadVoiceItem of android.speech.tts.TextToSpeechService
  private SilenceSpeechItem = android.speech.tts.TextToSpeechService$SilenceSpeechItem of android.speech.tts.TextToSpeechService
  private abstract SpeechItem = android.speech.tts.TextToSpeechService$SpeechItem of android.speech.tts.TextToSpeechService
  private SynthHandler = android.speech.tts.TextToSpeechService$SynthHandler of android.speech.tts.TextToSpeechService
  SynthesisSpeechItem = android.speech.tts.TextToSpeechService$SynthesisSpeechItem of android.speech.tts.TextToSpeechService
  private SynthesisToFileOutputStreamSpeechItem = android.speech.tts.TextToSpeechService$SynthesisToFileOutputStreamSpeechItem of android.speech.tts.TextToSpeechService