public final class android.media.session.MediaController
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: android.media.session.MediaController
super_class: java.lang.Object
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "MediaController"
private static final int MSG_EVENT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int MSG_UPDATE_PLAYBACK_STATE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int MSG_UPDATE_METADATA;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int MSG_UPDATE_VOLUME;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int MSG_UPDATE_QUEUE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private static final int MSG_UPDATE_QUEUE_TITLE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 6
private static final int MSG_UPDATE_EXTRAS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 7
private static final int MSG_DESTROYED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private final android.media.session.ISessionController mSessionBinder;
descriptor: Landroid/media/session/ISessionController;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.media.session.MediaSession$Token mToken;
descriptor: Landroid/media/session/MediaSession$Token;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.content.Context mContext;
descriptor: Landroid/content/Context;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.media.session.MediaController$CallbackStub mCbStub;
descriptor: Landroid/media/session/MediaController$CallbackStub;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.ArrayList<android.media.session.MediaController$MessageHandler> mCallbacks;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Landroid/media/session/MediaController$MessageHandler;>;
private final java.lang.Object mLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean mCbRegistered;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.String mPackageName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String mTag;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private final android.media.session.MediaController$TransportControls mTransportControls;
descriptor: Landroid/media/session/MediaController$TransportControls;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(android.content.Context, android.media.session.ISessionController);
descriptor: (Landroid/content/Context;Landroid/media/session/ISessionController;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new android.media.session.MediaController$CallbackStub
dup
aload 0
invokespecial android.media.session.MediaController$CallbackStub.<init>:(Landroid/media/session/MediaController;)V
putfield android.media.session.MediaController.mCbStub:Landroid/media/session/MediaController$CallbackStub;
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield android.media.session.MediaController.mCallbacks:Ljava/util/ArrayList;
3: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield android.media.session.MediaController.mLock:Ljava/lang/Object;
4: aload 0
iconst_0
putfield android.media.session.MediaController.mCbRegistered:Z
5: aload 2
ifnonnull 7
6: new java.lang.IllegalArgumentException
dup
ldc "Session token cannot be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: android.media.session.MediaController android.content.Context android.media.session.ISessionController
StackMap stack:
aload 1
ifnonnull 9
8: new java.lang.IllegalArgumentException
dup
ldc "Context cannot be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield android.media.session.MediaController.mSessionBinder:Landroid/media/session/ISessionController;
10: aload 0
new android.media.session.MediaController$TransportControls
dup
aload 0
invokespecial android.media.session.MediaController$TransportControls.<init>:(Landroid/media/session/MediaController;)V
putfield android.media.session.MediaController.mTransportControls:Landroid/media/session/MediaController$TransportControls;
11: aload 0
new android.media.session.MediaSession$Token
dup
aload 2
invokespecial android.media.session.MediaSession$Token.<init>:(Landroid/media/session/ISessionController;)V
putfield android.media.session.MediaController.mToken:Landroid/media/session/MediaSession$Token;
12: aload 0
aload 1
putfield android.media.session.MediaController.mContext:Landroid/content/Context;
13: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/media/session/MediaController;
0 14 1 context Landroid/content/Context;
0 14 2 sessionBinder Landroid/media/session/ISessionController;
MethodParameters:
Name Flags
context
sessionBinder
public void <init>(android.content.Context, android.media.session.MediaSession$Token);
descriptor: (Landroid/content/Context;Landroid/media/session/MediaSession$Token;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual android.media.session.MediaSession$Token.getBinder:()Landroid/media/session/ISessionController;
invokespecial android.media.session.MediaController.<init>:(Landroid/content/Context;Landroid/media/session/ISessionController;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/session/MediaController;
0 2 1 context Landroid/content/Context;
0 2 2 token Landroid/media/session/MediaSession$Token;
MethodParameters:
Name Flags
context
token
public android.media.session.MediaController$TransportControls getTransportControls();
descriptor: ()Landroid/media/session/MediaController$TransportControls;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.session.MediaController.mTransportControls:Landroid/media/session/MediaController$TransportControls;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/session/MediaController;
public boolean dispatchMediaButtonEvent(android.view.KeyEvent);
descriptor: (Landroid/view/KeyEvent;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
aload 1
invokevirtual android.media.session.MediaController.dispatchMediaButtonEventInternal:(ZLandroid/view/KeyEvent;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/session/MediaController;
0 1 1 keyEvent Landroid/view/KeyEvent;
MethodParameters:
Name Flags
keyEvent
public boolean dispatchMediaButtonEventAsSystemService(android.view.KeyEvent);
descriptor: (Landroid/view/KeyEvent;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
aload 1
invokevirtual android.media.session.MediaController.dispatchMediaButtonEventInternal:(ZLandroid/view/KeyEvent;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/session/MediaController;
0 1 1 keyEvent Landroid/view/KeyEvent;
MethodParameters:
Name Flags
keyEvent
private boolean dispatchMediaButtonEventInternal(boolean, android.view.KeyEvent);
descriptor: (ZLandroid/view/KeyEvent;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "KeyEvent may not be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual android.view.KeyEvent.getKeyCode:()I
invokestatic android.view.KeyEvent.isMediaKey:(I)Z
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield android.media.session.MediaController.mSessionBinder:Landroid/media/session/ISessionController;
aload 0
getfield android.media.session.MediaController.mContext:Landroid/content/Context;
invokevirtual android.content.Context.getPackageName:()Ljava/lang/String;
aload 0
getfield android.media.session.MediaController.mCbStub:Landroid/media/session/MediaController$CallbackStub;
5: iload 1
aload 2
6: invokeinterface android.media.session.ISessionController.sendMediaButton:(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;ZLandroid/view/KeyEvent;)Z
7: ireturn
8: StackMap locals:
StackMap stack: android.os.RemoteException
pop
9: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Landroid/media/session/MediaController;
0 10 1 asSystemService Z
0 10 2 keyEvent Landroid/view/KeyEvent;
Exception table:
from to target type
4 7 8 Class android.os.RemoteException
MethodParameters:
Name Flags
asSystemService
keyEvent
public void dispatchVolumeButtonEventAsSystemService(android.view.KeyEvent);
descriptor: (Landroid/view/KeyEvent;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual android.view.KeyEvent.getAction:()I
tableswitch { // 0 - 1
0: 1
1: 14
default: 18
}
1: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 2: aload 1
invokevirtual android.view.KeyEvent.getKeyCode:()I
lookupswitch { // 3
24: 3
25: 5
164: 7
default: 8
}
3: StackMap locals: int
StackMap stack:
iconst_1
istore 2
4: goto 8
5: StackMap locals:
StackMap stack:
iconst_m1
istore 2
6: goto 8
7: StackMap locals:
StackMap stack:
bipush 101
istore 2
8: StackMap locals:
StackMap stack:
aload 0
getfield android.media.session.MediaController.mSessionBinder:Landroid/media/session/ISessionController;
aload 0
getfield android.media.session.MediaController.mContext:Landroid/content/Context;
invokevirtual android.content.Context.getPackageName:()Ljava/lang/String;
aload 0
getfield android.media.session.MediaController.mCbStub:Landroid/media/session/MediaController$CallbackStub;
iconst_1
iload 2
9: iconst_1
10: invokeinterface android.media.session.ISessionController.adjustVolume:(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;ZII)V
11: goto 14
StackMap locals:
StackMap stack: android.os.RemoteException
12: astore 3
start local 3 13: ldc "MediaController"
ldc "Error calling adjustVolumeBy"
aload 3
invokestatic android.util.Log.wtf:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 3 end local 2 14: StackMap locals:
StackMap stack:
aload 0
getfield android.media.session.MediaController.mSessionBinder:Landroid/media/session/ISessionController;
aload 0
getfield android.media.session.MediaController.mContext:Landroid/content/Context;
invokevirtual android.content.Context.getPackageName:()Ljava/lang/String;
aload 0
getfield android.media.session.MediaController.mCbStub:Landroid/media/session/MediaController$CallbackStub;
iconst_1
iconst_0
sipush 4116
invokeinterface android.media.session.ISessionController.adjustVolume:(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;ZII)V
15: goto 18
StackMap locals:
StackMap stack: android.os.RemoteException
16: astore 2
start local 2 17: ldc "MediaController"
ldc "Error calling adjustVolumeBy"
aload 2
invokestatic android.util.Log.wtf:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 2 18: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Landroid/media/session/MediaController;
0 19 1 keyEvent Landroid/view/KeyEvent;
2 14 2 direction I
13 14 3 e Landroid/os/RemoteException;
17 18 2 e Landroid/os/RemoteException;
Exception table:
from to target type
8 11 12 Class android.os.RemoteException
14 15 16 Class android.os.RemoteException
MethodParameters:
Name Flags
keyEvent
public android.media.session.PlaybackState getPlaybackState();
descriptor: ()Landroid/media/session/PlaybackState;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield android.media.session.MediaController.mSessionBinder:Landroid/media/session/ISessionController;
invokeinterface android.media.session.ISessionController.getPlaybackState:()Landroid/media/session/PlaybackState;
1: areturn
2: StackMap locals:
StackMap stack: android.os.RemoteException
astore 1
start local 1 3: ldc "MediaController"
ldc "Error calling getPlaybackState."
aload 1
invokestatic android.util.Log.wtf:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
4: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/media/session/MediaController;
3 5 1 e Landroid/os/RemoteException;
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
public android.media.MediaMetadata getMetadata();
descriptor: ()Landroid/media/MediaMetadata;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield android.media.session.MediaController.mSessionBinder:Landroid/media/session/ISessionController;
invokeinterface android.media.session.ISessionController.getMetadata:()Landroid/media/MediaMetadata;
1: areturn
2: StackMap locals:
StackMap stack: android.os.RemoteException
astore 1
start local 1 3: ldc "MediaController"
ldc "Error calling getMetadata."
aload 1
invokestatic android.util.Log.wtf:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
4: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/media/session/MediaController;
3 5 1 e Landroid/os/RemoteException;
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
public java.util.List<android.media.session.MediaSession$QueueItem> getQueue();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield android.media.session.MediaController.mSessionBinder:Landroid/media/session/ISessionController;
invokeinterface android.media.session.ISessionController.getQueue:()Landroid/content/pm/ParceledListSlice;
astore 1
start local 1 1: aload 1
ifnull 6
2: aload 1
invokevirtual android.content.pm.ParceledListSlice.getList:()Ljava/util/List;
3: areturn
end local 1 4: StackMap locals:
StackMap stack: android.os.RemoteException
astore 1
start local 1 5: ldc "MediaController"
ldc "Error calling getQueue."
aload 1
invokestatic android.util.Log.wtf:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 1 6: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/media/session/MediaController;
1 4 1 queue Landroid/content/pm/ParceledListSlice;
5 6 1 e Landroid/os/RemoteException;
Exception table:
from to target type
0 3 4 Class android.os.RemoteException
Signature: ()Ljava/util/List<Landroid/media/session/MediaSession$QueueItem;>;
public java.lang.CharSequence getQueueTitle();
descriptor: ()Ljava/lang/CharSequence;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield android.media.session.MediaController.mSessionBinder:Landroid/media/session/ISessionController;
invokeinterface android.media.session.ISessionController.getQueueTitle:()Ljava/lang/CharSequence;
1: areturn
2: StackMap locals:
StackMap stack: android.os.RemoteException
astore 1
start local 1 3: ldc "MediaController"
ldc "Error calling getQueueTitle"
aload 1
invokestatic android.util.Log.wtf:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 1 4: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/media/session/MediaController;
3 4 1 e Landroid/os/RemoteException;
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
public android.os.Bundle getExtras();
descriptor: ()Landroid/os/Bundle;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield android.media.session.MediaController.mSessionBinder:Landroid/media/session/ISessionController;
invokeinterface android.media.session.ISessionController.getExtras:()Landroid/os/Bundle;
1: areturn
2: StackMap locals:
StackMap stack: android.os.RemoteException
astore 1
start local 1 3: ldc "MediaController"
ldc "Error calling getExtras"
aload 1
invokestatic android.util.Log.wtf:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 1 4: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/media/session/MediaController;
3 4 1 e Landroid/os/RemoteException;
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
public int getRatingType();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield android.media.session.MediaController.mSessionBinder:Landroid/media/session/ISessionController;
invokeinterface android.media.session.ISessionController.getRatingType:()I
1: ireturn
2: StackMap locals:
StackMap stack: android.os.RemoteException
astore 1
start local 1 3: ldc "MediaController"
ldc "Error calling getRatingType."
aload 1
invokestatic android.util.Log.wtf:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
4: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/media/session/MediaController;
3 5 1 e Landroid/os/RemoteException;
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
public long getFlags();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield android.media.session.MediaController.mSessionBinder:Landroid/media/session/ISessionController;
invokeinterface android.media.session.ISessionController.getFlags:()J
1: lreturn
2: StackMap locals:
StackMap stack: android.os.RemoteException
astore 1
start local 1 3: ldc "MediaController"
ldc "Error calling getFlags."
aload 1
invokestatic android.util.Log.wtf:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 1 4: lconst_0
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/media/session/MediaController;
3 4 1 e Landroid/os/RemoteException;
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
public android.media.session.MediaController$PlaybackInfo getPlaybackInfo();
descriptor: ()Landroid/media/session/MediaController$PlaybackInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: aload 0
getfield android.media.session.MediaController.mSessionBinder:Landroid/media/session/ISessionController;
invokeinterface android.media.session.ISessionController.getVolumeAttributes:()Landroid/media/session/ParcelableVolumeInfo;
astore 1
start local 1 1: new android.media.session.MediaController$PlaybackInfo
dup
aload 1
getfield android.media.session.ParcelableVolumeInfo.volumeType:I
aload 1
getfield android.media.session.ParcelableVolumeInfo.audioAttrs:Landroid/media/AudioAttributes;
aload 1
getfield android.media.session.ParcelableVolumeInfo.controlType:I
2: aload 1
getfield android.media.session.ParcelableVolumeInfo.maxVolume:I
aload 1
getfield android.media.session.ParcelableVolumeInfo.currentVolume:I
3: invokespecial android.media.session.MediaController$PlaybackInfo.<init>:(ILandroid/media/AudioAttributes;III)V
4: areturn
end local 1 5: StackMap locals:
StackMap stack: android.os.RemoteException
astore 1
start local 1 6: ldc "MediaController"
ldc "Error calling getAudioInfo."
aload 1
invokestatic android.util.Log.wtf:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 1 7: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/media/session/MediaController;
1 5 1 result Landroid/media/session/ParcelableVolumeInfo;
6 7 1 e Landroid/os/RemoteException;
Exception table:
from to target type
0 4 5 Class android.os.RemoteException
public android.app.PendingIntent getSessionActivity();
descriptor: ()Landroid/app/PendingIntent;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield android.media.session.MediaController.mSessionBinder:Landroid/media/session/ISessionController;
invokeinterface android.media.session.ISessionController.getLaunchPendingIntent:()Landroid/app/PendingIntent;
1: areturn
2: StackMap locals:
StackMap stack: android.os.RemoteException
astore 1
start local 1 3: ldc "MediaController"
ldc "Error calling getPendingIntent."
aload 1
invokestatic android.util.Log.wtf:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 1 4: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/media/session/MediaController;
3 4 1 e Landroid/os/RemoteException;
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
public android.media.session.MediaSession$Token getSessionToken();
descriptor: ()Landroid/media/session/MediaSession$Token;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.session.MediaController.mToken:Landroid/media/session/MediaSession$Token;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/session/MediaController;
public void setVolumeTo(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.media.session.MediaController.mSessionBinder:Landroid/media/session/ISessionController;
aload 0
getfield android.media.session.MediaController.mContext:Landroid/content/Context;
invokevirtual android.content.Context.getPackageName:()Ljava/lang/String;
aload 0
getfield android.media.session.MediaController.mCbStub:Landroid/media/session/MediaController$CallbackStub;
iload 1
iload 2
invokeinterface android.media.session.ISessionController.setVolumeTo:(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;II)V
1: goto 4
StackMap locals:
StackMap stack: android.os.RemoteException
2: astore 3
start local 3 3: ldc "MediaController"
ldc "Error calling setVolumeTo."
aload 3
invokestatic android.util.Log.wtf:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 3 4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/media/session/MediaController;
0 5 1 value I
0 5 2 flags I
3 4 3 e Landroid/os/RemoteException;
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
MethodParameters:
Name Flags
value
flags
public void adjustVolume(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.media.session.MediaController.mSessionBinder:Landroid/media/session/ISessionController;
aload 0
getfield android.media.session.MediaController.mContext:Landroid/content/Context;
invokevirtual android.content.Context.getPackageName:()Ljava/lang/String;
aload 0
getfield android.media.session.MediaController.mCbStub:Landroid/media/session/MediaController$CallbackStub;
iconst_0
iload 1
1: iload 2
2: invokeinterface android.media.session.ISessionController.adjustVolume:(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;ZII)V
3: goto 6
StackMap locals:
StackMap stack: android.os.RemoteException
4: astore 3
start local 3 5: ldc "MediaController"
ldc "Error calling adjustVolumeBy."
aload 3
invokestatic android.util.Log.wtf:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 3 6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/media/session/MediaController;
0 7 1 direction I
0 7 2 flags I
5 6 3 e Landroid/os/RemoteException;
Exception table:
from to target type
0 3 4 Class android.os.RemoteException
MethodParameters:
Name Flags
direction
flags
public void registerCallback(android.media.session.MediaController$Callback);
descriptor: (Landroid/media/session/MediaController$Callback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual android.media.session.MediaController.registerCallback:(Landroid/media/session/MediaController$Callback;Landroid/os/Handler;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/session/MediaController;
0 2 1 callback Landroid/media/session/MediaController$Callback;
MethodParameters:
Name Flags
callback
public void registerCallback(android.media.session.MediaController$Callback, android.os.Handler);
descriptor: (Landroid/media/session/MediaController$Callback;Landroid/os/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "callback must not be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 2
ifnonnull 4
3: new android.os.Handler
dup
invokespecial android.os.Handler.<init>:()V
astore 2
4: StackMap locals:
StackMap stack:
aload 0
getfield android.media.session.MediaController.mLock:Ljava/lang/Object;
dup
astore 3
monitorenter
5: aload 0
aload 1
aload 2
invokevirtual android.media.session.MediaController.addCallbackLocked:(Landroid/media/session/MediaController$Callback;Landroid/os/Handler;)V
6: aload 3
monitorexit
7: goto 10
StackMap locals: android.media.session.MediaController android.media.session.MediaController$Callback android.os.Handler java.lang.Object
StackMap stack: java.lang.Throwable
8: aload 3
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/media/session/MediaController;
0 11 1 callback Landroid/media/session/MediaController$Callback;
0 11 2 handler Landroid/os/Handler;
Exception table:
from to target type
5 7 8 any
8 9 8 any
MethodParameters:
Name Flags
callback
handler
public void unregisterCallback(android.media.session.MediaController$Callback);
descriptor: (Landroid/media/session/MediaController$Callback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "callback must not be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield android.media.session.MediaController.mLock:Ljava/lang/Object;
dup
astore 2
monitorenter
3: aload 0
aload 1
invokevirtual android.media.session.MediaController.removeCallbackLocked:(Landroid/media/session/MediaController$Callback;)Z
pop
4: aload 2
monitorexit
5: goto 8
StackMap locals: android.media.session.MediaController android.media.session.MediaController$Callback java.lang.Object
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/media/session/MediaController;
0 9 1 callback Landroid/media/session/MediaController$Callback;
Exception table:
from to target type
3 5 6 any
6 7 6 any
MethodParameters:
Name Flags
callback
public void sendCommand(java.lang.String, android.os.Bundle, android.os.ResultReceiver);
descriptor: (Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifeq 2
1: new java.lang.IllegalArgumentException
dup
ldc "command cannot be null or empty"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield android.media.session.MediaController.mSessionBinder:Landroid/media/session/ISessionController;
aload 0
getfield android.media.session.MediaController.mContext:Landroid/content/Context;
invokevirtual android.content.Context.getPackageName:()Ljava/lang/String;
aload 0
getfield android.media.session.MediaController.mCbStub:Landroid/media/session/MediaController$CallbackStub;
aload 1
aload 2
aload 3
invokeinterface android.media.session.ISessionController.sendCommand:(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V
3: goto 6
StackMap locals:
StackMap stack: android.os.RemoteException
4: astore 4
start local 4 5: ldc "MediaController"
ldc "Dead object in sendCommand."
aload 4
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 4 6: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/media/session/MediaController;
0 7 1 command Ljava/lang/String;
0 7 2 args Landroid/os/Bundle;
0 7 3 cb Landroid/os/ResultReceiver;
5 6 4 e Landroid/os/RemoteException;
Exception table:
from to target type
2 3 4 Class android.os.RemoteException
MethodParameters:
Name Flags
command
args
cb
public java.lang.String getPackageName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield android.media.session.MediaController.mPackageName:Ljava/lang/String;
ifnonnull 5
1: aload 0
aload 0
getfield android.media.session.MediaController.mSessionBinder:Landroid/media/session/ISessionController;
invokeinterface android.media.session.ISessionController.getPackageName:()Ljava/lang/String;
putfield android.media.session.MediaController.mPackageName:Ljava/lang/String;
2: goto 5
StackMap locals:
StackMap stack: android.os.RemoteException
3: astore 1
start local 1 4: ldc "MediaController"
ldc "Dead object in getPackageName."
aload 1
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 1 5: StackMap locals:
StackMap stack:
aload 0
getfield android.media.session.MediaController.mPackageName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/media/session/MediaController;
4 5 1 e Landroid/os/RemoteException;
Exception table:
from to target type
1 2 3 Class android.os.RemoteException
public java.lang.String getTag();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield android.media.session.MediaController.mTag:Ljava/lang/String;
ifnonnull 5
1: aload 0
aload 0
getfield android.media.session.MediaController.mSessionBinder:Landroid/media/session/ISessionController;
invokeinterface android.media.session.ISessionController.getTag:()Ljava/lang/String;
putfield android.media.session.MediaController.mTag:Ljava/lang/String;
2: goto 5
StackMap locals:
StackMap stack: android.os.RemoteException
3: astore 1
start local 1 4: ldc "MediaController"
ldc "Dead object in getTag."
aload 1
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 1 5: StackMap locals:
StackMap stack:
aload 0
getfield android.media.session.MediaController.mTag:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/media/session/MediaController;
4 5 1 e Landroid/os/RemoteException;
Exception table:
from to target type
1 2 3 Class android.os.RemoteException
android.media.session.ISessionController getSessionBinder();
descriptor: ()Landroid/media/session/ISessionController;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.session.MediaController.mSessionBinder:Landroid/media/session/ISessionController;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/session/MediaController;
public boolean controlsSameSession(android.media.session.MediaController);
descriptor: (Landroid/media/session/MediaController;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
iconst_0
ireturn
1: StackMap locals:
StackMap stack:
aload 0
getfield android.media.session.MediaController.mSessionBinder:Landroid/media/session/ISessionController;
invokeinterface android.media.session.ISessionController.asBinder:()Landroid/os/IBinder;
aload 1
invokevirtual android.media.session.MediaController.getSessionBinder:()Landroid/media/session/ISessionController;
invokeinterface android.media.session.ISessionController.asBinder:()Landroid/os/IBinder;
if_acmpne 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/media/session/MediaController;
0 3 1 other Landroid/media/session/MediaController;
MethodParameters:
Name Flags
other
private void addCallbackLocked(android.media.session.MediaController$Callback, android.os.Handler);
descriptor: (Landroid/media/session/MediaController$Callback;Landroid/os/Handler;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual android.media.session.MediaController.getHandlerForCallbackLocked:(Landroid/media/session/MediaController$Callback;)Landroid/media/session/MediaController$MessageHandler;
ifnull 3
1: ldc "MediaController"
ldc "Callback is already added, ignoring"
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
2: return
3: StackMap locals:
StackMap stack:
new android.media.session.MediaController$MessageHandler
dup
aload 2
invokevirtual android.os.Handler.getLooper:()Landroid/os/Looper;
aload 1
invokespecial android.media.session.MediaController$MessageHandler.<init>:(Landroid/os/Looper;Landroid/media/session/MediaController$Callback;)V
astore 3
start local 3 4: aload 0
getfield android.media.session.MediaController.mCallbacks:Ljava/util/ArrayList;
aload 3
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
5: aload 3
iconst_1
putfield android.media.session.MediaController$MessageHandler.mRegistered:Z
6: aload 0
getfield android.media.session.MediaController.mCbRegistered:Z
ifne 12
7: aload 0
getfield android.media.session.MediaController.mSessionBinder:Landroid/media/session/ISessionController;
aload 0
getfield android.media.session.MediaController.mContext:Landroid/content/Context;
invokevirtual android.content.Context.getPackageName:()Ljava/lang/String;
aload 0
getfield android.media.session.MediaController.mCbStub:Landroid/media/session/MediaController$CallbackStub;
invokeinterface android.media.session.ISessionController.registerCallbackListener:(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
8: aload 0
iconst_1
putfield android.media.session.MediaController.mCbRegistered:Z
9: goto 12
StackMap locals: android.media.session.MediaController android.media.session.MediaController$Callback android.os.Handler android.media.session.MediaController$MessageHandler
StackMap stack: android.os.RemoteException
10: astore 4
start local 4 11: ldc "MediaController"
ldc "Dead object in registerCallback"
aload 4
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 4 12: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Landroid/media/session/MediaController;
0 13 1 cb Landroid/media/session/MediaController$Callback;
0 13 2 handler Landroid/os/Handler;
4 13 3 holder Landroid/media/session/MediaController$MessageHandler;
11 12 4 e Landroid/os/RemoteException;
Exception table:
from to target type
7 9 10 Class android.os.RemoteException
MethodParameters:
Name Flags
cb
handler
private boolean removeCallbackLocked(android.media.session.MediaController$Callback);
descriptor: (Landroid/media/session/MediaController$Callback;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
getfield android.media.session.MediaController.mCallbacks:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
istore 3
start local 3 2: goto 9
3: StackMap locals: int int
StackMap stack:
aload 0
getfield android.media.session.MediaController.mCallbacks:Ljava/util/ArrayList;
iload 3
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast android.media.session.MediaController$MessageHandler
astore 4
start local 4 4: aload 1
aload 4
getfield android.media.session.MediaController$MessageHandler.mCallback:Landroid/media/session/MediaController$Callback;
if_acmpne 8
5: aload 0
getfield android.media.session.MediaController.mCallbacks:Ljava/util/ArrayList;
iload 3
invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
pop
6: iconst_1
istore 2
7: aload 4
iconst_0
putfield android.media.session.MediaController$MessageHandler.mRegistered:Z
end local 4 8: StackMap locals:
StackMap stack:
iinc 3 -1
StackMap locals:
StackMap stack:
9: iload 3
ifge 3
end local 3 10: aload 0
getfield android.media.session.MediaController.mCbRegistered:Z
ifeq 16
aload 0
getfield android.media.session.MediaController.mCallbacks:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
ifne 16
11: aload 0
getfield android.media.session.MediaController.mSessionBinder:Landroid/media/session/ISessionController;
aload 0
getfield android.media.session.MediaController.mCbStub:Landroid/media/session/MediaController$CallbackStub;
invokeinterface android.media.session.ISessionController.unregisterCallbackListener:(Landroid/media/session/ISessionControllerCallback;)V
12: goto 15
StackMap locals: android.media.session.MediaController android.media.session.MediaController$Callback int
StackMap stack: android.os.RemoteException
13: pop
14: ldc "MediaController"
ldc "Dead object in removeCallbackLocked"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
15: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield android.media.session.MediaController.mCbRegistered:Z
16: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Landroid/media/session/MediaController;
0 17 1 cb Landroid/media/session/MediaController$Callback;
1 17 2 success Z
2 10 3 i I
4 8 4 handler Landroid/media/session/MediaController$MessageHandler;
Exception table:
from to target type
11 12 13 Class android.os.RemoteException
MethodParameters:
Name Flags
cb
private android.media.session.MediaController$MessageHandler getHandlerForCallbackLocked(android.media.session.MediaController$Callback);
descriptor: (Landroid/media/session/MediaController$Callback;)Landroid/media/session/MediaController$MessageHandler;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "Callback cannot be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield android.media.session.MediaController.mCallbacks:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
istore 2
start local 2 3: goto 8
4: StackMap locals: int
StackMap stack:
aload 0
getfield android.media.session.MediaController.mCallbacks:Ljava/util/ArrayList;
iload 2
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast android.media.session.MediaController$MessageHandler
astore 3
start local 3 5: aload 1
aload 3
getfield android.media.session.MediaController$MessageHandler.mCallback:Landroid/media/session/MediaController$Callback;
if_acmpne 7
6: aload 3
areturn
end local 3 7: StackMap locals:
StackMap stack:
iinc 2 -1
StackMap locals:
StackMap stack:
8: iload 2
ifge 4
end local 2 9: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Landroid/media/session/MediaController;
0 10 1 cb Landroid/media/session/MediaController$Callback;
3 9 2 i I
5 7 3 handler Landroid/media/session/MediaController$MessageHandler;
MethodParameters:
Name Flags
cb
private final void postMessage(int, java.lang.Object, android.os.Bundle);
descriptor: (ILjava/lang/Object;Landroid/os/Bundle;)V
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield android.media.session.MediaController.mLock:Ljava/lang/Object;
dup
astore 4
monitorenter
1: aload 0
getfield android.media.session.MediaController.mCallbacks:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
istore 5
start local 5 2: goto 5
3: StackMap locals: java.lang.Object int
StackMap stack:
aload 0
getfield android.media.session.MediaController.mCallbacks:Ljava/util/ArrayList;
iload 5
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast android.media.session.MediaController$MessageHandler
iload 1
aload 2
aload 3
invokevirtual android.media.session.MediaController$MessageHandler.post:(ILjava/lang/Object;Landroid/os/Bundle;)V
4: iinc 5 -1
StackMap locals:
StackMap stack:
5: iload 5
ifge 3
end local 5 6: aload 4
monitorexit
7: goto 10
StackMap locals: android.media.session.MediaController int java.lang.Object android.os.Bundle java.lang.Object
StackMap stack: java.lang.Throwable
8: aload 4
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/media/session/MediaController;
0 11 1 what I
0 11 2 obj Ljava/lang/Object;
0 11 3 data Landroid/os/Bundle;
2 6 5 i I
Exception table:
from to target type
1 7 8 any
8 9 8 any
MethodParameters:
Name Flags
what
obj
data
}
SourceFile: "MediaController.java"
NestMembers:
android.media.session.MediaController$Callback android.media.session.MediaController$CallbackStub android.media.session.MediaController$MessageHandler android.media.session.MediaController$PlaybackInfo android.media.session.MediaController$TransportControls
InnerClasses:
public abstract Callback = android.media.session.MediaController$Callback of android.media.session.MediaController
private final CallbackStub = android.media.session.MediaController$CallbackStub of android.media.session.MediaController
private final MessageHandler = android.media.session.MediaController$MessageHandler of android.media.session.MediaController
public final PlaybackInfo = android.media.session.MediaController$PlaybackInfo of android.media.session.MediaController
public final TransportControls = android.media.session.MediaController$TransportControls of android.media.session.MediaController
public final QueueItem = android.media.session.MediaSession$QueueItem of android.media.session.MediaSession
public final Token = android.media.session.MediaSession$Token of android.media.session.MediaSession