public abstract class android.media.session.ISessionControllerCallback$Stub extends android.os.Binder implements android.media.session.ISessionControllerCallback
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: android.media.session.ISessionControllerCallback$Stub
  super_class: android.os.Binder
{
  private static final java.lang.String DESCRIPTOR;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "android.media.session.ISessionControllerCallback"

  static final int TRANSACTION_onEvent;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final int TRANSACTION_onSessionDestroyed;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final int TRANSACTION_onPlaybackStateChanged;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  static final int TRANSACTION_onMetadataChanged;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  static final int TRANSACTION_onQueueChanged;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  static final int TRANSACTION_onQueueTitleChanged;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  static final int TRANSACTION_onExtrasChanged;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  static final int TRANSACTION_onVolumeInfoChanged;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.media.session.ISessionControllerCallback$Stub this
         0: .line 16
            aload 0 /* this */
            invokespecial android.os.Binder.<init>:()V
         1: .line 18
            aload 0 /* this */
            aload 0 /* this */
            ldc "android.media.session.ISessionControllerCallback"
            invokevirtual android.media.session.ISessionControllerCallback$Stub.attachInterface:(Landroid/os/IInterface;Ljava/lang/String;)V
         2: .line 19
            return
        end local 0 // android.media.session.ISessionControllerCallback$Stub this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/media/session/ISessionControllerCallback$Stub;

  public static android.media.session.ISessionControllerCallback asInterface(android.os.IBinder);
    descriptor: (Landroid/os/IBinder;)Landroid/media/session/ISessionControllerCallback;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // android.os.IBinder obj
         0: .line 26
            aload 0 /* obj */
            ifnonnull 2
         1: .line 27
            aconst_null
            areturn
         2: .line 29
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            ldc "android.media.session.ISessionControllerCallback"
            invokeinterface android.os.IBinder.queryLocalInterface:(Ljava/lang/String;)Landroid/os/IInterface;
            astore 1 /* iin */
        start local 1 // android.os.IInterface iin
         3: .line 30
            aload 1 /* iin */
            ifnull 5
            aload 1 /* iin */
            instanceof android.media.session.ISessionControllerCallback
            ifeq 5
         4: .line 31
            aload 1 /* iin */
            checkcast android.media.session.ISessionControllerCallback
            areturn
         5: .line 33
      StackMap locals: android.os.IInterface
      StackMap stack:
            new android.media.session.ISessionControllerCallback$Stub$Proxy
            dup
            aload 0 /* obj */
            invokespecial android.media.session.ISessionControllerCallback$Stub$Proxy.<init>:(Landroid/os/IBinder;)V
            areturn
        end local 1 // android.os.IInterface iin
        end local 0 // android.os.IBinder obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0   obj  Landroid/os/IBinder;
            3    6     1   iin  Landroid/os/IInterface;
    MethodParameters:
      Name  Flags
      obj   

  public android.os.IBinder asBinder();
    descriptor: ()Landroid/os/IBinder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.session.ISessionControllerCallback$Stub this
         0: .line 37
            aload 0 /* this */
            areturn
        end local 0 // android.media.session.ISessionControllerCallback$Stub this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/session/ISessionControllerCallback$Stub;

  public boolean onTransact(int, android.os.Parcel, android.os.Parcel, int);
    descriptor: (ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // android.media.session.ISessionControllerCallback$Stub this
        start local 1 // int code
        start local 2 // android.os.Parcel data
        start local 3 // android.os.Parcel reply
        start local 4 // int flags
         0: .line 41
            ldc "android.media.session.ISessionControllerCallback"
            astore 5 /* descriptor */
        start local 5 // java.lang.String descriptor
         1: .line 42
            iload 1 /* code */
            lookupswitch { // 9
                    1: 4
                    2: 12
                    3: 15
                    4: 22
                    5: 29
                    6: 36
                    7: 43
                    8: 50
           1598968902: 2
              default: 57
          }
         2: .line 46
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* reply */
            aload 5 /* descriptor */
            invokevirtual android.os.Parcel.writeString:(Ljava/lang/String;)V
         3: .line 47
            iconst_1
            ireturn
         4: .line 51
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            aload 5 /* descriptor */
            invokevirtual android.os.Parcel.enforceInterface:(Ljava/lang/String;)V
         5: .line 53
            aload 2 /* data */
            invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
            astore 6 /* _arg0 */
        start local 6 // java.lang.String _arg0
         6: .line 55
            aload 2 /* data */
            invokevirtual android.os.Parcel.readInt:()I
            ifeq 9
         7: .line 56
            getstatic android.os.Bundle.CREATOR:Landroid/os/Parcelable$Creator;
            aload 2 /* data */
            invokeinterface android.os.Parcelable$Creator.createFromParcel:(Landroid/os/Parcel;)Ljava/lang/Object;
            checkcast android.os.Bundle
            astore 7 /* _arg1 */
        start local 7 // android.os.Bundle _arg1
         8: .line 57
            goto 10
        end local 7 // android.os.Bundle _arg1
         9: .line 59
      StackMap locals: java.lang.String
      StackMap stack:
            aconst_null
            astore 7 /* _arg1 */
        start local 7 // android.os.Bundle _arg1
        10: .line 61
      StackMap locals: android.os.Bundle
      StackMap stack:
            aload 0 /* this */
            aload 6 /* _arg0 */
            aload 7 /* _arg1 */
            invokevirtual android.media.session.ISessionControllerCallback$Stub.onEvent:(Ljava/lang/String;Landroid/os/Bundle;)V
        11: .line 62
            iconst_1
            ireturn
        end local 7 // android.os.Bundle _arg1
        end local 6 // java.lang.String _arg0
        12: .line 66
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            aload 5 /* descriptor */
            invokevirtual android.os.Parcel.enforceInterface:(Ljava/lang/String;)V
        13: .line 67
            aload 0 /* this */
            invokevirtual android.media.session.ISessionControllerCallback$Stub.onSessionDestroyed:()V
        14: .line 68
            iconst_1
            ireturn
        15: .line 72
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            aload 5 /* descriptor */
            invokevirtual android.os.Parcel.enforceInterface:(Ljava/lang/String;)V
        16: .line 74
            aload 2 /* data */
            invokevirtual android.os.Parcel.readInt:()I
            ifeq 19
        17: .line 75
            getstatic android.media.session.PlaybackState.CREATOR:Landroid/os/Parcelable$Creator;
            aload 2 /* data */
            invokeinterface android.os.Parcelable$Creator.createFromParcel:(Landroid/os/Parcel;)Ljava/lang/Object;
            checkcast android.media.session.PlaybackState
            astore 6 /* _arg0 */
        start local 6 // android.media.session.PlaybackState _arg0
        18: .line 76
            goto 20
        end local 6 // android.media.session.PlaybackState _arg0
        19: .line 78
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* _arg0 */
        start local 6 // android.media.session.PlaybackState _arg0
        20: .line 80
      StackMap locals: android.media.session.PlaybackState
      StackMap stack:
            aload 0 /* this */
            aload 6 /* _arg0 */
            invokevirtual android.media.session.ISessionControllerCallback$Stub.onPlaybackStateChanged:(Landroid/media/session/PlaybackState;)V
        21: .line 81
            iconst_1
            ireturn
        end local 6 // android.media.session.PlaybackState _arg0
        22: .line 85
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            aload 5 /* descriptor */
            invokevirtual android.os.Parcel.enforceInterface:(Ljava/lang/String;)V
        23: .line 87
            aload 2 /* data */
            invokevirtual android.os.Parcel.readInt:()I
            ifeq 26
        24: .line 88
            getstatic android.media.MediaMetadata.CREATOR:Landroid/os/Parcelable$Creator;
            aload 2 /* data */
            invokeinterface android.os.Parcelable$Creator.createFromParcel:(Landroid/os/Parcel;)Ljava/lang/Object;
            checkcast android.media.MediaMetadata
            astore 6 /* _arg0 */
        start local 6 // android.media.MediaMetadata _arg0
        25: .line 89
            goto 27
        end local 6 // android.media.MediaMetadata _arg0
        26: .line 91
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* _arg0 */
        start local 6 // android.media.MediaMetadata _arg0
        27: .line 93
      StackMap locals: android.media.MediaMetadata
      StackMap stack:
            aload 0 /* this */
            aload 6 /* _arg0 */
            invokevirtual android.media.session.ISessionControllerCallback$Stub.onMetadataChanged:(Landroid/media/MediaMetadata;)V
        28: .line 94
            iconst_1
            ireturn
        end local 6 // android.media.MediaMetadata _arg0
        29: .line 98
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            aload 5 /* descriptor */
            invokevirtual android.os.Parcel.enforceInterface:(Ljava/lang/String;)V
        30: .line 100
            aload 2 /* data */
            invokevirtual android.os.Parcel.readInt:()I
            ifeq 33
        31: .line 101
            getstatic android.content.pm.ParceledListSlice.CREATOR:Landroid/os/Parcelable$ClassLoaderCreator;
            aload 2 /* data */
            invokeinterface android.os.Parcelable$ClassLoaderCreator.createFromParcel:(Landroid/os/Parcel;)Ljava/lang/Object;
            checkcast android.content.pm.ParceledListSlice
            astore 6 /* _arg0 */
        start local 6 // android.content.pm.ParceledListSlice _arg0
        32: .line 102
            goto 34
        end local 6 // android.content.pm.ParceledListSlice _arg0
        33: .line 104
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* _arg0 */
        start local 6 // android.content.pm.ParceledListSlice _arg0
        34: .line 106
      StackMap locals: android.content.pm.ParceledListSlice
      StackMap stack:
            aload 0 /* this */
            aload 6 /* _arg0 */
            invokevirtual android.media.session.ISessionControllerCallback$Stub.onQueueChanged:(Landroid/content/pm/ParceledListSlice;)V
        35: .line 107
            iconst_1
            ireturn
        end local 6 // android.content.pm.ParceledListSlice _arg0
        36: .line 111
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            aload 5 /* descriptor */
            invokevirtual android.os.Parcel.enforceInterface:(Ljava/lang/String;)V
        37: .line 113
            aload 2 /* data */
            invokevirtual android.os.Parcel.readInt:()I
            ifeq 40
        38: .line 114
            getstatic android.text.TextUtils.CHAR_SEQUENCE_CREATOR:Landroid/os/Parcelable$Creator;
            aload 2 /* data */
            invokeinterface android.os.Parcelable$Creator.createFromParcel:(Landroid/os/Parcel;)Ljava/lang/Object;
            checkcast java.lang.CharSequence
            astore 6 /* _arg0 */
        start local 6 // java.lang.CharSequence _arg0
        39: .line 115
            goto 41
        end local 6 // java.lang.CharSequence _arg0
        40: .line 117
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* _arg0 */
        start local 6 // java.lang.CharSequence _arg0
        41: .line 119
      StackMap locals: java.lang.CharSequence
      StackMap stack:
            aload 0 /* this */
            aload 6 /* _arg0 */
            invokevirtual android.media.session.ISessionControllerCallback$Stub.onQueueTitleChanged:(Ljava/lang/CharSequence;)V
        42: .line 120
            iconst_1
            ireturn
        end local 6 // java.lang.CharSequence _arg0
        43: .line 124
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            aload 5 /* descriptor */
            invokevirtual android.os.Parcel.enforceInterface:(Ljava/lang/String;)V
        44: .line 126
            aload 2 /* data */
            invokevirtual android.os.Parcel.readInt:()I
            ifeq 47
        45: .line 127
            getstatic android.os.Bundle.CREATOR:Landroid/os/Parcelable$Creator;
            aload 2 /* data */
            invokeinterface android.os.Parcelable$Creator.createFromParcel:(Landroid/os/Parcel;)Ljava/lang/Object;
            checkcast android.os.Bundle
            astore 6 /* _arg0 */
        start local 6 // android.os.Bundle _arg0
        46: .line 128
            goto 48
        end local 6 // android.os.Bundle _arg0
        47: .line 130
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* _arg0 */
        start local 6 // android.os.Bundle _arg0
        48: .line 132
      StackMap locals: android.os.Bundle
      StackMap stack:
            aload 0 /* this */
            aload 6 /* _arg0 */
            invokevirtual android.media.session.ISessionControllerCallback$Stub.onExtrasChanged:(Landroid/os/Bundle;)V
        49: .line 133
            iconst_1
            ireturn
        end local 6 // android.os.Bundle _arg0
        50: .line 137
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            aload 5 /* descriptor */
            invokevirtual android.os.Parcel.enforceInterface:(Ljava/lang/String;)V
        51: .line 139
            aload 2 /* data */
            invokevirtual android.os.Parcel.readInt:()I
            ifeq 54
        52: .line 140
            getstatic android.media.session.ParcelableVolumeInfo.CREATOR:Landroid/os/Parcelable$Creator;
            aload 2 /* data */
            invokeinterface android.os.Parcelable$Creator.createFromParcel:(Landroid/os/Parcel;)Ljava/lang/Object;
            checkcast android.media.session.ParcelableVolumeInfo
            astore 6 /* _arg0 */
        start local 6 // android.media.session.ParcelableVolumeInfo _arg0
        53: .line 141
            goto 55
        end local 6 // android.media.session.ParcelableVolumeInfo _arg0
        54: .line 143
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* _arg0 */
        start local 6 // android.media.session.ParcelableVolumeInfo _arg0
        55: .line 145
      StackMap locals: android.media.session.ParcelableVolumeInfo
      StackMap stack:
            aload 0 /* this */
            aload 6 /* _arg0 */
            invokevirtual android.media.session.ISessionControllerCallback$Stub.onVolumeInfoChanged:(Landroid/media/session/ParcelableVolumeInfo;)V
        56: .line 146
            iconst_1
            ireturn
        end local 6 // android.media.session.ParcelableVolumeInfo _arg0
        57: .line 150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* code */
            aload 2 /* data */
            aload 3 /* reply */
            iload 4 /* flags */
            invokespecial android.os.Binder.onTransact:(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
            ireturn
        end local 5 // java.lang.String descriptor
        end local 4 // int flags
        end local 3 // android.os.Parcel reply
        end local 2 // android.os.Parcel data
        end local 1 // int code
        end local 0 // android.media.session.ISessionControllerCallback$Stub this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   58     0        this  Landroid/media/session/ISessionControllerCallback$Stub;
            0   58     1        code  I
            0   58     2        data  Landroid/os/Parcel;
            0   58     3       reply  Landroid/os/Parcel;
            0   58     4       flags  I
            1   58     5  descriptor  Ljava/lang/String;
            6   12     6       _arg0  Ljava/lang/String;
            8    9     7       _arg1  Landroid/os/Bundle;
           10   12     7       _arg1  Landroid/os/Bundle;
           18   19     6       _arg0  Landroid/media/session/PlaybackState;
           20   22     6       _arg0  Landroid/media/session/PlaybackState;
           25   26     6       _arg0  Landroid/media/MediaMetadata;
           27   29     6       _arg0  Landroid/media/MediaMetadata;
           32   33     6       _arg0  Landroid/content/pm/ParceledListSlice;
           34   36     6       _arg0  Landroid/content/pm/ParceledListSlice;
           39   40     6       _arg0  Ljava/lang/CharSequence;
           41   43     6       _arg0  Ljava/lang/CharSequence;
           46   47     6       _arg0  Landroid/os/Bundle;
           48   50     6       _arg0  Landroid/os/Bundle;
           53   54     6       _arg0  Landroid/media/session/ParcelableVolumeInfo;
           55   57     6       _arg0  Landroid/media/session/ParcelableVolumeInfo;
    Exceptions:
      throws android.os.RemoteException
    MethodParameters:
       Name  Flags
      code   
      data   
      reply  
      flags  
}
SourceFile: "ISessionControllerCallback.java"
NestHost: android.media.session.ISessionControllerCallback
InnerClasses:
  public abstract Stub = android.media.session.ISessionControllerCallback$Stub of android.media.session.ISessionControllerCallback
  private Proxy = android.media.session.ISessionControllerCallback$Stub$Proxy of android.media.session.ISessionControllerCallback$Stub
  public abstract ClassLoaderCreator = android.os.Parcelable$ClassLoaderCreator of android.os.Parcelable
  public abstract Creator = android.os.Parcelable$Creator of android.os.Parcelable