class android.hardware.location.GeofenceHardwareImpl$2 extends android.os.Handler
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: android.hardware.location.GeofenceHardwareImpl$2
super_class: android.os.Handler
{
final android.hardware.location.GeofenceHardwareImpl this$0;
descriptor: Landroid/hardware/location/GeofenceHardwareImpl;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(android.hardware.location.GeofenceHardwareImpl);
descriptor: (Landroid/hardware/location/GeofenceHardwareImpl;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // android.hardware.location.GeofenceHardwareImpl$2 this
0: .line 704
aload 0 /* this */
aload 1
putfield android.hardware.location.GeofenceHardwareImpl$2.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
aload 0 /* this */
invokespecial android.os.Handler.<init>:()V
return
end local 0 // android.hardware.location.GeofenceHardwareImpl$2 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/hardware/location/GeofenceHardwareImpl$2;
MethodParameters:
Name Flags
this$0 final
public void handleMessage(android.os.Message);
descriptor: (Landroid/os/Message;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=2
start local 0 // android.hardware.location.GeofenceHardwareImpl$2 this
start local 1 // android.os.Message msg
0: .line 711
aload 1 /* msg */
getfield android.os.Message.what:I
tableswitch { // 1 - 4
1: 1
2: 14
3: 22
4: 28
default: 33
}
1: .line 713
StackMap locals:
StackMap stack:
aload 1 /* msg */
getfield android.os.Message.obj:Ljava/lang/Object;
checkcast android.hardware.location.GeofenceHardwareMonitorEvent
astore 5 /* event */
start local 5 // android.hardware.location.GeofenceHardwareMonitorEvent event
2: .line 714
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$2.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
getfield android.hardware.location.GeofenceHardwareImpl.mCallbacks:[Ljava/util/ArrayList;
aload 5 /* event */
invokevirtual android.hardware.location.GeofenceHardwareMonitorEvent.getMonitoringType:()I
aaload
astore 3 /* callbackList */
start local 3 // java.util.ArrayList callbackList
3: .line 715
aload 3 /* callbackList */
ifnull 12
4: .line 716
getstatic android.hardware.location.GeofenceHardwareImpl.DEBUG:Z
ifeq 5
ldc "GeofenceHardwareImpl"
new java.lang.StringBuilder
dup
ldc "MonitoringSystemChangeCallback: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5 /* event */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
5: .line 718
StackMap locals: android.hardware.location.GeofenceHardwareImpl$2 android.os.Message top java.util.ArrayList top android.hardware.location.GeofenceHardwareMonitorEvent
StackMap stack:
aload 3 /* callbackList */
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 7
goto 11
StackMap locals: android.hardware.location.GeofenceHardwareImpl$2 android.os.Message top java.util.ArrayList top android.hardware.location.GeofenceHardwareMonitorEvent top java.util.Iterator
StackMap stack:
6: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.hardware.location.IGeofenceHardwareMonitorCallback
astore 6 /* c */
start local 6 // android.hardware.location.IGeofenceHardwareMonitorCallback c
7: .line 720
aload 6 /* c */
aload 5 /* event */
invokeinterface android.hardware.location.IGeofenceHardwareMonitorCallback.onMonitoringSystemChange:(Landroid/hardware/location/GeofenceHardwareMonitorEvent;)V
8: .line 721
goto 11
StackMap locals: android.hardware.location.GeofenceHardwareImpl$2 android.os.Message top java.util.ArrayList top android.hardware.location.GeofenceHardwareMonitorEvent android.hardware.location.IGeofenceHardwareMonitorCallback java.util.Iterator
StackMap stack: android.os.RemoteException
9: astore 8 /* e */
start local 8 // android.os.RemoteException e
10: .line 722
ldc "GeofenceHardwareImpl"
ldc "Error reporting onMonitoringSystemChange."
aload 8 /* e */
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 8 // android.os.RemoteException e
end local 6 // android.hardware.location.IGeofenceHardwareMonitorCallback c
11: .line 718
StackMap locals: android.hardware.location.GeofenceHardwareImpl$2 android.os.Message top java.util.ArrayList top android.hardware.location.GeofenceHardwareMonitorEvent top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
12: .line 726
StackMap locals: android.hardware.location.GeofenceHardwareImpl$2 android.os.Message top java.util.ArrayList top android.hardware.location.GeofenceHardwareMonitorEvent
StackMap stack:
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$2.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
invokevirtual android.hardware.location.GeofenceHardwareImpl.releaseWakeLock:()V
13: .line 727
goto 33
end local 5 // android.hardware.location.GeofenceHardwareMonitorEvent event
end local 3 // java.util.ArrayList callbackList
14: .line 729
StackMap locals: android.hardware.location.GeofenceHardwareImpl$2 android.os.Message
StackMap stack:
aload 1 /* msg */
getfield android.os.Message.arg1:I
istore 2 /* monitoringType */
start local 2 // int monitoringType
15: .line 730
aload 1 /* msg */
getfield android.os.Message.obj:Ljava/lang/Object;
checkcast android.hardware.location.IGeofenceHardwareMonitorCallback
astore 4 /* callback */
start local 4 // android.hardware.location.IGeofenceHardwareMonitorCallback callback
16: .line 731
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$2.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
getfield android.hardware.location.GeofenceHardwareImpl.mCallbacks:[Ljava/util/ArrayList;
iload 2 /* monitoringType */
aaload
astore 3 /* callbackList */
start local 3 // java.util.ArrayList callbackList
17: .line 732
aload 3 /* callbackList */
ifnonnull 20
18: .line 733
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3 /* callbackList */
19: .line 734
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$2.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
getfield android.hardware.location.GeofenceHardwareImpl.mCallbacks:[Ljava/util/ArrayList;
iload 2 /* monitoringType */
aload 3 /* callbackList */
aastore
20: .line 736
StackMap locals: int java.util.ArrayList android.hardware.location.IGeofenceHardwareMonitorCallback
StackMap stack:
aload 3 /* callbackList */
aload 4 /* callback */
invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
ifne 33
aload 3 /* callbackList */
aload 4 /* callback */
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
21: .line 737
goto 33
end local 4 // android.hardware.location.IGeofenceHardwareMonitorCallback callback
end local 3 // java.util.ArrayList callbackList
end local 2 // int monitoringType
22: .line 739
StackMap locals:
StackMap stack:
aload 1 /* msg */
getfield android.os.Message.arg1:I
istore 2 /* monitoringType */
start local 2 // int monitoringType
23: .line 740
aload 1 /* msg */
getfield android.os.Message.obj:Ljava/lang/Object;
checkcast android.hardware.location.IGeofenceHardwareMonitorCallback
astore 4 /* callback */
start local 4 // android.hardware.location.IGeofenceHardwareMonitorCallback callback
24: .line 741
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$2.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
getfield android.hardware.location.GeofenceHardwareImpl.mCallbacks:[Ljava/util/ArrayList;
iload 2 /* monitoringType */
aaload
astore 3 /* callbackList */
start local 3 // java.util.ArrayList callbackList
25: .line 742
aload 3 /* callbackList */
ifnull 33
26: .line 743
aload 3 /* callbackList */
aload 4 /* callback */
invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
pop
27: .line 745
goto 33
end local 4 // android.hardware.location.IGeofenceHardwareMonitorCallback callback
end local 3 // java.util.ArrayList callbackList
end local 2 // int monitoringType
28: .line 747
StackMap locals:
StackMap stack:
aload 1 /* msg */
getfield android.os.Message.obj:Ljava/lang/Object;
checkcast android.hardware.location.IGeofenceHardwareMonitorCallback
astore 4 /* callback */
start local 4 // android.hardware.location.IGeofenceHardwareMonitorCallback callback
29: .line 748
getstatic android.hardware.location.GeofenceHardwareImpl.DEBUG:Z
ifeq 30
ldc "GeofenceHardwareImpl"
new java.lang.StringBuilder
dup
ldc "Monitor callback reaped:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4 /* callback */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
30: .line 749
StackMap locals: android.hardware.location.GeofenceHardwareImpl$2 android.os.Message top top android.hardware.location.IGeofenceHardwareMonitorCallback
StackMap stack:
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$2.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
getfield android.hardware.location.GeofenceHardwareImpl.mCallbacks:[Ljava/util/ArrayList;
aload 1 /* msg */
getfield android.os.Message.arg1:I
aaload
astore 3 /* callbackList */
start local 3 // java.util.ArrayList callbackList
31: .line 750
aload 3 /* callbackList */
ifnull 33
aload 3 /* callbackList */
aload 4 /* callback */
invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
ifeq 33
32: .line 751
aload 3 /* callbackList */
aload 4 /* callback */
invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
pop
end local 4 // android.hardware.location.IGeofenceHardwareMonitorCallback callback
end local 3 // java.util.ArrayList callbackList
33: .line 754
StackMap locals: android.hardware.location.GeofenceHardwareImpl$2 android.os.Message
StackMap stack:
return
end local 1 // android.os.Message msg
end local 0 // android.hardware.location.GeofenceHardwareImpl$2 this
LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Landroid/hardware/location/GeofenceHardwareImpl$2;
0 34 1 msg Landroid/os/Message;
15 22 2 monitoringType I
23 28 2 monitoringType I
3 14 3 callbackList Ljava/util/ArrayList<Landroid/hardware/location/IGeofenceHardwareMonitorCallback;>;
17 22 3 callbackList Ljava/util/ArrayList<Landroid/hardware/location/IGeofenceHardwareMonitorCallback;>;
25 28 3 callbackList Ljava/util/ArrayList<Landroid/hardware/location/IGeofenceHardwareMonitorCallback;>;
31 33 3 callbackList Ljava/util/ArrayList<Landroid/hardware/location/IGeofenceHardwareMonitorCallback;>;
16 22 4 callback Landroid/hardware/location/IGeofenceHardwareMonitorCallback;
24 28 4 callback Landroid/hardware/location/IGeofenceHardwareMonitorCallback;
29 33 4 callback Landroid/hardware/location/IGeofenceHardwareMonitorCallback;
2 14 5 event Landroid/hardware/location/GeofenceHardwareMonitorEvent;
7 11 6 c Landroid/hardware/location/IGeofenceHardwareMonitorCallback;
10 11 8 e Landroid/os/RemoteException;
Exception table:
from to target type
7 8 9 Class android.os.RemoteException
MethodParameters:
Name Flags
msg
}
SourceFile: "GeofenceHardwareImpl.java"
EnclosingMethod: android.hardware.location.GeofenceHardwareImpl
NestHost: android.hardware.location.GeofenceHardwareImpl
InnerClasses:
android.hardware.location.GeofenceHardwareImpl$2