class android.media.audiofx.AudioEffect$NativeEventHandler extends android.os.Handler
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: android.media.audiofx.AudioEffect$NativeEventHandler
super_class: android.os.Handler
{
private android.media.audiofx.AudioEffect mAudioEffect;
descriptor: Landroid/media/audiofx/AudioEffect;
flags: (0x0002) ACC_PRIVATE
final android.media.audiofx.AudioEffect this$0;
descriptor: Landroid/media/audiofx/AudioEffect;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(android.media.audiofx.AudioEffect, android.media.audiofx.AudioEffect, android.os.Looper);
descriptor: (Landroid/media/audiofx/AudioEffect;Landroid/media/audiofx/AudioEffect;Landroid/os/Looper;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 // android.media.audiofx.AudioEffect$NativeEventHandler this
start local 2 // android.media.audiofx.AudioEffect ae
start local 3 // android.os.Looper looper
0: .line 1159
aload 0 /* this */
aload 1
putfield android.media.audiofx.AudioEffect$NativeEventHandler.this$0:Landroid/media/audiofx/AudioEffect;
1: .line 1160
aload 0 /* this */
aload 3 /* looper */
invokespecial android.os.Handler.<init>:(Landroid/os/Looper;)V
2: .line 1161
aload 0 /* this */
aload 2 /* ae */
putfield android.media.audiofx.AudioEffect$NativeEventHandler.mAudioEffect:Landroid/media/audiofx/AudioEffect;
3: .line 1162
return
end local 3 // android.os.Looper looper
end local 2 // android.media.audiofx.AudioEffect ae
end local 0 // android.media.audiofx.AudioEffect$NativeEventHandler this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/media/audiofx/AudioEffect$NativeEventHandler;
0 4 2 ae Landroid/media/audiofx/AudioEffect;
0 4 3 looper Landroid/os/Looper;
MethodParameters:
Name Flags
this$0 final
ae
looper
public void handleMessage(android.os.Message);
descriptor: (Landroid/os/Message;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=12, args_size=2
start local 0 // android.media.audiofx.AudioEffect$NativeEventHandler this
start local 1 // android.os.Message msg
0: .line 1166
aload 0 /* this */
getfield android.media.audiofx.AudioEffect$NativeEventHandler.mAudioEffect:Landroid/media/audiofx/AudioEffect;
ifnonnull 2
1: .line 1167
return
2: .line 1169
StackMap locals:
StackMap stack:
aload 1 /* msg */
getfield android.os.Message.what:I
tableswitch { // 0 - 2
0: 16
1: 3
2: 29
default: 50
}
3: .line 1171
StackMap locals:
StackMap stack:
aconst_null
astore 2 /* enableStatusChangeListener */
start local 2 // android.media.audiofx.AudioEffect$OnEnableStatusChangeListener enableStatusChangeListener
4: .line 1172
aload 0 /* this */
getfield android.media.audiofx.AudioEffect$NativeEventHandler.this$0:Landroid/media/audiofx/AudioEffect;
getfield android.media.audiofx.AudioEffect.mListenerLock:Ljava/lang/Object;
dup
astore 3
monitorenter
5: .line 1173
aload 0 /* this */
getfield android.media.audiofx.AudioEffect$NativeEventHandler.mAudioEffect:Landroid/media/audiofx/AudioEffect;
getfield android.media.audiofx.AudioEffect.mEnableStatusChangeListener:Landroid/media/audiofx/AudioEffect$OnEnableStatusChangeListener;
astore 2 /* enableStatusChangeListener */
6: .line 1172
aload 3
monitorexit
7: goto 10
StackMap locals: android.media.audiofx.AudioEffect$NativeEventHandler android.os.Message android.media.audiofx.AudioEffect$OnEnableStatusChangeListener java.lang.Object
StackMap stack: java.lang.Throwable
8: aload 3
monitorexit
9: athrow
10: .line 1175
StackMap locals:
StackMap stack:
aload 2 /* enableStatusChangeListener */
ifnull 51
11: .line 1176
aload 2 /* enableStatusChangeListener */
12: .line 1177
aload 0 /* this */
getfield android.media.audiofx.AudioEffect$NativeEventHandler.mAudioEffect:Landroid/media/audiofx/AudioEffect;
aload 1 /* msg */
getfield android.os.Message.arg1:I
ifeq 13
iconst_1
goto 14
StackMap locals: android.media.audiofx.AudioEffect$NativeEventHandler android.os.Message android.media.audiofx.AudioEffect$OnEnableStatusChangeListener
StackMap stack: android.media.audiofx.AudioEffect$OnEnableStatusChangeListener android.media.audiofx.AudioEffect
13: iconst_0
14: .line 1176
StackMap locals: android.media.audiofx.AudioEffect$NativeEventHandler android.os.Message android.media.audiofx.AudioEffect$OnEnableStatusChangeListener
StackMap stack: android.media.audiofx.AudioEffect$OnEnableStatusChangeListener android.media.audiofx.AudioEffect int
invokeinterface android.media.audiofx.AudioEffect$OnEnableStatusChangeListener.onEnableStatusChange:(Landroid/media/audiofx/AudioEffect;Z)V
15: .line 1179
goto 51
end local 2 // android.media.audiofx.AudioEffect$OnEnableStatusChangeListener enableStatusChangeListener
16: .line 1181
StackMap locals:
StackMap stack:
aconst_null
astore 3 /* controlStatusChangeListener */
start local 3 // android.media.audiofx.AudioEffect$OnControlStatusChangeListener controlStatusChangeListener
17: .line 1182
aload 0 /* this */
getfield android.media.audiofx.AudioEffect$NativeEventHandler.this$0:Landroid/media/audiofx/AudioEffect;
getfield android.media.audiofx.AudioEffect.mListenerLock:Ljava/lang/Object;
dup
astore 4
monitorenter
18: .line 1183
aload 0 /* this */
getfield android.media.audiofx.AudioEffect$NativeEventHandler.mAudioEffect:Landroid/media/audiofx/AudioEffect;
getfield android.media.audiofx.AudioEffect.mControlChangeStatusListener:Landroid/media/audiofx/AudioEffect$OnControlStatusChangeListener;
astore 3 /* controlStatusChangeListener */
19: .line 1182
aload 4
monitorexit
20: goto 23
StackMap locals: android.media.audiofx.AudioEffect$NativeEventHandler android.os.Message top android.media.audiofx.AudioEffect$OnControlStatusChangeListener java.lang.Object
StackMap stack: java.lang.Throwable
21: aload 4
monitorexit
22: athrow
23: .line 1185
StackMap locals:
StackMap stack:
aload 3 /* controlStatusChangeListener */
ifnull 51
24: .line 1186
aload 3 /* controlStatusChangeListener */
25: .line 1187
aload 0 /* this */
getfield android.media.audiofx.AudioEffect$NativeEventHandler.mAudioEffect:Landroid/media/audiofx/AudioEffect;
aload 1 /* msg */
getfield android.os.Message.arg1:I
ifeq 26
iconst_1
goto 27
StackMap locals: android.media.audiofx.AudioEffect$NativeEventHandler android.os.Message top android.media.audiofx.AudioEffect$OnControlStatusChangeListener
StackMap stack: android.media.audiofx.AudioEffect$OnControlStatusChangeListener android.media.audiofx.AudioEffect
26: iconst_0
27: .line 1186
StackMap locals: android.media.audiofx.AudioEffect$NativeEventHandler android.os.Message top android.media.audiofx.AudioEffect$OnControlStatusChangeListener
StackMap stack: android.media.audiofx.AudioEffect$OnControlStatusChangeListener android.media.audiofx.AudioEffect int
invokeinterface android.media.audiofx.AudioEffect$OnControlStatusChangeListener.onControlStatusChange:(Landroid/media/audiofx/AudioEffect;Z)V
28: .line 1189
goto 51
end local 3 // android.media.audiofx.AudioEffect$OnControlStatusChangeListener controlStatusChangeListener
29: .line 1191
StackMap locals: android.media.audiofx.AudioEffect$NativeEventHandler android.os.Message
StackMap stack:
aconst_null
astore 4 /* parameterChangeListener */
start local 4 // android.media.audiofx.AudioEffect$OnParameterChangeListener parameterChangeListener
30: .line 1192
aload 0 /* this */
getfield android.media.audiofx.AudioEffect$NativeEventHandler.this$0:Landroid/media/audiofx/AudioEffect;
getfield android.media.audiofx.AudioEffect.mListenerLock:Ljava/lang/Object;
dup
astore 5
monitorenter
31: .line 1193
aload 0 /* this */
getfield android.media.audiofx.AudioEffect$NativeEventHandler.mAudioEffect:Landroid/media/audiofx/AudioEffect;
getfield android.media.audiofx.AudioEffect.mParameterChangeListener:Landroid/media/audiofx/AudioEffect$OnParameterChangeListener;
astore 4 /* parameterChangeListener */
32: .line 1192
aload 5
monitorexit
33: goto 36
StackMap locals: android.media.audiofx.AudioEffect$NativeEventHandler android.os.Message top top android.media.audiofx.AudioEffect$OnParameterChangeListener java.lang.Object
StackMap stack: java.lang.Throwable
34: aload 5
monitorexit
35: athrow
36: .line 1195
StackMap locals:
StackMap stack:
aload 4 /* parameterChangeListener */
ifnull 51
37: .line 1198
aload 1 /* msg */
getfield android.os.Message.arg1:I
istore 5 /* vOffset */
start local 5 // int vOffset
38: .line 1199
aload 1 /* msg */
getfield android.os.Message.obj:Ljava/lang/Object;
checkcast byte[]
astore 6 /* p */
start local 6 // byte[] p
39: .line 1202
aload 6 /* p */
iconst_0
invokestatic android.media.audiofx.AudioEffect.byteArrayToInt:([BI)I
istore 7 /* status */
start local 7 // int status
40: .line 1203
aload 6 /* p */
iconst_4
invokestatic android.media.audiofx.AudioEffect.byteArrayToInt:([BI)I
istore 8 /* psize */
start local 8 // int psize
41: .line 1204
aload 6 /* p */
bipush 8
invokestatic android.media.audiofx.AudioEffect.byteArrayToInt:([BI)I
istore 9 /* vsize */
start local 9 // int vsize
42: .line 1205
iload 8 /* psize */
newarray 8
astore 10 /* param */
start local 10 // byte[] param
43: .line 1206
iload 9 /* vsize */
newarray 8
astore 11 /* value */
start local 11 // byte[] value
44: .line 1207
aload 6 /* p */
bipush 12
aload 10 /* param */
iconst_0
iload 8 /* psize */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
45: .line 1208
aload 6 /* p */
iload 5 /* vOffset */
aload 11 /* value */
iconst_0
iload 9 /* vsize */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
46: .line 1210
aload 4 /* parameterChangeListener */
aload 0 /* this */
getfield android.media.audiofx.AudioEffect$NativeEventHandler.mAudioEffect:Landroid/media/audiofx/AudioEffect;
47: .line 1211
iload 7 /* status */
aload 10 /* param */
aload 11 /* value */
48: .line 1210
invokeinterface android.media.audiofx.AudioEffect$OnParameterChangeListener.onParameterChange:(Landroid/media/audiofx/AudioEffect;I[B[B)V
end local 11 // byte[] value
end local 10 // byte[] param
end local 9 // int vsize
end local 8 // int psize
end local 7 // int status
end local 6 // byte[] p
end local 5 // int vOffset
49: .line 1213
goto 51
end local 4 // android.media.audiofx.AudioEffect$OnParameterChangeListener parameterChangeListener
50: .line 1216
StackMap locals: android.media.audiofx.AudioEffect$NativeEventHandler android.os.Message
StackMap stack:
ldc "AudioEffect-JAVA"
new java.lang.StringBuilder
dup
ldc "handleMessage() Unknown 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.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
51: .line 1219
StackMap locals:
StackMap stack:
return
end local 1 // android.os.Message msg
end local 0 // android.media.audiofx.AudioEffect$NativeEventHandler this
LocalVariableTable:
Start End Slot Name Signature
0 52 0 this Landroid/media/audiofx/AudioEffect$NativeEventHandler;
0 52 1 msg Landroid/os/Message;
4 16 2 enableStatusChangeListener Landroid/media/audiofx/AudioEffect$OnEnableStatusChangeListener;
17 29 3 controlStatusChangeListener Landroid/media/audiofx/AudioEffect$OnControlStatusChangeListener;
30 50 4 parameterChangeListener Landroid/media/audiofx/AudioEffect$OnParameterChangeListener;
38 49 5 vOffset I
39 49 6 p [B
40 49 7 status I
41 49 8 psize I
42 49 9 vsize I
43 49 10 param [B
44 49 11 value [B
Exception table:
from to target type
5 7 8 any
8 9 8 any
18 20 21 any
21 22 21 any
31 33 34 any
34 35 34 any
MethodParameters:
Name Flags
msg
}
SourceFile: "AudioEffect.java"
NestHost: android.media.audiofx.AudioEffect
InnerClasses:
private NativeEventHandler = android.media.audiofx.AudioEffect$NativeEventHandler of android.media.audiofx.AudioEffect
public abstract OnControlStatusChangeListener = android.media.audiofx.AudioEffect$OnControlStatusChangeListener of android.media.audiofx.AudioEffect
public abstract OnEnableStatusChangeListener = android.media.audiofx.AudioEffect$OnEnableStatusChangeListener of android.media.audiofx.AudioEffect
public abstract OnParameterChangeListener = android.media.audiofx.AudioEffect$OnParameterChangeListener of android.media.audiofx.AudioEffect