class android.media.AudioManager$1 extends android.media.IAudioFocusDispatcher$Stub
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: android.media.AudioManager$1
super_class: android.media.IAudioFocusDispatcher$Stub
{
final android.media.AudioManager this$0;
descriptor: Landroid/media/AudioManager;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(android.media.AudioManager);
descriptor: (Landroid/media/AudioManager;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // android.media.AudioManager$1 this
0: .line 2314
aload 0 /* this */
aload 1
putfield android.media.AudioManager$1.this$0:Landroid/media/AudioManager;
aload 0 /* this */
invokespecial android.media.IAudioFocusDispatcher$Stub.<init>:()V
return
end local 0 // android.media.AudioManager$1 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/AudioManager$1;
MethodParameters:
Name Flags
this$0 final
public void dispatchAudioFocusChange(int, java.lang.String);
descriptor: (ILjava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=3
start local 0 // android.media.AudioManager$1 this
start local 1 // int focusChange
start local 2 // java.lang.String id
0: .line 2317
aload 0 /* this */
getfield android.media.AudioManager$1.this$0:Landroid/media/AudioManager;
aload 2 /* id */
invokevirtual android.media.AudioManager.findFocusRequestInfo:(Ljava/lang/String;)Landroid/media/AudioManager$FocusRequestInfo;
astore 3 /* fri */
start local 3 // android.media.AudioManager$FocusRequestInfo fri
1: .line 2318
aload 3 /* fri */
ifnull 14
2: .line 2320
aload 3 /* fri */
getfield android.media.AudioManager$FocusRequestInfo.mRequest:Landroid/media/AudioFocusRequest;
invokevirtual android.media.AudioFocusRequest.getOnAudioFocusChangeListener:()Landroid/media/AudioManager$OnAudioFocusChangeListener;
3: .line 2319
astore 4 /* listener */
start local 4 // android.media.AudioManager$OnAudioFocusChangeListener listener
4: .line 2321
aload 4 /* listener */
ifnull 14
5: .line 2322
aload 3 /* fri */
getfield android.media.AudioManager$FocusRequestInfo.mHandler:Landroid/os/Handler;
ifnonnull 7
6: .line 2323
aload 0 /* this */
getfield android.media.AudioManager$1.this$0:Landroid/media/AudioManager;
getfield android.media.AudioManager.mServiceEventHandlerDelegate:Landroid/media/AudioManager$ServiceEventHandlerDelegate;
invokevirtual android.media.AudioManager$ServiceEventHandlerDelegate.getHandler:()Landroid/os/Handler;
goto 8
StackMap locals: android.media.AudioManager$FocusRequestInfo android.media.AudioManager$OnAudioFocusChangeListener
StackMap stack:
7: aload 3 /* fri */
getfield android.media.AudioManager$FocusRequestInfo.mHandler:Landroid/os/Handler;
8: .line 2322
StackMap locals:
StackMap stack: android.os.Handler
astore 5 /* h */
start local 5 // android.os.Handler h
9: .line 2324
aload 5 /* h */
10: .line 2325
iconst_0
iload 1 /* focusChange */
iconst_0
11: .line 2326
aload 2 /* id */
12: .line 2324
invokevirtual android.os.Handler.obtainMessage:(IIILjava/lang/Object;)Landroid/os/Message;
astore 6 /* m */
start local 6 // android.os.Message m
13: .line 2327
aload 5 /* h */
aload 6 /* m */
invokevirtual android.os.Handler.sendMessage:(Landroid/os/Message;)Z
pop
end local 6 // android.os.Message m
end local 5 // android.os.Handler h
end local 4 // android.media.AudioManager$OnAudioFocusChangeListener listener
14: .line 2330
StackMap locals:
StackMap stack:
return
end local 3 // android.media.AudioManager$FocusRequestInfo fri
end local 2 // java.lang.String id
end local 1 // int focusChange
end local 0 // android.media.AudioManager$1 this
LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Landroid/media/AudioManager$1;
0 15 1 focusChange I
0 15 2 id Ljava/lang/String;
1 15 3 fri Landroid/media/AudioManager$FocusRequestInfo;
4 14 4 listener Landroid/media/AudioManager$OnAudioFocusChangeListener;
9 14 5 h Landroid/os/Handler;
13 14 6 m Landroid/os/Message;
MethodParameters:
Name Flags
focusChange
id
public void dispatchFocusResultFromExtPolicy(int, java.lang.String);
descriptor: (ILjava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=3
start local 0 // android.media.AudioManager$1 this
start local 1 // int requestResult
start local 2 // java.lang.String clientId
0: .line 2334
aload 0 /* this */
getfield android.media.AudioManager$1.this$0:Landroid/media/AudioManager;
getfield android.media.AudioManager.mFocusRequestsLock:Ljava/lang/Object;
dup
astore 3
monitorenter
1: .line 2337
aload 0 /* this */
getfield android.media.AudioManager$1.this$0:Landroid/media/AudioManager;
getfield android.media.AudioManager.mFocusRequestsAwaitingResult:Ljava/util/HashMap;
aload 2 /* clientId */
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.media.AudioManager$BlockingFocusResultReceiver
2: .line 2336
astore 4 /* focusReceiver */
start local 4 // android.media.AudioManager$BlockingFocusResultReceiver focusReceiver
3: .line 2338
aload 4 /* focusReceiver */
ifnull 6
4: .line 2339
aload 4 /* focusReceiver */
iload 1 /* requestResult */
invokevirtual android.media.AudioManager$BlockingFocusResultReceiver.notifyResult:(I)V
5: .line 2340
goto 7
6: .line 2341
StackMap locals: java.lang.Object android.media.AudioManager$BlockingFocusResultReceiver
StackMap stack:
ldc "AudioManager"
ldc "dispatchFocusResultFromExtPolicy found no result receiver"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
end local 4 // android.media.AudioManager$BlockingFocusResultReceiver focusReceiver
7: .line 2334
StackMap locals:
StackMap stack:
aload 3
monitorexit
8: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
9: aload 3
monitorexit
10: athrow
11: .line 2344
StackMap locals:
StackMap stack:
return
end local 2 // java.lang.String clientId
end local 1 // int requestResult
end local 0 // android.media.AudioManager$1 this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/media/AudioManager$1;
0 12 1 requestResult I
0 12 2 clientId Ljava/lang/String;
3 7 4 focusReceiver Landroid/media/AudioManager$BlockingFocusResultReceiver;
Exception table:
from to target type
1 8 9 any
9 10 9 any
MethodParameters:
Name Flags
requestResult
clientId
}
SourceFile: "AudioManager.java"
EnclosingMethod: android.media.AudioManager
NestHost: android.media.AudioManager
InnerClasses:
android.media.AudioManager$1
private final BlockingFocusResultReceiver = android.media.AudioManager$BlockingFocusResultReceiver of android.media.AudioManager
private FocusRequestInfo = android.media.AudioManager$FocusRequestInfo of android.media.AudioManager
public abstract OnAudioFocusChangeListener = android.media.AudioManager$OnAudioFocusChangeListener of android.media.AudioManager
private ServiceEventHandlerDelegate = android.media.AudioManager$ServiceEventHandlerDelegate of android.media.AudioManager
public abstract Stub = android.media.IAudioFocusDispatcher$Stub of android.media.IAudioFocusDispatcher