class android.media.AudioRecord$NativeEventHandler extends android.os.Handler
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: android.media.AudioRecord$NativeEventHandler
super_class: android.os.Handler
{
private final android.media.AudioRecord mAudioRecord;
descriptor: Landroid/media/AudioRecord;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final android.media.AudioRecord this$0;
descriptor: Landroid/media/AudioRecord;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(android.media.AudioRecord, android.media.AudioRecord, android.os.Looper);
descriptor: (Landroid/media/AudioRecord;Landroid/media/AudioRecord;Landroid/os/Looper;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 // android.media.AudioRecord$NativeEventHandler this
start local 2 // android.media.AudioRecord recorder
start local 3 // android.os.Looper looper
0: .line 1689
aload 0 /* this */
aload 1
putfield android.media.AudioRecord$NativeEventHandler.this$0:Landroid/media/AudioRecord;
1: .line 1690
aload 0 /* this */
aload 3 /* looper */
invokespecial android.os.Handler.<init>:(Landroid/os/Looper;)V
2: .line 1691
aload 0 /* this */
aload 2 /* recorder */
putfield android.media.AudioRecord$NativeEventHandler.mAudioRecord:Landroid/media/AudioRecord;
3: .line 1692
return
end local 3 // android.os.Looper looper
end local 2 // android.media.AudioRecord recorder
end local 0 // android.media.AudioRecord$NativeEventHandler this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/media/AudioRecord$NativeEventHandler;
0 4 2 recorder Landroid/media/AudioRecord;
0 4 3 looper Landroid/os/Looper;
MethodParameters:
Name Flags
this$0 final
recorder
looper
public void handleMessage(android.os.Message);
descriptor: (Landroid/os/Message;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 // android.media.AudioRecord$NativeEventHandler this
start local 1 // android.os.Message msg
0: .line 1696
aconst_null
astore 2 /* listener */
start local 2 // android.media.AudioRecord$OnRecordPositionUpdateListener listener
1: .line 1697
aload 0 /* this */
getfield android.media.AudioRecord$NativeEventHandler.this$0:Landroid/media/AudioRecord;
getfield android.media.AudioRecord.mPositionListenerLock:Ljava/lang/Object;
dup
astore 3
monitorenter
2: .line 1698
aload 0 /* this */
getfield android.media.AudioRecord$NativeEventHandler.mAudioRecord:Landroid/media/AudioRecord;
getfield android.media.AudioRecord.mPositionListener:Landroid/media/AudioRecord$OnRecordPositionUpdateListener;
astore 2 /* listener */
3: .line 1697
aload 3
monitorexit
4: goto 7
StackMap locals: android.media.AudioRecord$NativeEventHandler android.os.Message android.media.AudioRecord$OnRecordPositionUpdateListener java.lang.Object
StackMap stack: java.lang.Throwable
5: aload 3
monitorexit
6: athrow
7: .line 1701
StackMap locals:
StackMap stack:
aload 1 /* msg */
getfield android.os.Message.what:I
tableswitch { // 2 - 3
2: 8
3: 11
default: 14
}
8: .line 1703
StackMap locals:
StackMap stack:
aload 2 /* listener */
ifnull 15
9: .line 1704
aload 2 /* listener */
aload 0 /* this */
getfield android.media.AudioRecord$NativeEventHandler.mAudioRecord:Landroid/media/AudioRecord;
invokeinterface android.media.AudioRecord$OnRecordPositionUpdateListener.onMarkerReached:(Landroid/media/AudioRecord;)V
10: .line 1706
goto 15
11: .line 1708
StackMap locals:
StackMap stack:
aload 2 /* listener */
ifnull 15
12: .line 1709
aload 2 /* listener */
aload 0 /* this */
getfield android.media.AudioRecord$NativeEventHandler.mAudioRecord:Landroid/media/AudioRecord;
invokeinterface android.media.AudioRecord$OnRecordPositionUpdateListener.onPeriodicNotification:(Landroid/media/AudioRecord;)V
13: .line 1711
goto 15
14: .line 1713
StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Unknown native event type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1 /* msg */
getfield android.os.Message.what:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.media.AudioRecord.loge:(Ljava/lang/String;)V
15: .line 1716
StackMap locals:
StackMap stack:
return
end local 2 // android.media.AudioRecord$OnRecordPositionUpdateListener listener
end local 1 // android.os.Message msg
end local 0 // android.media.AudioRecord$NativeEventHandler this
LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Landroid/media/AudioRecord$NativeEventHandler;
0 16 1 msg Landroid/os/Message;
1 16 2 listener Landroid/media/AudioRecord$OnRecordPositionUpdateListener;
Exception table:
from to target type
2 4 5 any
5 6 5 any
MethodParameters:
Name Flags
msg
}
SourceFile: "AudioRecord.java"
NestHost: android.media.AudioRecord
InnerClasses:
private NativeEventHandler = android.media.AudioRecord$NativeEventHandler of android.media.AudioRecord
public abstract OnRecordPositionUpdateListener = android.media.AudioRecord$OnRecordPositionUpdateListener of android.media.AudioRecord