class android.media.tv.TvRecordingClient$MySessionCallback extends android.media.tv.TvInputManager$SessionCallback
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: android.media.tv.TvRecordingClient$MySessionCallback
  super_class: android.media.tv.TvInputManager$SessionCallback
{
  final java.lang.String mInputId;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  android.net.Uri mChannelUri;
    descriptor: Landroid/net/Uri;
    flags: (0x0000) 

  android.os.Bundle mConnectionParams;
    descriptor: Landroid/os/Bundle;
    flags: (0x0000) 

  final android.media.tv.TvRecordingClient this$0;
    descriptor: Landroid/media/tv/TvRecordingClient;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(android.media.tv.TvRecordingClient, java.lang.String, android.net.Uri, android.os.Bundle);
    descriptor: (Landroid/media/tv/TvRecordingClient;Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // android.media.tv.TvRecordingClient$MySessionCallback this
        start local 2 // java.lang.String inputId
        start local 3 // android.net.Uri channelUri
        start local 4 // android.os.Bundle connectionParams
         0: .line 298
            aload 0 /* this */
            aload 1
            putfield android.media.tv.TvRecordingClient$MySessionCallback.this$0:Landroid/media/tv/TvRecordingClient;
            aload 0 /* this */
            invokespecial android.media.tv.TvInputManager$SessionCallback.<init>:()V
         1: .line 299
            aload 0 /* this */
            aload 2 /* inputId */
            putfield android.media.tv.TvRecordingClient$MySessionCallback.mInputId:Ljava/lang/String;
         2: .line 300
            aload 0 /* this */
            aload 3 /* channelUri */
            putfield android.media.tv.TvRecordingClient$MySessionCallback.mChannelUri:Landroid/net/Uri;
         3: .line 301
            aload 0 /* this */
            aload 4 /* connectionParams */
            putfield android.media.tv.TvRecordingClient$MySessionCallback.mConnectionParams:Landroid/os/Bundle;
         4: .line 302
            return
        end local 4 // android.os.Bundle connectionParams
        end local 3 // android.net.Uri channelUri
        end local 2 // java.lang.String inputId
        end local 0 // android.media.tv.TvRecordingClient$MySessionCallback this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0              this  Landroid/media/tv/TvRecordingClient$MySessionCallback;
            0    5     2           inputId  Ljava/lang/String;
            0    5     3        channelUri  Landroid/net/Uri;
            0    5     4  connectionParams  Landroid/os/Bundle;
    MethodParameters:
                  Name  Flags
      this$0            final
      inputId           
      channelUri        
      connectionParams  

  public void onSessionCreated(android.media.tv.TvInputManager$Session);
    descriptor: (Landroid/media/tv/TvInputManager$Session;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // android.media.tv.TvRecordingClient$MySessionCallback this
        start local 1 // android.media.tv.TvInputManager$Session session
         0: .line 309
            aload 0 /* this */
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.this$0:Landroid/media/tv/TvRecordingClient;
            getfield android.media.tv.TvRecordingClient.mSessionCallback:Landroid/media/tv/TvRecordingClient$MySessionCallback;
            if_acmpeq 5
         1: .line 310
            ldc "TvRecordingClient"
            ldc "onSessionCreated - session already created"
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         2: .line 312
            aload 1 /* session */
            ifnull 4
         3: .line 313
            aload 1 /* session */
            invokevirtual android.media.tv.TvInputManager$Session.release:()V
         4: .line 315
      StackMap locals:
      StackMap stack:
            return
         5: .line 317
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.this$0:Landroid/media/tv/TvRecordingClient;
            aload 1 /* session */
            putfield android.media.tv.TvRecordingClient.mSession:Landroid/media/tv/TvInputManager$Session;
         6: .line 318
            aload 1 /* session */
            ifnull 14
         7: .line 320
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.this$0:Landroid/media/tv/TvRecordingClient;
            getfield android.media.tv.TvRecordingClient.mPendingAppPrivateCommands:Ljava/util/Queue;
            invokeinterface java.util.Queue.iterator:()Ljava/util/Iterator;
            astore 3
            goto 10
      StackMap locals: android.media.tv.TvRecordingClient$MySessionCallback android.media.tv.TvInputManager$Session top java.util.Iterator
      StackMap stack:
         8: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.util.Pair
            astore 2 /* command */
        start local 2 // android.util.Pair command
         9: .line 321
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.this$0:Landroid/media/tv/TvRecordingClient;
            getfield android.media.tv.TvRecordingClient.mSession:Landroid/media/tv/TvInputManager$Session;
            aload 2 /* command */
            getfield android.util.Pair.first:Ljava/lang/Object;
            checkcast java.lang.String
            aload 2 /* command */
            getfield android.util.Pair.second:Ljava/lang/Object;
            checkcast android.os.Bundle
            invokevirtual android.media.tv.TvInputManager$Session.sendAppPrivateCommand:(Ljava/lang/String;Landroid/os/Bundle;)V
        end local 2 // android.util.Pair command
        10: .line 320
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        11: .line 323
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.this$0:Landroid/media/tv/TvRecordingClient;
            getfield android.media.tv.TvRecordingClient.mPendingAppPrivateCommands:Ljava/util/Queue;
            invokeinterface java.util.Queue.clear:()V
        12: .line 324
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.this$0:Landroid/media/tv/TvRecordingClient;
            getfield android.media.tv.TvRecordingClient.mSession:Landroid/media/tv/TvInputManager$Session;
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.mChannelUri:Landroid/net/Uri;
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.mConnectionParams:Landroid/os/Bundle;
            invokevirtual android.media.tv.TvInputManager$Session.tune:(Landroid/net/Uri;Landroid/os/Bundle;)V
        13: .line 325
            goto 17
        14: .line 326
      StackMap locals: android.media.tv.TvRecordingClient$MySessionCallback android.media.tv.TvInputManager$Session
      StackMap stack:
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.this$0:Landroid/media/tv/TvRecordingClient;
            aconst_null
            putfield android.media.tv.TvRecordingClient.mSessionCallback:Landroid/media/tv/TvRecordingClient$MySessionCallback;
        15: .line 327
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.this$0:Landroid/media/tv/TvRecordingClient;
            getfield android.media.tv.TvRecordingClient.mCallback:Landroid/media/tv/TvRecordingClient$RecordingCallback;
            ifnull 17
        16: .line 328
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.this$0:Landroid/media/tv/TvRecordingClient;
            getfield android.media.tv.TvRecordingClient.mCallback:Landroid/media/tv/TvRecordingClient$RecordingCallback;
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.mInputId:Ljava/lang/String;
            invokevirtual android.media.tv.TvRecordingClient$RecordingCallback.onConnectionFailed:(Ljava/lang/String;)V
        17: .line 331
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.media.tv.TvInputManager$Session session
        end local 0 // android.media.tv.TvRecordingClient$MySessionCallback this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   18     0     this  Landroid/media/tv/TvRecordingClient$MySessionCallback;
            0   18     1  session  Landroid/media/tv/TvInputManager$Session;
            9   10     2  command  Landroid/util/Pair<Ljava/lang/String;Landroid/os/Bundle;>;
    MethodParameters:
         Name  Flags
      session  

  void onTuned(android.media.tv.TvInputManager$Session, android.net.Uri);
    descriptor: (Landroid/media/tv/TvInputManager$Session;Landroid/net/Uri;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.media.tv.TvRecordingClient$MySessionCallback this
        start local 1 // android.media.tv.TvInputManager$Session session
        start local 2 // android.net.Uri channelUri
         0: .line 338
            aload 0 /* this */
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.this$0:Landroid/media/tv/TvRecordingClient;
            getfield android.media.tv.TvRecordingClient.mSessionCallback:Landroid/media/tv/TvRecordingClient$MySessionCallback;
            if_acmpeq 3
         1: .line 339
            ldc "TvRecordingClient"
            ldc "onTuned - session not created"
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         2: .line 340
            return
         3: .line 342
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.this$0:Landroid/media/tv/TvRecordingClient;
            iconst_1
            putfield android.media.tv.TvRecordingClient.mIsTuned:Z
         4: .line 343
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.this$0:Landroid/media/tv/TvRecordingClient;
            getfield android.media.tv.TvRecordingClient.mCallback:Landroid/media/tv/TvRecordingClient$RecordingCallback;
            aload 2 /* channelUri */
            invokevirtual android.media.tv.TvRecordingClient$RecordingCallback.onTuned:(Landroid/net/Uri;)V
         5: .line 344
            return
        end local 2 // android.net.Uri channelUri
        end local 1 // android.media.tv.TvInputManager$Session session
        end local 0 // android.media.tv.TvRecordingClient$MySessionCallback this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Landroid/media/tv/TvRecordingClient$MySessionCallback;
            0    6     1     session  Landroid/media/tv/TvInputManager$Session;
            0    6     2  channelUri  Landroid/net/Uri;
    MethodParameters:
            Name  Flags
      session     
      channelUri  

  public void onSessionReleased(android.media.tv.TvInputManager$Session);
    descriptor: (Landroid/media/tv/TvInputManager$Session;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.tv.TvRecordingClient$MySessionCallback this
        start local 1 // android.media.tv.TvInputManager$Session session
         0: .line 351
            aload 0 /* this */
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.this$0:Landroid/media/tv/TvRecordingClient;
            getfield android.media.tv.TvRecordingClient.mSessionCallback:Landroid/media/tv/TvRecordingClient$MySessionCallback;
            if_acmpeq 3
         1: .line 352
            ldc "TvRecordingClient"
            ldc "onSessionReleased - session not created"
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         2: .line 353
            return
         3: .line 355
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.this$0:Landroid/media/tv/TvRecordingClient;
            iconst_0
            putfield android.media.tv.TvRecordingClient.mIsTuned:Z
         4: .line 356
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.this$0:Landroid/media/tv/TvRecordingClient;
            iconst_0
            putfield android.media.tv.TvRecordingClient.mIsRecordingStarted:Z
         5: .line 357
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.this$0:Landroid/media/tv/TvRecordingClient;
            aconst_null
            putfield android.media.tv.TvRecordingClient.mSessionCallback:Landroid/media/tv/TvRecordingClient$MySessionCallback;
         6: .line 358
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.this$0:Landroid/media/tv/TvRecordingClient;
            aconst_null
            putfield android.media.tv.TvRecordingClient.mSession:Landroid/media/tv/TvInputManager$Session;
         7: .line 359
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.this$0:Landroid/media/tv/TvRecordingClient;
            getfield android.media.tv.TvRecordingClient.mCallback:Landroid/media/tv/TvRecordingClient$RecordingCallback;
            ifnull 9
         8: .line 360
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.this$0:Landroid/media/tv/TvRecordingClient;
            getfield android.media.tv.TvRecordingClient.mCallback:Landroid/media/tv/TvRecordingClient$RecordingCallback;
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.mInputId:Ljava/lang/String;
            invokevirtual android.media.tv.TvRecordingClient$RecordingCallback.onDisconnected:(Ljava/lang/String;)V
         9: .line 362
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.media.tv.TvInputManager$Session session
        end local 0 // android.media.tv.TvRecordingClient$MySessionCallback this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Landroid/media/tv/TvRecordingClient$MySessionCallback;
            0   10     1  session  Landroid/media/tv/TvInputManager$Session;
    MethodParameters:
         Name  Flags
      session  

  public void onRecordingStopped(android.media.tv.TvInputManager$Session, android.net.Uri);
    descriptor: (Landroid/media/tv/TvInputManager$Session;Landroid/net/Uri;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.media.tv.TvRecordingClient$MySessionCallback this
        start local 1 // android.media.tv.TvInputManager$Session session
        start local 2 // android.net.Uri recordedProgramUri
         0: .line 369
            aload 0 /* this */
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.this$0:Landroid/media/tv/TvRecordingClient;
            getfield android.media.tv.TvRecordingClient.mSessionCallback:Landroid/media/tv/TvRecordingClient$MySessionCallback;
            if_acmpeq 3
         1: .line 370
            ldc "TvRecordingClient"
            ldc "onRecordingStopped - session not created"
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         2: .line 371
            return
         3: .line 373
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.this$0:Landroid/media/tv/TvRecordingClient;
            iconst_0
            putfield android.media.tv.TvRecordingClient.mIsRecordingStarted:Z
         4: .line 374
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.this$0:Landroid/media/tv/TvRecordingClient;
            getfield android.media.tv.TvRecordingClient.mCallback:Landroid/media/tv/TvRecordingClient$RecordingCallback;
            aload 2 /* recordedProgramUri */
            invokevirtual android.media.tv.TvRecordingClient$RecordingCallback.onRecordingStopped:(Landroid/net/Uri;)V
         5: .line 375
            return
        end local 2 // android.net.Uri recordedProgramUri
        end local 1 // android.media.tv.TvInputManager$Session session
        end local 0 // android.media.tv.TvRecordingClient$MySessionCallback this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    6     0                this  Landroid/media/tv/TvRecordingClient$MySessionCallback;
            0    6     1             session  Landroid/media/tv/TvInputManager$Session;
            0    6     2  recordedProgramUri  Landroid/net/Uri;
    MethodParameters:
                    Name  Flags
      session             
      recordedProgramUri  

  public void onError(android.media.tv.TvInputManager$Session, int);
    descriptor: (Landroid/media/tv/TvInputManager$Session;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.media.tv.TvRecordingClient$MySessionCallback this
        start local 1 // android.media.tv.TvInputManager$Session session
        start local 2 // int error
         0: .line 382
            aload 0 /* this */
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.this$0:Landroid/media/tv/TvRecordingClient;
            getfield android.media.tv.TvRecordingClient.mSessionCallback:Landroid/media/tv/TvRecordingClient$MySessionCallback;
            if_acmpeq 3
         1: .line 383
            ldc "TvRecordingClient"
            ldc "onError - session not created"
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         2: .line 384
            return
         3: .line 386
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.this$0:Landroid/media/tv/TvRecordingClient;
            getfield android.media.tv.TvRecordingClient.mCallback:Landroid/media/tv/TvRecordingClient$RecordingCallback;
            iload 2 /* error */
            invokevirtual android.media.tv.TvRecordingClient$RecordingCallback.onError:(I)V
         4: .line 387
            return
        end local 2 // int error
        end local 1 // android.media.tv.TvInputManager$Session session
        end local 0 // android.media.tv.TvRecordingClient$MySessionCallback this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Landroid/media/tv/TvRecordingClient$MySessionCallback;
            0    5     1  session  Landroid/media/tv/TvInputManager$Session;
            0    5     2    error  I
    MethodParameters:
         Name  Flags
      session  
      error    

  public void onSessionEvent(android.media.tv.TvInputManager$Session, java.lang.String, android.os.Bundle);
    descriptor: (Landroid/media/tv/TvInputManager$Session;Ljava/lang/String;Landroid/os/Bundle;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // android.media.tv.TvRecordingClient$MySessionCallback this
        start local 1 // android.media.tv.TvInputManager$Session session
        start local 2 // java.lang.String eventType
        start local 3 // android.os.Bundle eventArgs
         0: .line 396
            aload 0 /* this */
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.this$0:Landroid/media/tv/TvRecordingClient;
            getfield android.media.tv.TvRecordingClient.mSessionCallback:Landroid/media/tv/TvRecordingClient$MySessionCallback;
            if_acmpeq 3
         1: .line 397
            ldc "TvRecordingClient"
            ldc "onSessionEvent - session not created"
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         2: .line 398
            return
         3: .line 400
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.this$0:Landroid/media/tv/TvRecordingClient;
            getfield android.media.tv.TvRecordingClient.mCallback:Landroid/media/tv/TvRecordingClient$RecordingCallback;
            ifnull 5
         4: .line 401
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.this$0:Landroid/media/tv/TvRecordingClient;
            getfield android.media.tv.TvRecordingClient.mCallback:Landroid/media/tv/TvRecordingClient$RecordingCallback;
            aload 0 /* this */
            getfield android.media.tv.TvRecordingClient$MySessionCallback.mInputId:Ljava/lang/String;
            aload 2 /* eventType */
            aload 3 /* eventArgs */
            invokevirtual android.media.tv.TvRecordingClient$RecordingCallback.onEvent:(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)V
         5: .line 403
      StackMap locals:
      StackMap stack:
            return
        end local 3 // android.os.Bundle eventArgs
        end local 2 // java.lang.String eventType
        end local 1 // android.media.tv.TvInputManager$Session session
        end local 0 // android.media.tv.TvRecordingClient$MySessionCallback this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Landroid/media/tv/TvRecordingClient$MySessionCallback;
            0    6     1    session  Landroid/media/tv/TvInputManager$Session;
            0    6     2  eventType  Ljava/lang/String;
            0    6     3  eventArgs  Landroid/os/Bundle;
    MethodParameters:
           Name  Flags
      session    
      eventType  
      eventArgs  
}
SourceFile: "TvRecordingClient.java"
NestHost: android.media.tv.TvRecordingClient
InnerClasses:
  public final Session = android.media.tv.TvInputManager$Session of android.media.tv.TvInputManager
  public abstract SessionCallback = android.media.tv.TvInputManager$SessionCallback of android.media.tv.TvInputManager
  private MySessionCallback = android.media.tv.TvRecordingClient$MySessionCallback of android.media.tv.TvRecordingClient
  public abstract RecordingCallback = android.media.tv.TvRecordingClient$RecordingCallback of android.media.tv.TvRecordingClient