public class android.media.MediaSession2 implements java.lang.AutoCloseable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.media.MediaSession2
  super_class: java.lang.Object
{
  private final android.media.update.MediaSession2Provider mProvider;
    descriptor: Landroid/media/update/MediaSession2Provider;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

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

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

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

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

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

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

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

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

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

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

  public void <init>(android.media.update.MediaSession2Provider);
    descriptor: (Landroid/media/update/MediaSession2Provider;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.MediaSession2 this
        start local 1 // android.media.update.MediaSession2Provider provider
         0: .line 886
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 887
            aload 0 /* this */
            aload 1 /* provider */
            putfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
         2: .line 888
            return
        end local 1 // android.media.update.MediaSession2Provider provider
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Landroid/media/MediaSession2;
            0    3     1  provider  Landroid/media/update/MediaSession2Provider;
    MethodParameters:
          Name  Flags
      provider  

  public android.media.update.MediaSession2Provider getProvider();
    descriptor: ()Landroid/media/update/MediaSession2Provider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaSession2 this
         0: .line 894
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            areturn
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaSession2;

  public void updatePlayer(android.media.MediaPlayerBase, android.media.MediaPlaylistAgent, android.media.VolumeProvider2);
    descriptor: (Landroid/media/MediaPlayerBase;Landroid/media/MediaPlaylistAgent;Landroid/media/VolumeProvider2;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // android.media.MediaSession2 this
        start local 1 // android.media.MediaPlayerBase player
        start local 2 // android.media.MediaPlaylistAgent playlistAgent
        start local 3 // android.media.VolumeProvider2 volumeProvider
         0: .line 914
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            aload 1 /* player */
            aload 2 /* playlistAgent */
            aload 3 /* volumeProvider */
            invokeinterface android.media.update.MediaSession2Provider.updatePlayer_impl:(Landroid/media/MediaPlayerBase;Landroid/media/MediaPlaylistAgent;Landroid/media/VolumeProvider2;)V
         1: .line 915
            return
        end local 3 // android.media.VolumeProvider2 volumeProvider
        end local 2 // android.media.MediaPlaylistAgent playlistAgent
        end local 1 // android.media.MediaPlayerBase player
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Landroid/media/MediaSession2;
            0    2     1          player  Landroid/media/MediaPlayerBase;
            0    2     2   playlistAgent  Landroid/media/MediaPlaylistAgent;
            0    2     3  volumeProvider  Landroid/media/VolumeProvider2;
    MethodParameters:
                Name  Flags
      player          
      playlistAgent   
      volumeProvider  

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaSession2 this
         0: .line 919
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            invokeinterface android.media.update.MediaSession2Provider.close_impl:()V
         1: .line 920
            return
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/MediaSession2;

  public android.media.MediaPlayerBase getPlayer();
    descriptor: ()Landroid/media/MediaPlayerBase;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaSession2 this
         0: .line 926
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            invokeinterface android.media.update.MediaSession2Provider.getPlayer_impl:()Landroid/media/MediaPlayerBase;
            areturn
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaSession2;

  public android.media.MediaPlaylistAgent getPlaylistAgent();
    descriptor: ()Landroid/media/MediaPlaylistAgent;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaSession2 this
         0: .line 933
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            invokeinterface android.media.update.MediaSession2Provider.getPlaylistAgent_impl:()Landroid/media/MediaPlaylistAgent;
            areturn
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaSession2;

  public android.media.VolumeProvider2 getVolumeProvider();
    descriptor: ()Landroid/media/VolumeProvider2;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaSession2 this
         0: .line 940
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            invokeinterface android.media.update.MediaSession2Provider.getVolumeProvider_impl:()Landroid/media/VolumeProvider2;
            areturn
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaSession2;

  public android.media.SessionToken2 getToken();
    descriptor: ()Landroid/media/SessionToken2;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaSession2 this
         0: .line 948
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            invokeinterface android.media.update.MediaSession2Provider.getToken_impl:()Landroid/media/SessionToken2;
            areturn
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaSession2;

  public java.util.List<android.media.MediaSession2$ControllerInfo> getConnectedControllers();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaSession2 this
         0: .line 952
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            invokeinterface android.media.update.MediaSession2Provider.getConnectedControllers_impl:()Ljava/util/List;
            areturn
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaSession2;
    Signature: ()Ljava/util/List<Landroid/media/MediaSession2$ControllerInfo;>;

  public void setAudioFocusRequest(android.media.AudioFocusRequest);
    descriptor: (Landroid/media/AudioFocusRequest;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // android.media.MediaSession2 this
        start local 1 // android.media.AudioFocusRequest afr
         0: .line 963
            return
        end local 1 // android.media.AudioFocusRequest afr
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaSession2;
            0    1     1   afr  Landroid/media/AudioFocusRequest;
    MethodParameters:
      Name  Flags
      afr   

  public void setCustomLayout(android.media.MediaSession2$ControllerInfo, java.util.List<android.media.MediaSession2$CommandButton>);
    descriptor: (Landroid/media/MediaSession2$ControllerInfo;Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.media.MediaSession2 this
        start local 1 // android.media.MediaSession2$ControllerInfo controller
        start local 2 // java.util.List layout
         0: .line 987
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            aload 1 /* controller */
            aload 2 /* layout */
            invokeinterface android.media.update.MediaSession2Provider.setCustomLayout_impl:(Landroid/media/MediaSession2$ControllerInfo;Ljava/util/List;)V
         1: .line 988
            return
        end local 2 // java.util.List layout
        end local 1 // android.media.MediaSession2$ControllerInfo controller
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Landroid/media/MediaSession2;
            0    2     1  controller  Landroid/media/MediaSession2$ControllerInfo;
            0    2     2      layout  Ljava/util/List<Landroid/media/MediaSession2$CommandButton;>;
    Signature: (Landroid/media/MediaSession2$ControllerInfo;Ljava/util/List<Landroid/media/MediaSession2$CommandButton;>;)V
    MethodParameters:
            Name  Flags
      controller  
      layout      

  public void setAllowedCommands(android.media.MediaSession2$ControllerInfo, android.media.SessionCommandGroup2);
    descriptor: (Landroid/media/MediaSession2$ControllerInfo;Landroid/media/SessionCommandGroup2;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.media.MediaSession2 this
        start local 1 // android.media.MediaSession2$ControllerInfo controller
        start local 2 // android.media.SessionCommandGroup2 commands
         0: .line 998
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            aload 1 /* controller */
            aload 2 /* commands */
            invokeinterface android.media.update.MediaSession2Provider.setAllowedCommands_impl:(Landroid/media/MediaSession2$ControllerInfo;Landroid/media/SessionCommandGroup2;)V
         1: .line 999
            return
        end local 2 // android.media.SessionCommandGroup2 commands
        end local 1 // android.media.MediaSession2$ControllerInfo controller
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Landroid/media/MediaSession2;
            0    2     1  controller  Landroid/media/MediaSession2$ControllerInfo;
            0    2     2    commands  Landroid/media/SessionCommandGroup2;
    MethodParameters:
            Name  Flags
      controller  
      commands    

  public void sendCustomCommand(android.media.SessionCommand2, android.os.Bundle);
    descriptor: (Landroid/media/SessionCommand2;Landroid/os/Bundle;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.media.MediaSession2 this
        start local 1 // android.media.SessionCommand2 command
        start local 2 // android.os.Bundle args
         0: .line 1008
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            aload 1 /* command */
            aload 2 /* args */
            invokeinterface android.media.update.MediaSession2Provider.sendCustomCommand_impl:(Landroid/media/SessionCommand2;Landroid/os/Bundle;)V
         1: .line 1009
            return
        end local 2 // android.os.Bundle args
        end local 1 // android.media.SessionCommand2 command
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/media/MediaSession2;
            0    2     1  command  Landroid/media/SessionCommand2;
            0    2     2     args  Landroid/os/Bundle;
    MethodParameters:
         Name  Flags
      command  
      args     

  public void sendCustomCommand(android.media.MediaSession2$ControllerInfo, android.media.SessionCommand2, android.os.Bundle, android.os.ResultReceiver);
    descriptor: (Landroid/media/MediaSession2$ControllerInfo;Landroid/media/SessionCommand2;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // android.media.MediaSession2 this
        start local 1 // android.media.MediaSession2$ControllerInfo controller
        start local 2 // android.media.SessionCommand2 command
        start local 3 // android.os.Bundle args
        start local 4 // android.os.ResultReceiver receiver
         0: .line 1022
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            aload 1 /* controller */
            aload 2 /* command */
            aload 3 /* args */
            aload 4 /* receiver */
            invokeinterface android.media.update.MediaSession2Provider.sendCustomCommand_impl:(Landroid/media/MediaSession2$ControllerInfo;Landroid/media/SessionCommand2;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V
         1: .line 1023
            return
        end local 4 // android.os.ResultReceiver receiver
        end local 3 // android.os.Bundle args
        end local 2 // android.media.SessionCommand2 command
        end local 1 // android.media.MediaSession2$ControllerInfo controller
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Landroid/media/MediaSession2;
            0    2     1  controller  Landroid/media/MediaSession2$ControllerInfo;
            0    2     2     command  Landroid/media/SessionCommand2;
            0    2     3        args  Landroid/os/Bundle;
            0    2     4    receiver  Landroid/os/ResultReceiver;
    MethodParameters:
            Name  Flags
      controller  
      command     
      args        
      receiver    

  public void play();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaSession2 this
         0: .line 1031
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            invokeinterface android.media.update.MediaSession2Provider.play_impl:()V
         1: .line 1032
            return
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/MediaSession2;

  public void pause();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaSession2 this
         0: .line 1040
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            invokeinterface android.media.update.MediaSession2Provider.pause_impl:()V
         1: .line 1041
            return
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/MediaSession2;

  public void stop();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaSession2 this
         0: .line 1049
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            invokeinterface android.media.update.MediaSession2Provider.stop_impl:()V
         1: .line 1050
            return
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/MediaSession2;

  public void prepare();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaSession2 this
         0: .line 1062
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            invokeinterface android.media.update.MediaSession2Provider.prepare_impl:()V
         1: .line 1063
            return
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/MediaSession2;

  public void seekTo(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.media.MediaSession2 this
        start local 1 // long pos
         0: .line 1071
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            lload 1 /* pos */
            invokeinterface android.media.update.MediaSession2Provider.seekTo_impl:(J)V
         1: .line 1072
            return
        end local 1 // long pos
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/MediaSession2;
            0    2     1   pos  J
    MethodParameters:
      Name  Flags
      pos   

  public void skipForward();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // android.media.MediaSession2 this
         0: .line 1079
            return
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaSession2;

  public void skipBackward();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // android.media.MediaSession2 this
         0: .line 1086
            return
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaSession2;

  public void notifyError(int, android.os.Bundle);
    descriptor: (ILandroid/os/Bundle;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.media.MediaSession2 this
        start local 1 // int errorCode
        start local 2 // android.os.Bundle extras
         0: .line 1095
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            iload 1 /* errorCode */
            aload 2 /* extras */
            invokeinterface android.media.update.MediaSession2Provider.notifyError_impl:(ILandroid/os/Bundle;)V
         1: .line 1096
            return
        end local 2 // android.os.Bundle extras
        end local 1 // int errorCode
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Landroid/media/MediaSession2;
            0    2     1  errorCode  I
            0    2     2     extras  Landroid/os/Bundle;
    MethodParameters:
           Name  Flags
      errorCode  
      extras     

  public int getPlayerState();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaSession2 this
         0: .line 1104
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            invokeinterface android.media.update.MediaSession2Provider.getPlayerState_impl:()I
            ireturn
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaSession2;

  public long getCurrentPosition();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.media.MediaSession2 this
         0: .line 1114
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            invokeinterface android.media.update.MediaSession2Provider.getCurrentPosition_impl:()J
            lreturn
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaSession2;

  public long getBufferedPosition();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.media.MediaSession2 this
         0: .line 1123
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            invokeinterface android.media.update.MediaSession2Provider.getBufferedPosition_impl:()J
            lreturn
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaSession2;

  public int getBufferingState();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaSession2 this
         0: .line 1135
            iconst_0
            ireturn
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaSession2;

  public float getPlaybackSpeed();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaSession2 this
         0: .line 1145
            ldc -1.0
            freturn
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaSession2;

  public void setPlaybackSpeed(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // android.media.MediaSession2 this
        start local 1 // float speed
         0: .line 1153
            return
        end local 1 // float speed
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Landroid/media/MediaSession2;
            0    1     1  speed  F
    MethodParameters:
       Name  Flags
      speed  

  public void setOnDataSourceMissingHelper(android.media.MediaSession2$OnDataSourceMissingHelper);
    descriptor: (Landroid/media/MediaSession2$OnDataSourceMissingHelper;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.MediaSession2 this
        start local 1 // android.media.MediaSession2$OnDataSourceMissingHelper helper
         0: .line 1184
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            aload 1 /* helper */
            invokeinterface android.media.update.MediaSession2Provider.setOnDataSourceMissingHelper_impl:(Landroid/media/MediaSession2$OnDataSourceMissingHelper;)V
         1: .line 1185
            return
        end local 1 // android.media.MediaSession2$OnDataSourceMissingHelper helper
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/media/MediaSession2;
            0    2     1  helper  Landroid/media/MediaSession2$OnDataSourceMissingHelper;
    MethodParameters:
        Name  Flags
      helper  

  public void clearOnDataSourceMissingHelper();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaSession2 this
         0: .line 1193
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            invokeinterface android.media.update.MediaSession2Provider.clearOnDataSourceMissingHelper_impl:()V
         1: .line 1194
            return
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/MediaSession2;

  public java.util.List<android.media.MediaItem2> getPlaylist();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaSession2 this
         0: .line 1210
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            invokeinterface android.media.update.MediaSession2Provider.getPlaylist_impl:()Ljava/util/List;
            areturn
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaSession2;
    Signature: ()Ljava/util/List<Landroid/media/MediaItem2;>;

  public void setPlaylist(java.util.List<android.media.MediaItem2>, android.media.MediaMetadata2);
    descriptor: (Ljava/util/List;Landroid/media/MediaMetadata2;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.media.MediaSession2 this
        start local 1 // java.util.List list
        start local 2 // android.media.MediaMetadata2 metadata
         0: .line 1236
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            aload 1 /* list */
            aload 2 /* metadata */
            invokeinterface android.media.update.MediaSession2Provider.setPlaylist_impl:(Ljava/util/List;Landroid/media/MediaMetadata2;)V
         1: .line 1237
            return
        end local 2 // android.media.MediaMetadata2 metadata
        end local 1 // java.util.List list
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/media/MediaSession2;
            0    2     1      list  Ljava/util/List<Landroid/media/MediaItem2;>;
            0    2     2  metadata  Landroid/media/MediaMetadata2;
    Signature: (Ljava/util/List<Landroid/media/MediaItem2;>;Landroid/media/MediaMetadata2;)V
    MethodParameters:
          Name  Flags
      list      
      metadata  

  public void skipToPlaylistItem(android.media.MediaItem2);
    descriptor: (Landroid/media/MediaItem2;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.MediaSession2 this
        start local 1 // android.media.MediaItem2 item
         0: .line 1250
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            aload 1 /* item */
            invokeinterface android.media.update.MediaSession2Provider.skipToPlaylistItem_impl:(Landroid/media/MediaItem2;)V
         1: .line 1251
            return
        end local 1 // android.media.MediaItem2 item
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/MediaSession2;
            0    2     1  item  Landroid/media/MediaItem2;
    MethodParameters:
      Name  Flags
      item  

  public void skipToPreviousItem();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaSession2 this
         0: .line 1263
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            invokeinterface android.media.update.MediaSession2Provider.skipToPreviousItem_impl:()V
         1: .line 1264
            return
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/MediaSession2;

  public void skipToNextItem();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaSession2 this
         0: .line 1276
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            invokeinterface android.media.update.MediaSession2Provider.skipToNextItem_impl:()V
         1: .line 1277
            return
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/MediaSession2;

  public android.media.MediaMetadata2 getPlaylistMetadata();
    descriptor: ()Landroid/media/MediaMetadata2;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaSession2 this
         0: .line 1285
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            invokeinterface android.media.update.MediaSession2Provider.getPlaylistMetadata_impl:()Landroid/media/MediaMetadata2;
            areturn
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaSession2;

  public void addPlaylistItem(int, android.media.MediaItem2);
    descriptor: (ILandroid/media/MediaItem2;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.media.MediaSession2 this
        start local 1 // int index
        start local 2 // android.media.MediaItem2 item
         0: .line 1300
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            iload 1 /* index */
            aload 2 /* item */
            invokeinterface android.media.update.MediaSession2Provider.addPlaylistItem_impl:(ILandroid/media/MediaItem2;)V
         1: .line 1301
            return
        end local 2 // android.media.MediaItem2 item
        end local 1 // int index
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/media/MediaSession2;
            0    2     1  index  I
            0    2     2   item  Landroid/media/MediaItem2;
    MethodParameters:
       Name  Flags
      index  
      item   

  public void removePlaylistItem(android.media.MediaItem2);
    descriptor: (Landroid/media/MediaItem2;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.MediaSession2 this
        start local 1 // android.media.MediaItem2 item
         0: .line 1312
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            aload 1 /* item */
            invokeinterface android.media.update.MediaSession2Provider.removePlaylistItem_impl:(Landroid/media/MediaItem2;)V
         1: .line 1313
            return
        end local 1 // android.media.MediaItem2 item
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/MediaSession2;
            0    2     1  item  Landroid/media/MediaItem2;
    MethodParameters:
      Name  Flags
      item  

  public void replacePlaylistItem(int, android.media.MediaItem2);
    descriptor: (ILandroid/media/MediaItem2;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.media.MediaSession2 this
        start local 1 // int index
        start local 2 // android.media.MediaItem2 item
         0: .line 1323
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            iload 1 /* index */
            aload 2 /* item */
            invokeinterface android.media.update.MediaSession2Provider.replacePlaylistItem_impl:(ILandroid/media/MediaItem2;)V
         1: .line 1324
            return
        end local 2 // android.media.MediaItem2 item
        end local 1 // int index
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/media/MediaSession2;
            0    2     1  index  I
            0    2     2   item  Landroid/media/MediaItem2;
    MethodParameters:
       Name  Flags
      index  
      item   

  public android.media.MediaItem2 getCurrentMediaItem();
    descriptor: ()Landroid/media/MediaItem2;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaSession2 this
         0: .line 1333
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            invokeinterface android.media.update.MediaSession2Provider.getCurrentPlaylistItem_impl:()Landroid/media/MediaItem2;
            areturn
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaSession2;

  public void updatePlaylistMetadata(android.media.MediaMetadata2);
    descriptor: (Landroid/media/MediaMetadata2;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.MediaSession2 this
        start local 1 // android.media.MediaMetadata2 metadata
         0: .line 1342
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            aload 1 /* metadata */
            invokeinterface android.media.update.MediaSession2Provider.updatePlaylistMetadata_impl:(Landroid/media/MediaMetadata2;)V
         1: .line 1343
            return
        end local 1 // android.media.MediaMetadata2 metadata
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/media/MediaSession2;
            0    2     1  metadata  Landroid/media/MediaMetadata2;
    MethodParameters:
          Name  Flags
      metadata  

  public int getRepeatMode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaSession2 this
         0: .line 1355
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            invokeinterface android.media.update.MediaSession2Provider.getRepeatMode_impl:()I
            ireturn
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaSession2;

  public void setRepeatMode(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.MediaSession2 this
        start local 1 // int repeatMode
         0: .line 1368
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            iload 1 /* repeatMode */
            invokeinterface android.media.update.MediaSession2Provider.setRepeatMode_impl:(I)V
         1: .line 1369
            return
        end local 1 // int repeatMode
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Landroid/media/MediaSession2;
            0    2     1  repeatMode  I
    MethodParameters:
            Name  Flags
      repeatMode  

  public int getShuffleMode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaSession2 this
         0: .line 1380
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            invokeinterface android.media.update.MediaSession2Provider.getShuffleMode_impl:()I
            ireturn
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaSession2;

  public void setShuffleMode(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.MediaSession2 this
        start local 1 // int shuffleMode
         0: .line 1392
            aload 0 /* this */
            getfield android.media.MediaSession2.mProvider:Landroid/media/update/MediaSession2Provider;
            iload 1 /* shuffleMode */
            invokeinterface android.media.update.MediaSession2Provider.setShuffleMode_impl:(I)V
         1: .line 1393
            return
        end local 1 // int shuffleMode
        end local 0 // android.media.MediaSession2 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Landroid/media/MediaSession2;
            0    2     1  shuffleMode  I
    MethodParameters:
             Name  Flags
      shuffleMode  
}
SourceFile: "MediaSession2.java"
NestMembers:
  android.media.MediaSession2$Builder  android.media.MediaSession2$BuilderBase  android.media.MediaSession2$CommandButton  android.media.MediaSession2$CommandButton$Builder  android.media.MediaSession2$ControllerInfo  android.media.MediaSession2$ErrorCode  android.media.MediaSession2$OnDataSourceMissingHelper  android.media.MediaSession2$SessionCallback
InnerClasses:
  public final Builder = android.media.MediaSession2$Builder of android.media.MediaSession2
  abstract BuilderBase = android.media.MediaSession2$BuilderBase of android.media.MediaSession2
  public final CommandButton = android.media.MediaSession2$CommandButton of android.media.MediaSession2
  public final ControllerInfo = android.media.MediaSession2$ControllerInfo of android.media.MediaSession2
  public abstract ErrorCode = android.media.MediaSession2$ErrorCode of android.media.MediaSession2
  public abstract OnDataSourceMissingHelper = android.media.MediaSession2$OnDataSourceMissingHelper of android.media.MediaSession2
  public abstract SessionCallback = android.media.MediaSession2$SessionCallback of android.media.MediaSession2