abstract class android.media.MediaSession2$BuilderBase<T extends android.media.MediaSession2, U extends android.media.MediaSession2$BuilderBase<T, U, C>, C extends android.media.MediaSession2$SessionCallback>
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: android.media.MediaSession2$BuilderBase
  super_class: java.lang.Object
{
  private final android.media.update.MediaSession2Provider$BuilderBaseProvider<T, C> mProvider;
    descriptor: Landroid/media/update/MediaSession2Provider$BuilderBaseProvider;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Landroid/media/update/MediaSession2Provider$BuilderBaseProvider<TT;TC;>;

  void <init>(android.media.update.ProviderCreator<android.media.MediaSession2$BuilderBase<T, U, C>, android.media.update.MediaSession2Provider$BuilderBaseProvider<T, C>>);
    descriptor: (Landroid/media/update/ProviderCreator;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.media.MediaSession2$BuilderBase this
        start local 1 // android.media.update.ProviderCreator creator
         0: .line 553
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 554
            aload 0 /* this */
            aload 1 /* creator */
            aload 0 /* this */
            invokeinterface android.media.update.ProviderCreator.createProvider:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.media.update.MediaSession2Provider$BuilderBaseProvider
            putfield android.media.MediaSession2$BuilderBase.mProvider:Landroid/media/update/MediaSession2Provider$BuilderBaseProvider;
         2: .line 555
            return
        end local 1 // android.media.update.ProviderCreator creator
        end local 0 // android.media.MediaSession2$BuilderBase this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Landroid/media/MediaSession2$BuilderBase<TT;TU;TC;>;
            0    3     1  creator  Landroid/media/update/ProviderCreator<Landroid/media/MediaSession2$BuilderBase<TT;TU;TC;>;Landroid/media/update/MediaSession2Provider$BuilderBaseProvider<TT;TC;>;>;
    Signature: (Landroid/media/update/ProviderCreator<Landroid/media/MediaSession2$BuilderBase<TT;TU;TC;>;Landroid/media/update/MediaSession2Provider$BuilderBaseProvider<TT;TC;>;>;)V
    MethodParameters:
         Name  Flags
      creator  

  U setPlayer(android.media.MediaPlayerBase);
    descriptor: (Landroid/media/MediaPlayerBase;)Landroid/media/MediaSession2$BuilderBase;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.MediaSession2$BuilderBase this
        start local 1 // android.media.MediaPlayerBase player
         0: .line 564
            aload 0 /* this */
            getfield android.media.MediaSession2$BuilderBase.mProvider:Landroid/media/update/MediaSession2Provider$BuilderBaseProvider;
            aload 1 /* player */
            invokeinterface android.media.update.MediaSession2Provider$BuilderBaseProvider.setPlayer_impl:(Landroid/media/MediaPlayerBase;)V
         1: .line 565
            aload 0 /* this */
            areturn
        end local 1 // android.media.MediaPlayerBase player
        end local 0 // android.media.MediaSession2$BuilderBase this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/media/MediaSession2$BuilderBase<TT;TU;TC;>;
            0    2     1  player  Landroid/media/MediaPlayerBase;
    Signature: (Landroid/media/MediaPlayerBase;)TU;
    MethodParameters:
        Name  Flags
      player  

  U setPlaylistAgent(android.media.MediaPlaylistAgent);
    descriptor: (Landroid/media/MediaPlaylistAgent;)Landroid/media/MediaSession2$BuilderBase;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.MediaSession2$BuilderBase this
        start local 1 // android.media.MediaPlaylistAgent playlistAgent
         0: .line 580
            aload 0 /* this */
            getfield android.media.MediaSession2$BuilderBase.mProvider:Landroid/media/update/MediaSession2Provider$BuilderBaseProvider;
            aload 1 /* playlistAgent */
            invokeinterface android.media.update.MediaSession2Provider$BuilderBaseProvider.setPlaylistAgent_impl:(Landroid/media/MediaPlaylistAgent;)V
         1: .line 581
            aload 0 /* this */
            areturn
        end local 1 // android.media.MediaPlaylistAgent playlistAgent
        end local 0 // android.media.MediaSession2$BuilderBase this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Landroid/media/MediaSession2$BuilderBase<TT;TU;TC;>;
            0    2     1  playlistAgent  Landroid/media/MediaPlaylistAgent;
    Signature: (Landroid/media/MediaPlaylistAgent;)TU;
    MethodParameters:
               Name  Flags
      playlistAgent  

  U setVolumeProvider(android.media.VolumeProvider2);
    descriptor: (Landroid/media/VolumeProvider2;)Landroid/media/MediaSession2$BuilderBase;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.MediaSession2$BuilderBase this
        start local 1 // android.media.VolumeProvider2 volumeProvider
         0: .line 591
            aload 0 /* this */
            getfield android.media.MediaSession2$BuilderBase.mProvider:Landroid/media/update/MediaSession2Provider$BuilderBaseProvider;
            aload 1 /* volumeProvider */
            invokeinterface android.media.update.MediaSession2Provider$BuilderBaseProvider.setVolumeProvider_impl:(Landroid/media/VolumeProvider2;)V
         1: .line 592
            aload 0 /* this */
            areturn
        end local 1 // android.media.VolumeProvider2 volumeProvider
        end local 0 // android.media.MediaSession2$BuilderBase this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Landroid/media/MediaSession2$BuilderBase<TT;TU;TC;>;
            0    2     1  volumeProvider  Landroid/media/VolumeProvider2;
    Signature: (Landroid/media/VolumeProvider2;)TU;
    MethodParameters:
                Name  Flags
      volumeProvider  

  U setSessionActivity(android.app.PendingIntent);
    descriptor: (Landroid/app/PendingIntent;)Landroid/media/MediaSession2$BuilderBase;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.MediaSession2$BuilderBase this
        start local 1 // android.app.PendingIntent pi
         0: .line 603
            aload 0 /* this */
            getfield android.media.MediaSession2$BuilderBase.mProvider:Landroid/media/update/MediaSession2Provider$BuilderBaseProvider;
            aload 1 /* pi */
            invokeinterface android.media.update.MediaSession2Provider$BuilderBaseProvider.setSessionActivity_impl:(Landroid/app/PendingIntent;)V
         1: .line 604
            aload 0 /* this */
            areturn
        end local 1 // android.app.PendingIntent pi
        end local 0 // android.media.MediaSession2$BuilderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/MediaSession2$BuilderBase<TT;TU;TC;>;
            0    2     1    pi  Landroid/app/PendingIntent;
    Signature: (Landroid/app/PendingIntent;)TU;
    MethodParameters:
      Name  Flags
      pi    

  U setId(java.lang.String);
    descriptor: (Ljava/lang/String;)Landroid/media/MediaSession2$BuilderBase;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.MediaSession2$BuilderBase this
        start local 1 // java.lang.String id
         0: .line 618
            aload 0 /* this */
            getfield android.media.MediaSession2$BuilderBase.mProvider:Landroid/media/update/MediaSession2Provider$BuilderBaseProvider;
            aload 1 /* id */
            invokeinterface android.media.update.MediaSession2Provider$BuilderBaseProvider.setId_impl:(Ljava/lang/String;)V
         1: .line 619
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String id
        end local 0 // android.media.MediaSession2$BuilderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/MediaSession2$BuilderBase<TT;TU;TC;>;
            0    2     1    id  Ljava/lang/String;
    Signature: (Ljava/lang/String;)TU;
    MethodParameters:
      Name  Flags
      id    

  U setSessionCallback(java.util.concurrent.Executor, );
    descriptor: (Ljava/util/concurrent/Executor;Landroid/media/MediaSession2$SessionCallback;)Landroid/media/MediaSession2$BuilderBase;
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.media.MediaSession2$BuilderBase this
        start local 1 // java.util.concurrent.Executor executor
        start local 2 // android.media.MediaSession2$SessionCallback callback
         0: .line 631
            aload 0 /* this */
            getfield android.media.MediaSession2$BuilderBase.mProvider:Landroid/media/update/MediaSession2Provider$BuilderBaseProvider;
            aload 1 /* executor */
            aload 2 /* callback */
            invokeinterface android.media.update.MediaSession2Provider$BuilderBaseProvider.setSessionCallback_impl:(Ljava/util/concurrent/Executor;Landroid/media/MediaSession2$SessionCallback;)V
         1: .line 632
            aload 0 /* this */
            areturn
        end local 2 // android.media.MediaSession2$SessionCallback callback
        end local 1 // java.util.concurrent.Executor executor
        end local 0 // android.media.MediaSession2$BuilderBase this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/media/MediaSession2$BuilderBase<TT;TU;TC;>;
            0    2     1  executor  Ljava/util/concurrent/Executor;
            0    2     2  callback  TC;
    Signature: (Ljava/util/concurrent/Executor;TC;)TU;
    MethodParameters:
          Name  Flags
      executor  
      callback  

  T build();
    descriptor: ()Landroid/media/MediaSession2;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaSession2$BuilderBase this
         0: .line 643
            aload 0 /* this */
            getfield android.media.MediaSession2$BuilderBase.mProvider:Landroid/media/update/MediaSession2Provider$BuilderBaseProvider;
            invokeinterface android.media.update.MediaSession2Provider$BuilderBaseProvider.build_impl:()Landroid/media/MediaSession2;
            areturn
        end local 0 // android.media.MediaSession2$BuilderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaSession2$BuilderBase<TT;TU;TC;>;
    Signature: ()TT;
}
Signature: <T:Landroid/media/MediaSession2;U:Landroid/media/MediaSession2$BuilderBase<TT;TU;TC;>;C:Landroid/media/MediaSession2$SessionCallback;>Ljava/lang/Object;
SourceFile: "MediaSession2.java"
NestHost: android.media.MediaSession2
InnerClasses:
  abstract BuilderBase = android.media.MediaSession2$BuilderBase of android.media.MediaSession2
  public abstract SessionCallback = android.media.MediaSession2$SessionCallback of android.media.MediaSession2
  public abstract BuilderBaseProvider = android.media.update.MediaSession2Provider$BuilderBaseProvider of android.media.update.MediaSession2Provider