class android.hardware.location.GeofenceHardwareImpl$1 extends android.os.Handler
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: android.hardware.location.GeofenceHardwareImpl$1
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$1 this
0: .line 572
aload 0 /* this */
aload 1
putfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
aload 0 /* this */
invokespecial android.os.Handler.<init>:()V
return
end local 0 // android.hardware.location.GeofenceHardwareImpl$1 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/hardware/location/GeofenceHardwareImpl$1;
MethodParameters:
Name Flags
this$0 final
public void handleMessage(android.os.Message);
descriptor: (Landroid/os/Message;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=2
start local 0 // android.hardware.location.GeofenceHardwareImpl$1 this
start local 1 // android.os.Message msg
0: .line 578
aload 1 /* msg */
getfield android.os.Message.what:I
tableswitch { // 1 - 6
1: 81
2: 1
3: 15
4: 55
5: 68
6: 103
default: 119
}
1: .line 580
StackMap locals:
StackMap stack:
aload 1 /* msg */
getfield android.os.Message.arg1:I
istore 2 /* geofenceId */
start local 2 // int geofenceId
2: .line 581
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
dup
astore 4
monitorenter
3: .line 582
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
iload 2 /* geofenceId */
invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
checkcast android.hardware.location.IGeofenceHardwareCallback
astore 3 /* callback */
start local 3 // android.hardware.location.IGeofenceHardwareCallback callback
4: .line 581
aload 4
monitorexit
5: goto 8
end local 3 // android.hardware.location.IGeofenceHardwareCallback callback
StackMap locals: android.hardware.location.GeofenceHardwareImpl$1 android.os.Message int top android.util.SparseArray
StackMap stack: java.lang.Throwable
6: aload 4
monitorexit
7: athrow
start local 3 // android.hardware.location.IGeofenceHardwareCallback callback
8: .line 585
StackMap locals: android.hardware.location.GeofenceHardwareImpl$1 android.os.Message int android.hardware.location.IGeofenceHardwareCallback
StackMap stack:
aload 3 /* callback */
ifnull 13
9: .line 587
aload 3 /* callback */
iload 2 /* geofenceId */
aload 1 /* msg */
getfield android.os.Message.arg2:I
invokeinterface android.hardware.location.IGeofenceHardwareCallback.onGeofenceAdd:(II)V
10: .line 588
goto 13
StackMap locals:
StackMap stack: android.os.RemoteException
11: astore 4 /* e */
start local 4 // android.os.RemoteException e
12: ldc "GeofenceHardwareImpl"
new java.lang.StringBuilder
dup
ldc "Remote Exception:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4 /* e */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.i:(Ljava/lang/String;Ljava/lang/String;)I
pop
end local 4 // android.os.RemoteException e
13: .line 590
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
invokevirtual android.hardware.location.GeofenceHardwareImpl.releaseWakeLock:()V
14: .line 591
goto 119
end local 3 // android.hardware.location.IGeofenceHardwareCallback callback
end local 2 // int geofenceId
15: .line 593
StackMap locals:
StackMap stack:
aload 1 /* msg */
getfield android.os.Message.arg1:I
istore 2 /* geofenceId */
start local 2 // int geofenceId
16: .line 594
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
dup
astore 4
monitorenter
17: .line 595
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
iload 2 /* geofenceId */
invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
checkcast android.hardware.location.IGeofenceHardwareCallback
astore 3 /* callback */
start local 3 // android.hardware.location.IGeofenceHardwareCallback callback
18: .line 594
aload 4
monitorexit
19: goto 22
end local 3 // android.hardware.location.IGeofenceHardwareCallback callback
StackMap locals: android.hardware.location.GeofenceHardwareImpl$1 android.os.Message int top android.util.SparseArray
StackMap stack: java.lang.Throwable
20: aload 4
monitorexit
21: athrow
start local 3 // android.hardware.location.IGeofenceHardwareCallback callback
22: .line 598
StackMap locals: android.hardware.location.GeofenceHardwareImpl$1 android.os.Message int android.hardware.location.IGeofenceHardwareCallback
StackMap stack:
aload 3 /* callback */
ifnull 53
23: .line 600
aload 3 /* callback */
iload 2 /* geofenceId */
aload 1 /* msg */
getfield android.os.Message.arg2:I
invokeinterface android.hardware.location.IGeofenceHardwareCallback.onGeofenceRemove:(II)V
24: .line 601
goto 26
StackMap locals:
StackMap stack: android.os.RemoteException
25: pop
26: .line 602
StackMap locals:
StackMap stack:
aload 3 /* callback */
invokeinterface android.hardware.location.IGeofenceHardwareCallback.asBinder:()Landroid/os/IBinder;
astore 4 /* callbackBinder */
start local 4 // android.os.IBinder callbackBinder
27: .line 603
iconst_0
istore 5 /* callbackInUse */
start local 5 // boolean callbackInUse
28: .line 604
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
dup
astore 6
monitorenter
29: .line 605
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
iload 2 /* geofenceId */
invokevirtual android.util.SparseArray.remove:(I)V
30: .line 608
iconst_0
istore 7 /* i */
start local 7 // int i
31: goto 36
32: .line 609
StackMap locals: android.hardware.location.GeofenceHardwareImpl$1 android.os.Message int android.hardware.location.IGeofenceHardwareCallback android.os.IBinder int android.util.SparseArray int
StackMap stack:
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
iload 7 /* i */
invokevirtual android.util.SparseArray.valueAt:(I)Ljava/lang/Object;
checkcast android.hardware.location.IGeofenceHardwareCallback
invokeinterface android.hardware.location.IGeofenceHardwareCallback.asBinder:()Landroid/os/IBinder;
aload 4 /* callbackBinder */
if_acmpne 35
33: .line 610
iconst_1
istore 5 /* callbackInUse */
34: .line 611
goto 37
35: .line 608
StackMap locals:
StackMap stack:
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
36: iload 7 /* i */
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
invokevirtual android.util.SparseArray.size:()I
if_icmplt 32
end local 7 // int i
37: .line 604
StackMap locals:
StackMap stack:
aload 6
monitorexit
38: goto 41
StackMap locals:
StackMap stack: java.lang.Throwable
39: aload 6
monitorexit
40: athrow
41: .line 617
StackMap locals:
StackMap stack:
iload 5 /* callbackInUse */
ifne 53
42: .line 618
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
getfield android.hardware.location.GeofenceHardwareImpl.mReapers:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 6 /* iterator */
start local 6 // java.util.Iterator iterator
43: .line 619
goto 52
44: .line 620
StackMap locals: java.util.Iterator
StackMap stack:
aload 6 /* iterator */
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.hardware.location.GeofenceHardwareImpl$Reaper
astore 7 /* reaper */
start local 7 // android.hardware.location.GeofenceHardwareImpl$Reaper reaper
45: .line 621
aload 7 /* reaper */
getfield android.hardware.location.GeofenceHardwareImpl$Reaper.mCallback:Landroid/hardware/location/IGeofenceHardwareCallback;
ifnull 52
46: .line 622
aload 7 /* reaper */
getfield android.hardware.location.GeofenceHardwareImpl$Reaper.mCallback:Landroid/hardware/location/IGeofenceHardwareCallback;
invokeinterface android.hardware.location.IGeofenceHardwareCallback.asBinder:()Landroid/os/IBinder;
aload 4 /* callbackBinder */
if_acmpne 52
47: .line 623
aload 6 /* iterator */
invokeinterface java.util.Iterator.remove:()V
48: .line 624
aload 7 /* reaper */
invokevirtual android.hardware.location.GeofenceHardwareImpl$Reaper.unlinkToDeath:()Z
pop
49: .line 625
getstatic android.hardware.location.GeofenceHardwareImpl.DEBUG:Z
ifeq 52
ldc "GeofenceHardwareImpl"
ldc "Removed reaper %s because binder %s is no longer needed."
iconst_2
anewarray java.lang.Object
dup
iconst_0
50: .line 627
aload 7 /* reaper */
aastore
dup
iconst_1
aload 4 /* callbackBinder */
aastore
51: .line 625
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
end local 7 // android.hardware.location.GeofenceHardwareImpl$Reaper reaper
52: .line 619
StackMap locals:
StackMap stack:
aload 6 /* iterator */
invokeinterface java.util.Iterator.hasNext:()Z
ifne 44
end local 6 // java.util.Iterator iterator
end local 5 // boolean callbackInUse
end local 4 // android.os.IBinder callbackBinder
53: .line 632
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
invokevirtual android.hardware.location.GeofenceHardwareImpl.releaseWakeLock:()V
54: .line 633
goto 119
end local 3 // android.hardware.location.IGeofenceHardwareCallback callback
end local 2 // int geofenceId
55: .line 636
StackMap locals:
StackMap stack:
aload 1 /* msg */
getfield android.os.Message.arg1:I
istore 2 /* geofenceId */
start local 2 // int geofenceId
56: .line 637
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
dup
astore 4
monitorenter
57: .line 638
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
iload 2 /* geofenceId */
invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
checkcast android.hardware.location.IGeofenceHardwareCallback
astore 3 /* callback */
start local 3 // android.hardware.location.IGeofenceHardwareCallback callback
58: .line 637
aload 4
monitorexit
59: goto 62
end local 3 // android.hardware.location.IGeofenceHardwareCallback callback
StackMap locals: android.hardware.location.GeofenceHardwareImpl$1 android.os.Message int top android.util.SparseArray
StackMap stack: java.lang.Throwable
60: aload 4
monitorexit
61: athrow
start local 3 // android.hardware.location.IGeofenceHardwareCallback callback
62: .line 641
StackMap locals: android.hardware.location.GeofenceHardwareImpl$1 android.os.Message int android.hardware.location.IGeofenceHardwareCallback
StackMap stack:
aload 3 /* callback */
ifnull 66
63: .line 643
aload 3 /* callback */
iload 2 /* geofenceId */
aload 1 /* msg */
getfield android.os.Message.arg2:I
invokeinterface android.hardware.location.IGeofenceHardwareCallback.onGeofencePause:(II)V
64: .line 644
goto 66
StackMap locals:
StackMap stack: android.os.RemoteException
65: pop
66: .line 646
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
invokevirtual android.hardware.location.GeofenceHardwareImpl.releaseWakeLock:()V
67: .line 647
goto 119
end local 3 // android.hardware.location.IGeofenceHardwareCallback callback
end local 2 // int geofenceId
68: .line 650
StackMap locals:
StackMap stack:
aload 1 /* msg */
getfield android.os.Message.arg1:I
istore 2 /* geofenceId */
start local 2 // int geofenceId
69: .line 651
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
dup
astore 4
monitorenter
70: .line 652
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
iload 2 /* geofenceId */
invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
checkcast android.hardware.location.IGeofenceHardwareCallback
astore 3 /* callback */
start local 3 // android.hardware.location.IGeofenceHardwareCallback callback
71: .line 651
aload 4
monitorexit
72: goto 75
end local 3 // android.hardware.location.IGeofenceHardwareCallback callback
StackMap locals: android.hardware.location.GeofenceHardwareImpl$1 android.os.Message int top android.util.SparseArray
StackMap stack: java.lang.Throwable
73: aload 4
monitorexit
74: athrow
start local 3 // android.hardware.location.IGeofenceHardwareCallback callback
75: .line 655
StackMap locals: android.hardware.location.GeofenceHardwareImpl$1 android.os.Message int android.hardware.location.IGeofenceHardwareCallback
StackMap stack:
aload 3 /* callback */
ifnull 79
76: .line 657
aload 3 /* callback */
iload 2 /* geofenceId */
aload 1 /* msg */
getfield android.os.Message.arg2:I
invokeinterface android.hardware.location.IGeofenceHardwareCallback.onGeofenceResume:(II)V
77: .line 658
goto 79
StackMap locals:
StackMap stack: android.os.RemoteException
78: pop
79: .line 660
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
invokevirtual android.hardware.location.GeofenceHardwareImpl.releaseWakeLock:()V
80: .line 661
goto 119
end local 3 // android.hardware.location.IGeofenceHardwareCallback callback
end local 2 // int geofenceId
81: .line 664
StackMap locals:
StackMap stack:
aload 1 /* msg */
getfield android.os.Message.obj:Ljava/lang/Object;
checkcast android.hardware.location.GeofenceHardwareImpl$GeofenceTransition
astore 4 /* geofenceTransition */
start local 4 // android.hardware.location.GeofenceHardwareImpl$GeofenceTransition geofenceTransition
82: .line 665
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
dup
astore 5
monitorenter
83: .line 666
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
aload 4 /* geofenceTransition */
getfield android.hardware.location.GeofenceHardwareImpl$GeofenceTransition.mGeofenceId:I
invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
checkcast android.hardware.location.IGeofenceHardwareCallback
astore 3 /* callback */
start local 3 // android.hardware.location.IGeofenceHardwareCallback callback
84: .line 669
getstatic android.hardware.location.GeofenceHardwareImpl.DEBUG:Z
ifeq 89
ldc "GeofenceHardwareImpl"
new java.lang.StringBuilder
dup
ldc "GeofenceTransistionCallback: GPS : GeofenceId: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
85: .line 670
aload 4 /* geofenceTransition */
getfield android.hardware.location.GeofenceHardwareImpl$GeofenceTransition.mGeofenceId:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
86: .line 671
ldc " Transition: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4 /* geofenceTransition */
getfield android.hardware.location.GeofenceHardwareImpl$GeofenceTransition.mTransition:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
87: .line 672
ldc " Location: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4 /* geofenceTransition */
getfield android.hardware.location.GeofenceHardwareImpl$GeofenceTransition.mLocation:Landroid/location/Location;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
88: .line 669
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
89: .line 665
StackMap locals: android.hardware.location.GeofenceHardwareImpl$1 android.os.Message top android.hardware.location.IGeofenceHardwareCallback android.hardware.location.GeofenceHardwareImpl$GeofenceTransition android.util.SparseArray
StackMap stack:
aload 5
monitorexit
90: goto 93
end local 3 // android.hardware.location.IGeofenceHardwareCallback callback
StackMap locals: android.hardware.location.GeofenceHardwareImpl$1 android.os.Message top top android.hardware.location.GeofenceHardwareImpl$GeofenceTransition android.util.SparseArray
StackMap stack: java.lang.Throwable
91: aload 5
monitorexit
92: athrow
start local 3 // android.hardware.location.IGeofenceHardwareCallback callback
93: .line 675
StackMap locals: android.hardware.location.GeofenceHardwareImpl$1 android.os.Message top android.hardware.location.IGeofenceHardwareCallback android.hardware.location.GeofenceHardwareImpl$GeofenceTransition
StackMap stack:
aload 3 /* callback */
ifnull 101
94: .line 677
aload 3 /* callback */
95: .line 678
aload 4 /* geofenceTransition */
getfield android.hardware.location.GeofenceHardwareImpl$GeofenceTransition.mGeofenceId:I
aload 4 /* geofenceTransition */
getfield android.hardware.location.GeofenceHardwareImpl$GeofenceTransition.mTransition:I
96: .line 679
aload 4 /* geofenceTransition */
getfield android.hardware.location.GeofenceHardwareImpl$GeofenceTransition.mLocation:Landroid/location/Location;
aload 4 /* geofenceTransition */
getfield android.hardware.location.GeofenceHardwareImpl$GeofenceTransition.mTimestamp:J
97: .line 680
aload 4 /* geofenceTransition */
getfield android.hardware.location.GeofenceHardwareImpl$GeofenceTransition.mMonitoringType:I
98: .line 677
invokeinterface android.hardware.location.IGeofenceHardwareCallback.onGeofenceTransition:(IILandroid/location/Location;JI)V
99: .line 681
goto 101
StackMap locals:
StackMap stack: android.os.RemoteException
100: pop
101: .line 683
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
invokevirtual android.hardware.location.GeofenceHardwareImpl.releaseWakeLock:()V
102: .line 684
goto 119
end local 4 // android.hardware.location.GeofenceHardwareImpl$GeofenceTransition geofenceTransition
end local 3 // android.hardware.location.IGeofenceHardwareCallback callback
103: .line 687
StackMap locals: android.hardware.location.GeofenceHardwareImpl$1 android.os.Message
StackMap stack:
aload 1 /* msg */
getfield android.os.Message.obj:Ljava/lang/Object;
checkcast android.hardware.location.IGeofenceHardwareCallback
astore 3 /* callback */
start local 3 // android.hardware.location.IGeofenceHardwareCallback callback
104: .line 688
getstatic android.hardware.location.GeofenceHardwareImpl.DEBUG:Z
ifeq 105
ldc "GeofenceHardwareImpl"
new java.lang.StringBuilder
dup
ldc "Geofence callback reaped:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3 /* 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
105: .line 689
StackMap locals: android.hardware.location.GeofenceHardwareImpl$1 android.os.Message top android.hardware.location.IGeofenceHardwareCallback
StackMap stack:
aload 1 /* msg */
getfield android.os.Message.arg1:I
istore 5 /* monitoringType */
start local 5 // int monitoringType
106: .line 690
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
dup
astore 6
monitorenter
107: .line 691
iconst_0
istore 7 /* i */
start local 7 // int i
108: goto 114
109: .line 692
StackMap locals: android.hardware.location.GeofenceHardwareImpl$1 android.os.Message top android.hardware.location.IGeofenceHardwareCallback top int android.util.SparseArray int
StackMap stack:
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
iload 7 /* i */
invokevirtual android.util.SparseArray.valueAt:(I)Ljava/lang/Object;
checkcast android.hardware.location.IGeofenceHardwareCallback
aload 3 /* callback */
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 113
110: .line 693
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
iload 7 /* i */
invokevirtual android.util.SparseArray.keyAt:(I)I
istore 2 /* geofenceId */
start local 2 // int geofenceId
111: .line 694
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
iload 7 /* i */
invokevirtual android.util.SparseArray.keyAt:(I)I
iload 5 /* monitoringType */
invokevirtual android.hardware.location.GeofenceHardwareImpl.removeGeofence:(II)Z
pop
112: .line 695
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
iload 2 /* geofenceId */
invokevirtual android.util.SparseArray.remove:(I)V
end local 2 // int geofenceId
113: .line 691
StackMap locals:
StackMap stack:
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
114: iload 7 /* i */
aload 0 /* this */
getfield android.hardware.location.GeofenceHardwareImpl$1.this$0:Landroid/hardware/location/GeofenceHardwareImpl;
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
invokevirtual android.util.SparseArray.size:()I
if_icmplt 109
end local 7 // int i
115: .line 690
aload 6
monitorexit
116: goto 119
StackMap locals: android.hardware.location.GeofenceHardwareImpl$1 android.os.Message top android.hardware.location.IGeofenceHardwareCallback top int android.util.SparseArray
StackMap stack: java.lang.Throwable
117: aload 6
monitorexit
118: athrow
end local 5 // int monitoringType
end local 3 // android.hardware.location.IGeofenceHardwareCallback callback
119: .line 700
StackMap locals: android.hardware.location.GeofenceHardwareImpl$1 android.os.Message
StackMap stack:
return
end local 1 // android.os.Message msg
end local 0 // android.hardware.location.GeofenceHardwareImpl$1 this
LocalVariableTable:
Start End Slot Name Signature
0 120 0 this Landroid/hardware/location/GeofenceHardwareImpl$1;
0 120 1 msg Landroid/os/Message;
2 15 2 geofenceId I
16 55 2 geofenceId I
56 68 2 geofenceId I
69 81 2 geofenceId I
111 113 2 geofenceId I
4 6 3 callback Landroid/hardware/location/IGeofenceHardwareCallback;
8 15 3 callback Landroid/hardware/location/IGeofenceHardwareCallback;
18 20 3 callback Landroid/hardware/location/IGeofenceHardwareCallback;
22 55 3 callback Landroid/hardware/location/IGeofenceHardwareCallback;
58 60 3 callback Landroid/hardware/location/IGeofenceHardwareCallback;
62 68 3 callback Landroid/hardware/location/IGeofenceHardwareCallback;
71 73 3 callback Landroid/hardware/location/IGeofenceHardwareCallback;
75 81 3 callback Landroid/hardware/location/IGeofenceHardwareCallback;
84 91 3 callback Landroid/hardware/location/IGeofenceHardwareCallback;
93 103 3 callback Landroid/hardware/location/IGeofenceHardwareCallback;
104 119 3 callback Landroid/hardware/location/IGeofenceHardwareCallback;
12 13 4 e Landroid/os/RemoteException;
27 53 4 callbackBinder Landroid/os/IBinder;
28 53 5 callbackInUse Z
31 37 7 i I
43 53 6 iterator Ljava/util/Iterator<Landroid/hardware/location/GeofenceHardwareImpl$Reaper;>;
45 52 7 reaper Landroid/hardware/location/GeofenceHardwareImpl$Reaper;
82 103 4 geofenceTransition Landroid/hardware/location/GeofenceHardwareImpl$GeofenceTransition;
106 119 5 monitoringType I
108 115 7 i I
Exception table:
from to target type
3 5 6 any
6 7 6 any
9 10 11 Class android.os.RemoteException
17 19 20 any
20 21 20 any
23 24 25 Class android.os.RemoteException
29 38 39 any
39 40 39 any
57 59 60 any
60 61 60 any
63 64 65 Class android.os.RemoteException
70 72 73 any
73 74 73 any
76 77 78 Class android.os.RemoteException
83 90 91 any
91 92 91 any
94 99 100 Class android.os.RemoteException
107 116 117 any
117 118 117 any
MethodParameters:
Name Flags
msg
}
SourceFile: "GeofenceHardwareImpl.java"
EnclosingMethod: android.hardware.location.GeofenceHardwareImpl
NestHost: android.hardware.location.GeofenceHardwareImpl
InnerClasses:
android.hardware.location.GeofenceHardwareImpl$1
private GeofenceTransition = android.hardware.location.GeofenceHardwareImpl$GeofenceTransition of android.hardware.location.GeofenceHardwareImpl
Reaper = android.hardware.location.GeofenceHardwareImpl$Reaper of android.hardware.location.GeofenceHardwareImpl