public abstract class android.media.PlayerBase
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: android.media.PlayerBase
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: "PlayerBase"
private static final boolean DEBUG_APP_OPS;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static android.media.IAudioService sService;
descriptor: Landroid/media/IAudioService;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
protected android.media.AudioAttributes mAttributes;
descriptor: Landroid/media/AudioAttributes;
flags: (0x0004) ACC_PROTECTED
protected float mLeftVolume;
descriptor: F
flags: (0x0004) ACC_PROTECTED
protected float mRightVolume;
descriptor: F
flags: (0x0004) ACC_PROTECTED
protected float mAuxEffectSendLevel;
descriptor: F
flags: (0x0004) ACC_PROTECTED
private final java.lang.Object mLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.android.internal.app.IAppOpsService mAppOps;
descriptor: Lcom/android/internal/app/IAppOpsService;
flags: (0x0002) ACC_PRIVATE
private com.android.internal.app.IAppOpsCallback mAppOpsCallback;
descriptor: Lcom/android/internal/app/IAppOpsCallback;
flags: (0x0002) ACC_PRIVATE
private boolean mHasAppOpsPlayAudio;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "mLock")
private final int mImplType;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int mPlayerIId;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mState;
descriptor: I
flags: (0x0002) ACC_PRIVATE
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "mLock")
private int mStartDelayMs;
descriptor: I
flags: (0x0002) ACC_PRIVATE
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "mLock")
private float mPanMultiplierL;
descriptor: F
flags: (0x0002) ACC_PRIVATE
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "mLock")
private float mPanMultiplierR;
descriptor: F
flags: (0x0002) ACC_PRIVATE
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "mLock")
void <init>(android.media.AudioAttributes, int);
descriptor: (Landroid/media/AudioAttributes;I)V
flags: (0x0000)
Code:
stack=3, 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
fconst_1
putfield android.media.PlayerBase.mLeftVolume:F
2: aload 0
fconst_1
putfield android.media.PlayerBase.mRightVolume:F
3: aload 0
fconst_0
putfield android.media.PlayerBase.mAuxEffectSendLevel:F
4: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield android.media.PlayerBase.mLock:Ljava/lang/Object;
5: aload 0
iconst_1
putfield android.media.PlayerBase.mHasAppOpsPlayAudio:Z
6: aload 0
iconst_0
putfield android.media.PlayerBase.mPlayerIId:I
7: aload 0
iconst_0
putfield android.media.PlayerBase.mStartDelayMs:I
8: aload 0
fconst_1
putfield android.media.PlayerBase.mPanMultiplierL:F
9: aload 0
fconst_1
putfield android.media.PlayerBase.mPanMultiplierR:F
10: aload 1
ifnonnull 12
11: new java.lang.IllegalArgumentException
dup
ldc "Illegal null AudioAttributes"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: android.media.PlayerBase android.media.AudioAttributes int
StackMap stack:
aload 0
aload 1
putfield android.media.PlayerBase.mAttributes:Landroid/media/AudioAttributes;
13: aload 0
iload 2
putfield android.media.PlayerBase.mImplType:I
14: aload 0
iconst_1
putfield android.media.PlayerBase.mState:I
15: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Landroid/media/PlayerBase;
0 16 1 attr Landroid/media/AudioAttributes;
0 16 2 implType I
MethodParameters:
Name Flags
attr
implType
protected void baseRegisterPlayer();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tThe constructor PlayerBase.PlayerIdCard(int, AudioAttributes, IPlayer) refers to the missing type IPlayer\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/PlayerBase;
void baseUpdateAudioAttributes(android.media.AudioAttributes);
descriptor: (Landroid/media/AudioAttributes;)V
flags: (0x0000)
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 "Illegal null AudioAttributes"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
invokestatic android.media.PlayerBase.getService:()Landroid/media/IAudioService;
aload 0
getfield android.media.PlayerBase.mPlayerIId:I
aload 1
invokeinterface android.media.IAudioService.playerAttributes:(ILandroid/media/AudioAttributes;)V
3: goto 6
StackMap locals:
StackMap stack: android.os.RemoteException
4: astore 2
start local 2 5: ldc "PlayerBase"
ldc "Error talking to audio service, STARTED state will not be tracked"
aload 2
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 2 6: StackMap locals:
StackMap stack:
aload 0
getfield android.media.PlayerBase.mLock:Ljava/lang/Object;
dup
astore 2
monitorenter
7: aload 0
getfield android.media.PlayerBase.mAttributes:Landroid/media/AudioAttributes;
aload 1
if_acmpeq 8
iconst_1
goto 9
StackMap locals: java.lang.Object
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: istore 3
start local 3 10: aload 0
aload 1
putfield android.media.PlayerBase.mAttributes:Landroid/media/AudioAttributes;
11: aload 0
iload 3
invokevirtual android.media.PlayerBase.updateAppOpsPlayAudio_sync:(Z)V
end local 3 12: aload 2
monitorexit
13: goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
14: aload 2
monitorexit
15: athrow
16: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Landroid/media/PlayerBase;
0 17 1 attr Landroid/media/AudioAttributes;
5 6 2 e Landroid/os/RemoteException;
10 12 3 attributesChanged Z
Exception table:
from to target type
2 3 4 Class android.os.RemoteException
7 13 14 any
14 15 14 any
MethodParameters:
Name Flags
attr
private void updateState(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.PlayerBase.mLock:Ljava/lang/Object;
dup
astore 3
monitorenter
1: aload 0
iload 1
putfield android.media.PlayerBase.mState:I
2: aload 0
getfield android.media.PlayerBase.mPlayerIId:I
istore 2
start local 2 3: aload 3
monitorexit
4: goto 7
end local 2 StackMap locals: android.media.PlayerBase int top java.lang.Object
StackMap stack: java.lang.Throwable
5: aload 3
monitorexit
6: athrow
start local 2 7: StackMap locals: android.media.PlayerBase int int
StackMap stack:
invokestatic android.media.PlayerBase.getService:()Landroid/media/IAudioService;
iload 2
iload 1
invokeinterface android.media.IAudioService.playerEvent:(II)V
8: goto 14
StackMap locals:
StackMap stack: android.os.RemoteException
9: astore 3
start local 3 10: ldc "PlayerBase"
new java.lang.StringBuilder
dup
ldc "Error talking to audio service, "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: iload 1
invokestatic android.media.AudioPlaybackConfiguration.toLogFriendlyPlayerState:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: ldc " state will not be tracked for piid="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
13: invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 3 14: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Landroid/media/PlayerBase;
0 15 1 state I
3 5 2 piid I
7 15 2 piid I
10 14 3 e Landroid/os/RemoteException;
Exception table:
from to target type
1 4 5 any
5 6 5 any
7 8 9 Class android.os.RemoteException
MethodParameters:
Name Flags
state
void baseStart();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
iconst_2
invokevirtual android.media.PlayerBase.updateState:(I)V
1: aload 0
getfield android.media.PlayerBase.mLock:Ljava/lang/Object;
dup
astore 1
monitorenter
2: aload 0
invokevirtual android.media.PlayerBase.isRestricted_sync:()Z
ifeq 4
3: aload 0
iconst_1
fconst_0
fconst_0
invokevirtual android.media.PlayerBase.playerSetVolume:(ZFF)V
4: StackMap locals: java.lang.Object
StackMap stack:
aload 1
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 1
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/media/PlayerBase;
Exception table:
from to target type
2 5 6 any
6 7 6 any
void baseSetStartDelayMs(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.PlayerBase.mLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
iload 1
iconst_0
invokestatic java.lang.Math.max:(II)I
putfield android.media.PlayerBase.mStartDelayMs:I
2: aload 2
monitorexit
3: goto 6
StackMap locals: android.media.PlayerBase int java.lang.Object
StackMap stack: java.lang.Throwable
4: aload 2
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/media/PlayerBase;
0 7 1 delayMs I
Exception table:
from to target type
1 3 4 any
4 5 4 any
MethodParameters:
Name Flags
delayMs
protected int getStartDelayMs();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield android.media.PlayerBase.mLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield android.media.PlayerBase.mStartDelayMs:I
aload 1
monitorexit
2: ireturn
3: StackMap locals: android.media.PlayerBase java.lang.Object
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/media/PlayerBase;
Exception table:
from to target type
1 2 3 any
3 4 3 any
void basePause();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_3
invokevirtual android.media.PlayerBase.updateState:(I)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/PlayerBase;
void baseStop();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_4
invokevirtual android.media.PlayerBase.updateState:(I)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/PlayerBase;
void baseSetPan(float);
descriptor: (F)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: ldc -1.0
fload 1
invokestatic java.lang.Math.max:(FF)F
fconst_1
invokestatic java.lang.Math.min:(FF)F
fstore 2
start local 2 1: aload 0
getfield android.media.PlayerBase.mLock:Ljava/lang/Object;
dup
astore 3
monitorenter
2: fload 2
fconst_0
fcmpl
iflt 6
3: aload 0
fconst_1
fload 2
fsub
putfield android.media.PlayerBase.mPanMultiplierL:F
4: aload 0
fconst_1
putfield android.media.PlayerBase.mPanMultiplierR:F
5: goto 8
6: StackMap locals: float java.lang.Object
StackMap stack:
aload 0
fconst_1
putfield android.media.PlayerBase.mPanMultiplierL:F
7: aload 0
fconst_1
fload 2
fadd
putfield android.media.PlayerBase.mPanMultiplierR:F
8: StackMap locals:
StackMap stack:
aload 3
monitorexit
9: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
10: aload 3
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield android.media.PlayerBase.mLeftVolume:F
aload 0
getfield android.media.PlayerBase.mRightVolume:F
invokevirtual android.media.PlayerBase.baseSetVolume:(FF)V
13: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/media/PlayerBase;
0 14 1 pan F
1 14 2 p F
Exception table:
from to target type
2 9 10 any
10 11 10 any
MethodParameters:
Name Flags
pan
void baseSetVolume(float, float);
descriptor: (FF)V
flags: (0x0000)
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.media.PlayerBase.mLock:Ljava/lang/Object;
dup
astore 4
monitorenter
1: aload 0
fload 1
putfield android.media.PlayerBase.mLeftVolume:F
2: aload 0
fload 2
putfield android.media.PlayerBase.mRightVolume:F
3: aload 0
invokevirtual android.media.PlayerBase.isRestricted_sync:()Z
istore 3
start local 3 4: aload 4
monitorexit
5: goto 8
end local 3 StackMap locals: android.media.PlayerBase float float top java.lang.Object
StackMap stack: java.lang.Throwable
6: aload 4
monitorexit
7: athrow
start local 3 8: StackMap locals: android.media.PlayerBase float float int
StackMap stack:
aload 0
iload 3
9: fload 1
aload 0
getfield android.media.PlayerBase.mPanMultiplierL:F
fmul
fload 2
aload 0
getfield android.media.PlayerBase.mPanMultiplierR:F
fmul
10: invokevirtual android.media.PlayerBase.playerSetVolume:(ZFF)V
11: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/media/PlayerBase;
0 12 1 leftVolume F
0 12 2 rightVolume F
4 6 3 isRestricted Z
8 12 3 isRestricted Z
Exception table:
from to target type
1 5 6 any
6 7 6 any
MethodParameters:
Name Flags
leftVolume
rightVolume
int baseSetAuxEffectSendLevel(float);
descriptor: (F)I
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.PlayerBase.mLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
fload 1
putfield android.media.PlayerBase.mAuxEffectSendLevel:F
2: aload 0
invokevirtual android.media.PlayerBase.isRestricted_sync:()Z
ifeq 5
3: aload 2
monitorexit
4: iconst_0
ireturn
5: StackMap locals: java.lang.Object
StackMap stack:
aload 2
monitorexit
6: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
7: aload 2
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
aload 0
iconst_0
fload 1
invokevirtual android.media.PlayerBase.playerSetAuxEffectSendLevel:(ZF)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Landroid/media/PlayerBase;
0 10 1 level F
Exception table:
from to target type
1 4 7 any
5 6 7 any
7 8 7 any
MethodParameters:
Name Flags
level
void baseRelease();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
getfield android.media.PlayerBase.mLock:Ljava/lang/Object;
dup
astore 2
monitorenter
2: aload 0
getfield android.media.PlayerBase.mState:I
ifeq 5
3: iconst_1
istore 1
4: aload 0
iconst_0
putfield android.media.PlayerBase.mState:I
5: StackMap locals: int java.lang.Object
StackMap stack:
aload 2
monitorexit
6: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
7: aload 2
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
iload 1
ifeq 14
10: invokestatic android.media.PlayerBase.getService:()Landroid/media/IAudioService;
aload 0
getfield android.media.PlayerBase.mPlayerIId:I
invokeinterface android.media.IAudioService.releasePlayer:(I)V
11: goto 14
StackMap locals:
StackMap stack: android.os.RemoteException
12: astore 2
start local 2 13: ldc "PlayerBase"
ldc "Error talking to audio service, the player will still be tracked"
aload 2
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 2 14: StackMap locals:
StackMap stack:
aload 0
getfield android.media.PlayerBase.mAppOps:Lcom/android/internal/app/IAppOpsService;
ifnull 18
15: aload 0
getfield android.media.PlayerBase.mAppOps:Lcom/android/internal/app/IAppOpsService;
aload 0
getfield android.media.PlayerBase.mAppOpsCallback:Lcom/android/internal/app/IAppOpsCallback;
invokeinterface com.android.internal.app.IAppOpsService.stopWatchingMode:(Lcom/android/internal/app/IAppOpsCallback;)V
16: goto 18
StackMap locals:
StackMap stack: java.lang.Exception
17: pop
18: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Landroid/media/PlayerBase;
1 19 1 releasePlayer Z
13 14 2 e Landroid/os/RemoteException;
Exception table:
from to target type
2 6 7 any
7 8 7 any
9 11 12 Class android.os.RemoteException
14 16 17 Class java.lang.Exception
private void updateAppOpsPlayAudio();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield android.media.PlayerBase.mLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
iconst_0
invokevirtual android.media.PlayerBase.updateAppOpsPlayAudio_sync:(Z)V
2: aload 1
monitorexit
3: goto 6
StackMap locals: android.media.PlayerBase java.lang.Object
StackMap stack: java.lang.Throwable
4: aload 1
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/media/PlayerBase;
Exception table:
from to target type
1 3 4 any
4 5 4 any
void updateAppOpsPlayAudio_sync(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.PlayerBase.mHasAppOpsPlayAudio:Z
istore 2
start local 2 1: iconst_1
istore 3
start local 3 2: aload 0
getfield android.media.PlayerBase.mAppOps:Lcom/android/internal/app/IAppOpsService;
ifnull 7
3: aload 0
getfield android.media.PlayerBase.mAppOps:Lcom/android/internal/app/IAppOpsService;
bipush 28
4: aload 0
getfield android.media.PlayerBase.mAttributes:Landroid/media/AudioAttributes;
invokevirtual android.media.AudioAttributes.getUsage:()I
5: invokestatic android.os.Process.myUid:()I
invokestatic android.app.ActivityThread.currentPackageName:()Ljava/lang/String;
6: invokeinterface com.android.internal.app.IAppOpsService.checkAudioOperation:(IIILjava/lang/String;)I
istore 3
7: StackMap locals: int int
StackMap stack:
aload 0
iload 3
ifne 8
iconst_1
goto 9
StackMap locals:
StackMap stack: android.media.PlayerBase
8: iconst_0
StackMap locals: android.media.PlayerBase int int int
StackMap stack: android.media.PlayerBase int
9: putfield android.media.PlayerBase.mHasAppOpsPlayAudio:Z
end local 3 10: goto 13
StackMap locals: android.media.PlayerBase int int
StackMap stack: android.os.RemoteException
11: pop
12: aload 0
iconst_0
putfield android.media.PlayerBase.mHasAppOpsPlayAudio:Z
13: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield android.media.PlayerBase.mHasAppOpsPlayAudio:Z
if_icmpne 15
14: iload 1
ifeq 26
15: StackMap locals:
StackMap stack:
invokestatic android.media.PlayerBase.getService:()Landroid/media/IAudioService;
aload 0
getfield android.media.PlayerBase.mPlayerIId:I
aload 0
getfield android.media.PlayerBase.mHasAppOpsPlayAudio:Z
invokeinterface android.media.IAudioService.playerHasOpPlayAudio:(IZ)V
16: aload 0
invokevirtual android.media.PlayerBase.isRestricted_sync:()Z
ifne 22
17: aload 0
iconst_0
18: aload 0
getfield android.media.PlayerBase.mLeftVolume:F
aload 0
getfield android.media.PlayerBase.mPanMultiplierL:F
fmul
aload 0
getfield android.media.PlayerBase.mRightVolume:F
aload 0
getfield android.media.PlayerBase.mPanMultiplierR:F
fmul
19: invokevirtual android.media.PlayerBase.playerSetVolume:(ZFF)V
20: aload 0
iconst_0
aload 0
getfield android.media.PlayerBase.mAuxEffectSendLevel:F
invokevirtual android.media.PlayerBase.playerSetAuxEffectSendLevel:(ZF)I
pop
21: goto 26
22: StackMap locals:
StackMap stack:
aload 0
iconst_1
fconst_0
fconst_0
invokevirtual android.media.PlayerBase.playerSetVolume:(ZFF)V
23: aload 0
iconst_1
fconst_0
invokevirtual android.media.PlayerBase.playerSetAuxEffectSendLevel:(ZF)I
pop
24: goto 26
StackMap locals:
StackMap stack: java.lang.Exception
25: pop
26: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Landroid/media/PlayerBase;
0 27 1 attributesChanged Z
1 27 2 oldHasAppOpsPlayAudio Z
2 10 3 mode I
Exception table:
from to target type
1 10 11 Class android.os.RemoteException
13 24 25 Class java.lang.Exception
MethodParameters:
Name Flags
attributesChanged
boolean isRestricted_sync();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield android.media.PlayerBase.mHasAppOpsPlayAudio:Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield android.media.PlayerBase.mAttributes:Landroid/media/AudioAttributes;
invokevirtual android.media.AudioAttributes.getAllFlags:()I
bipush 64
iand
ifeq 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield android.media.PlayerBase.mAttributes:Landroid/media/AudioAttributes;
invokevirtual android.media.AudioAttributes.getAllFlags:()I
iconst_1
iand
ifeq 15
5: aload 0
getfield android.media.PlayerBase.mAttributes:Landroid/media/AudioAttributes;
invokevirtual android.media.AudioAttributes.getUsage:()I
bipush 13
if_icmpne 15
6: iconst_0
istore 1
start local 1 7: invokestatic android.media.PlayerBase.getService:()Landroid/media/IAudioService;
invokeinterface android.media.IAudioService.isCameraSoundForced:()Z
istore 1
8: goto 13
StackMap locals: android.media.PlayerBase int
StackMap stack: android.os.RemoteException
9: pop
10: ldc "PlayerBase"
ldc "Cannot access AudioService in isRestricted_sync()"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
goto 13
11: StackMap locals:
StackMap stack: java.lang.NullPointerException
pop
12: ldc "PlayerBase"
ldc "Null AudioService in isRestricted_sync()"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
13: StackMap locals:
StackMap stack:
iload 1
ifeq 15
14: iconst_0
ireturn
end local 1 15: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Landroid/media/PlayerBase;
7 15 1 cameraSoundForced Z
Exception table:
from to target type
7 8 9 Class android.os.RemoteException
7 8 11 Class java.lang.NullPointerException
private static android.media.IAudioService getService();
descriptor: ()Landroid/media/IAudioService;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=0
0: getstatic android.media.PlayerBase.sService:Landroid/media/IAudioService;
ifnull 2
1: getstatic android.media.PlayerBase.sService:Landroid/media/IAudioService;
areturn
2: StackMap locals:
StackMap stack:
ldc "audio"
invokestatic android.os.ServiceManager.getService:(Ljava/lang/String;)Landroid/os/IBinder;
astore 0
start local 0 3: aload 0
invokestatic android.media.IAudioService$Stub.asInterface:(Landroid/os/IBinder;)Landroid/media/IAudioService;
putstatic android.media.PlayerBase.sService:Landroid/media/IAudioService;
4: getstatic android.media.PlayerBase.sService:Landroid/media/IAudioService;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
3 5 0 b Landroid/os/IBinder;
public void setStartDelayMs(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual android.media.PlayerBase.baseSetStartDelayMs:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/PlayerBase;
0 2 1 delayMs I
MethodParameters:
Name Flags
delayMs
abstract void playerSetVolume(boolean, float, float);
descriptor: (ZFF)V
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
muting
leftVolume
rightVolume
abstract int playerApplyVolumeShaper(android.media.VolumeShaper$Configuration, android.media.VolumeShaper$Operation);
descriptor: (Landroid/media/VolumeShaper$Configuration;Landroid/media/VolumeShaper$Operation;)I
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
configuration
operation
abstract android.media.VolumeShaper$State playerGetVolumeShaperState(int);
descriptor: (I)Landroid/media/VolumeShaper$State;
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
id
abstract int playerSetAuxEffectSendLevel(boolean, float);
descriptor: (ZF)I
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
muting
level
abstract void playerStart();
descriptor: ()V
flags: (0x0400) ACC_ABSTRACT
abstract void playerPause();
descriptor: ()V
flags: (0x0400) ACC_ABSTRACT
abstract void playerStop();
descriptor: ()V
flags: (0x0400) ACC_ABSTRACT
public static void deprecateStreamTypeForPlayback(int, java.lang.String, java.lang.String);
descriptor: (ILjava/lang/String;Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 0
bipush 10
if_icmpne 2
1: new java.lang.IllegalArgumentException
dup
ldc "Use of STREAM_ACCESSIBILITY is reserved for volume control"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
ldc "Use of stream types is deprecated for operations other than volume control"
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
3: aload 1
new java.lang.StringBuilder
dup
ldc "See the documentation of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " for what to use instead with "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc "android.media.AudioAttributes to qualify your playback use case"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 streamType I
0 7 1 className Ljava/lang/String;
0 7 2 opName Ljava/lang/String;
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
streamType
className
opName
}
SourceFile: "PlayerBase.java"
NestMembers:
android.media.PlayerBase$IAppOpsCallbackWrapper android.media.PlayerBase$IPlayerWrapper android.media.PlayerBase$PlayerIdCard android.media.PlayerBase$PlayerIdCard$1
InnerClasses:
public abstract Stub = android.media.IAudioService$Stub of android.media.IAudioService
private IAppOpsCallbackWrapper = android.media.PlayerBase$IAppOpsCallbackWrapper of android.media.PlayerBase
private IPlayerWrapper = android.media.PlayerBase$IPlayerWrapper of android.media.PlayerBase
public PlayerIdCard = android.media.PlayerBase$PlayerIdCard of android.media.PlayerBase
public final Configuration = android.media.VolumeShaper$Configuration of android.media.VolumeShaper
public final Operation = android.media.VolumeShaper$Operation of android.media.VolumeShaper
public final State = android.media.VolumeShaper$State of android.media.VolumeShaper