public final class android.hardware.location.GeofenceHardwareImpl
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: android.hardware.location.GeofenceHardwareImpl
super_class: java.lang.Object
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "GeofenceHardwareImpl"
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int FIRST_VERSION_WITH_CAPABILITIES;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private final android.content.Context mContext;
descriptor: Landroid/content/Context;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static android.hardware.location.GeofenceHardwareImpl sInstance;
descriptor: Landroid/hardware/location/GeofenceHardwareImpl;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private android.os.PowerManager$WakeLock mWakeLock;
descriptor: Landroid/os/PowerManager$WakeLock;
flags: (0x0002) ACC_PRIVATE
private final android.util.SparseArray<android.hardware.location.IGeofenceHardwareCallback> mGeofences;
descriptor: Landroid/util/SparseArray;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Landroid/util/SparseArray<Landroid/hardware/location/IGeofenceHardwareCallback;>;
private final java.util.ArrayList<android.hardware.location.IGeofenceHardwareMonitorCallback>[] mCallbacks;
descriptor: [Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: [Ljava/util/ArrayList<Landroid/hardware/location/IGeofenceHardwareMonitorCallback;>;
private final java.util.ArrayList<android.hardware.location.GeofenceHardwareImpl$Reaper> mReapers;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Landroid/hardware/location/GeofenceHardwareImpl$Reaper;>;
private android.location.IFusedGeofenceHardware mFusedService;
descriptor: Landroid/location/IFusedGeofenceHardware;
flags: (0x0002) ACC_PRIVATE
private android.location.IGpsGeofenceHardware mGpsService;
descriptor: Landroid/location/IGpsGeofenceHardware;
flags: (0x0002) ACC_PRIVATE
private int mCapabilities;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mVersion;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int[] mSupportedMonitorTypes;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private static final int GEOFENCE_TRANSITION_CALLBACK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int ADD_GEOFENCE_CALLBACK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int REMOVE_GEOFENCE_CALLBACK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int PAUSE_GEOFENCE_CALLBACK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int RESUME_GEOFENCE_CALLBACK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private static final int GEOFENCE_CALLBACK_BINDER_DIED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 6
private static final int GEOFENCE_STATUS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int CALLBACK_ADD;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int CALLBACK_REMOVE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int MONITOR_CALLBACK_BINDER_DIED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int REAPER_GEOFENCE_ADDED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int REAPER_MONITOR_CALLBACK_ADDED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int REAPER_REMOVED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int LOCATION_INVALID;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int LOCATION_HAS_LAT_LONG;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int LOCATION_HAS_ALTITUDE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int LOCATION_HAS_SPEED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int LOCATION_HAS_BEARING;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int LOCATION_HAS_ACCURACY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final int RESOLUTION_LEVEL_NONE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int RESOLUTION_LEVEL_COARSE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int RESOLUTION_LEVEL_FINE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int CAPABILITY_GNSS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private android.os.Handler mGeofenceHandler;
descriptor: Landroid/os/Handler;
flags: (0x0002) ACC_PRIVATE
private android.os.Handler mCallbacksHandler;
descriptor: Landroid/os/Handler;
flags: (0x0002) ACC_PRIVATE
private android.os.Handler mReaperHandler;
descriptor: Landroid/os/Handler;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "GeofenceHardwareImpl"
iconst_3
invokestatic android.util.Log.isLoggable:(Ljava/lang/String;I)Z
putstatic android.hardware.location.GeofenceHardwareImpl.DEBUG:Z
1: return
LocalVariableTable:
Start End Slot Name Signature
public static synchronized android.hardware.location.GeofenceHardwareImpl getInstance(android.content.Context);
descriptor: (Landroid/content/Context;)Landroid/hardware/location/GeofenceHardwareImpl;
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic android.hardware.location.GeofenceHardwareImpl.sInstance:Landroid/hardware/location/GeofenceHardwareImpl;
ifnonnull 2
1: new android.hardware.location.GeofenceHardwareImpl
dup
aload 0
invokespecial android.hardware.location.GeofenceHardwareImpl.<init>:(Landroid/content/Context;)V
putstatic android.hardware.location.GeofenceHardwareImpl.sInstance:Landroid/hardware/location/GeofenceHardwareImpl;
2: StackMap locals:
StackMap stack:
getstatic android.hardware.location.GeofenceHardwareImpl.sInstance:Landroid/hardware/location/GeofenceHardwareImpl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 context Landroid/content/Context;
MethodParameters:
Name Flags
context
private void <init>(android.content.Context);
descriptor: (Landroid/content/Context;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
2: new android.util.SparseArray
dup
invokespecial android.util.SparseArray.<init>:()V
putfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
3: aload 0
4: iconst_2
anewarray java.util.ArrayList
putfield android.hardware.location.GeofenceHardwareImpl.mCallbacks:[Ljava/util/ArrayList;
5: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield android.hardware.location.GeofenceHardwareImpl.mReapers:Ljava/util/ArrayList;
6: aload 0
iconst_1
putfield android.hardware.location.GeofenceHardwareImpl.mVersion:I
7: aload 0
iconst_2
newarray 10
putfield android.hardware.location.GeofenceHardwareImpl.mSupportedMonitorTypes:[I
8: aload 0
new android.hardware.location.GeofenceHardwareImpl$1
dup
aload 0
invokespecial android.hardware.location.GeofenceHardwareImpl$1.<init>:(Landroid/hardware/location/GeofenceHardwareImpl;)V
putfield android.hardware.location.GeofenceHardwareImpl.mGeofenceHandler:Landroid/os/Handler;
9: aload 0
new android.hardware.location.GeofenceHardwareImpl$2
dup
aload 0
invokespecial android.hardware.location.GeofenceHardwareImpl$2.<init>:(Landroid/hardware/location/GeofenceHardwareImpl;)V
putfield android.hardware.location.GeofenceHardwareImpl.mCallbacksHandler:Landroid/os/Handler;
10: aload 0
new android.hardware.location.GeofenceHardwareImpl$3
dup
aload 0
invokespecial android.hardware.location.GeofenceHardwareImpl$3.<init>:(Landroid/hardware/location/GeofenceHardwareImpl;)V
putfield android.hardware.location.GeofenceHardwareImpl.mReaperHandler:Landroid/os/Handler;
11: aload 0
aload 1
putfield android.hardware.location.GeofenceHardwareImpl.mContext:Landroid/content/Context;
12: aload 0
iconst_0
13: iconst_2
14: invokevirtual android.hardware.location.GeofenceHardwareImpl.setMonitorAvailability:(II)V
15: aload 0
16: iconst_1
17: iconst_2
18: invokevirtual android.hardware.location.GeofenceHardwareImpl.setMonitorAvailability:(II)V
19: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Landroid/hardware/location/GeofenceHardwareImpl;
0 20 1 context Landroid/content/Context;
MethodParameters:
Name Flags
context
private void acquireWakeLock();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mWakeLock:Landroid/os/PowerManager$WakeLock;
ifnonnull 4
1: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mContext:Landroid/content/Context;
ldc "power"
invokevirtual android.content.Context.getSystemService:(Ljava/lang/String;)Ljava/lang/Object;
checkcast android.os.PowerManager
2: astore 1
start local 1 3: aload 0
aload 1
getstatic android.os.PowerManager.PARTIAL_WAKE_LOCK:I
ldc "GeofenceHardwareImpl"
invokevirtual android.os.PowerManager.newWakeLock:(ILjava/lang/String;)Landroid/os/PowerManager$WakeLock;
putfield android.hardware.location.GeofenceHardwareImpl.mWakeLock:Landroid/os/PowerManager$WakeLock;
end local 1 4: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mWakeLock:Landroid/os/PowerManager$WakeLock;
invokevirtual android.os.PowerManager$WakeLock.acquire:()V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/hardware/location/GeofenceHardwareImpl;
3 4 1 powerManager Landroid/os/PowerManager;
private void releaseWakeLock();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mWakeLock:Landroid/os/PowerManager$WakeLock;
invokevirtual android.os.PowerManager$WakeLock.isHeld:()Z
ifeq 1
aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mWakeLock:Landroid/os/PowerManager$WakeLock;
invokevirtual android.os.PowerManager$WakeLock.release:()V
1: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/hardware/location/GeofenceHardwareImpl;
private void updateGpsHardwareAvailability();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mGpsService:Landroid/location/IGpsGeofenceHardware;
invokeinterface android.location.IGpsGeofenceHardware.isHardwareGeofenceSupported:()Z
istore 1
start local 1 1: goto 5
end local 1 StackMap locals:
StackMap stack: android.os.RemoteException
2: pop
3: ldc "GeofenceHardwareImpl"
ldc "Remote Exception calling LocationManagerService"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
4: iconst_0
istore 1
start local 1 5: StackMap locals: int
StackMap stack:
iload 1
ifeq 9
6: aload 0
iconst_0
7: iconst_0
8: invokevirtual android.hardware.location.GeofenceHardwareImpl.setMonitorAvailability:(II)V
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Landroid/hardware/location/GeofenceHardwareImpl;
1 2 1 gpsSupported Z
5 10 1 gpsSupported Z
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
private void updateFusedHardwareAvailability();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mVersion:I
iconst_2
if_icmplt 3
1: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mCapabilities:I
iconst_1
iand
ifne 3
2: iconst_0
goto 4
StackMap locals:
StackMap stack:
3: iconst_1
StackMap locals:
StackMap stack: int
4: istore 2
start local 2 5: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mFusedService:Landroid/location/IFusedGeofenceHardware;
ifnull 8
6: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mFusedService:Landroid/location/IFusedGeofenceHardware;
invokeinterface android.location.IFusedGeofenceHardware.isSupported:()Z
ifeq 7
iload 2
ifeq 7
iconst_1
goto 9
StackMap locals: android.hardware.location.GeofenceHardwareImpl top int
StackMap stack:
7: iconst_0
goto 9
8: StackMap locals:
StackMap stack:
iconst_0
9: StackMap locals:
StackMap stack: int
istore 1
end local 2 start local 1 10: goto 14
end local 1 StackMap locals: android.hardware.location.GeofenceHardwareImpl
StackMap stack: android.os.RemoteException
11: pop
12: ldc "GeofenceHardwareImpl"
ldc "RemoteException calling LocationManagerService"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
13: iconst_0
istore 1
start local 1 14: StackMap locals: int
StackMap stack:
iload 1
ifeq 19
15: aload 0
16: iconst_1
17: iconst_0
18: invokevirtual android.hardware.location.GeofenceHardwareImpl.setMonitorAvailability:(II)V
19: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Landroid/hardware/location/GeofenceHardwareImpl;
10 11 1 fusedSupported Z
14 20 1 fusedSupported Z
5 10 2 hasGnnsCapabilities Z
Exception table:
from to target type
0 10 11 Class android.os.RemoteException
public void setGpsHardwareGeofence(android.location.IGpsGeofenceHardware);
descriptor: (Landroid/location/IGpsGeofenceHardware;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mGpsService:Landroid/location/IGpsGeofenceHardware;
ifnonnull 4
1: aload 0
aload 1
putfield android.hardware.location.GeofenceHardwareImpl.mGpsService:Landroid/location/IGpsGeofenceHardware;
2: aload 0
invokevirtual android.hardware.location.GeofenceHardwareImpl.updateGpsHardwareAvailability:()V
3: goto 9
StackMap locals:
StackMap stack:
4: aload 1
ifnonnull 8
5: aload 0
aconst_null
putfield android.hardware.location.GeofenceHardwareImpl.mGpsService:Landroid/location/IGpsGeofenceHardware;
6: ldc "GeofenceHardwareImpl"
ldc "GPS Geofence Hardware service seems to have crashed"
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
7: goto 9
8: StackMap locals:
StackMap stack:
ldc "GeofenceHardwareImpl"
ldc "Error: GpsService being set again."
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Landroid/hardware/location/GeofenceHardwareImpl;
0 10 1 service Landroid/location/IGpsGeofenceHardware;
MethodParameters:
Name Flags
service
public void onCapabilities(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield android.hardware.location.GeofenceHardwareImpl.mCapabilities:I
1: aload 0
invokevirtual android.hardware.location.GeofenceHardwareImpl.updateFusedHardwareAvailability:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/hardware/location/GeofenceHardwareImpl;
0 3 1 capabilities I
MethodParameters:
Name Flags
capabilities
public void setVersion(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield android.hardware.location.GeofenceHardwareImpl.mVersion:I
1: aload 0
invokevirtual android.hardware.location.GeofenceHardwareImpl.updateFusedHardwareAvailability:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/hardware/location/GeofenceHardwareImpl;
0 3 1 version I
MethodParameters:
Name Flags
version
public void setFusedGeofenceHardware(android.location.IFusedGeofenceHardware);
descriptor: (Landroid/location/IFusedGeofenceHardware;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mFusedService:Landroid/location/IFusedGeofenceHardware;
ifnonnull 4
1: aload 0
aload 1
putfield android.hardware.location.GeofenceHardwareImpl.mFusedService:Landroid/location/IFusedGeofenceHardware;
2: aload 0
invokevirtual android.hardware.location.GeofenceHardwareImpl.updateFusedHardwareAvailability:()V
3: goto 9
StackMap locals:
StackMap stack:
4: aload 1
ifnonnull 8
5: aload 0
aconst_null
putfield android.hardware.location.GeofenceHardwareImpl.mFusedService:Landroid/location/IFusedGeofenceHardware;
6: ldc "GeofenceHardwareImpl"
ldc "Fused Geofence Hardware service seems to have crashed"
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
7: goto 9
8: StackMap locals:
StackMap stack:
ldc "GeofenceHardwareImpl"
ldc "Error: FusedService being set again"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Landroid/hardware/location/GeofenceHardwareImpl;
0 10 1 service Landroid/location/IFusedGeofenceHardware;
MethodParameters:
Name Flags
service
public int[] getMonitoringTypes();
descriptor: ()[I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mSupportedMonitorTypes:[I
dup
astore 3
monitorenter
1: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mSupportedMonitorTypes:[I
iconst_0
iaload
2: iconst_2
3: if_icmpeq 4
iconst_1
goto 5
StackMap locals: android.hardware.location.GeofenceHardwareImpl top top int[]
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 1
start local 1 6: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mSupportedMonitorTypes:[I
iconst_1
iaload
7: iconst_2
8: if_icmpeq 9
iconst_1
goto 10
StackMap locals: android.hardware.location.GeofenceHardwareImpl int top int[]
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: istore 2
start local 2 11: aload 3
monitorexit
12: goto 15
end local 2 end local 1 StackMap locals: android.hardware.location.GeofenceHardwareImpl top top int[]
StackMap stack: java.lang.Throwable
13: aload 3
monitorexit
14: athrow
start local 1 start local 2 15: StackMap locals: android.hardware.location.GeofenceHardwareImpl int int
StackMap stack:
iload 1
ifeq 21
16: iload 2
ifeq 20
17: iconst_2
newarray 10
dup
iconst_1
18: iconst_1
iastore
19: areturn
20: StackMap locals:
StackMap stack:
iconst_1
newarray 10
areturn
21: StackMap locals:
StackMap stack:
iload 2
ifeq 23
22: iconst_1
newarray 10
dup
iconst_0
iconst_1
iastore
areturn
23: StackMap locals:
StackMap stack:
iconst_0
newarray 10
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Landroid/hardware/location/GeofenceHardwareImpl;
6 13 1 gpsSupported Z
15 24 1 gpsSupported Z
11 13 2 fusedSupported Z
15 24 2 fusedSupported Z
Exception table:
from to target type
1 12 13 any
13 14 13 any
public int getStatusOfMonitoringType(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mSupportedMonitorTypes:[I
dup
astore 2
monitorenter
1: iload 1
aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mSupportedMonitorTypes:[I
arraylength
if_icmpge 2
iload 1
ifge 3
2: StackMap locals: int[]
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Unknown monitoring type"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mSupportedMonitorTypes:[I
iload 1
iaload
aload 2
monitorexit
4: ireturn
5: StackMap locals:
StackMap stack: java.lang.Throwable
aload 2
monitorexit
6: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/hardware/location/GeofenceHardwareImpl;
0 7 1 monitoringType I
Exception table:
from to target type
1 4 5 any
5 6 5 any
MethodParameters:
Name Flags
monitoringType
public int getCapabilitiesForMonitoringType(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mSupportedMonitorTypes:[I
iload 1
iaload
tableswitch { // 0 - 0
0: 1
default: 6
}
1: StackMap locals:
StackMap stack:
iload 1
tableswitch { // 0 - 1
0: 2
1: 3
default: 6
}
2: StackMap locals:
StackMap stack:
iconst_1
ireturn
3: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mVersion:I
iconst_2
if_icmplt 5
4: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mCapabilities:I
ireturn
5: StackMap locals:
StackMap stack:
iconst_1
ireturn
6: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/hardware/location/GeofenceHardwareImpl;
0 7 1 monitoringType I
MethodParameters:
Name Flags
monitoringType
public boolean addCircularFence(int, android.hardware.location.GeofenceHardwareRequestParcelable, android.hardware.location.IGeofenceHardwareCallback);
descriptor: (ILandroid/hardware/location/GeofenceHardwareRequestParcelable;Landroid/hardware/location/IGeofenceHardwareCallback;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=12, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual android.hardware.location.GeofenceHardwareRequestParcelable.getId:()I
istore 4
start local 4 1: getstatic android.hardware.location.GeofenceHardwareImpl.DEBUG:Z
ifeq 7
2: ldc "addCircularFence: monitoringType=%d, %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
3: iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
4: aload 2
aastore
5: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 5
start local 5 6: ldc "GeofenceHardwareImpl"
aload 5
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
end local 5 7: StackMap locals: int
StackMap stack:
aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
dup
astore 6
monitorenter
8: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
iload 4
aload 3
invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
9: aload 6
monitorexit
10: goto 13
StackMap locals: android.hardware.location.GeofenceHardwareImpl int android.hardware.location.GeofenceHardwareRequestParcelable android.hardware.location.IGeofenceHardwareCallback int top android.util.SparseArray
StackMap stack: java.lang.Throwable
11: aload 6
monitorexit
12: athrow
13: StackMap locals: android.hardware.location.GeofenceHardwareImpl int android.hardware.location.GeofenceHardwareRequestParcelable android.hardware.location.IGeofenceHardwareCallback int
StackMap stack:
iload 1
tableswitch { // 0 - 1
0: 14
1: 30
default: 41
}
14: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mGpsService:Landroid/location/IGpsGeofenceHardware;
ifnonnull 15
iconst_0
ireturn
15: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mGpsService:Landroid/location/IGpsGeofenceHardware;
16: aload 2
invokevirtual android.hardware.location.GeofenceHardwareRequestParcelable.getId:()I
17: aload 2
invokevirtual android.hardware.location.GeofenceHardwareRequestParcelable.getLatitude:()D
18: aload 2
invokevirtual android.hardware.location.GeofenceHardwareRequestParcelable.getLongitude:()D
19: aload 2
invokevirtual android.hardware.location.GeofenceHardwareRequestParcelable.getRadius:()D
20: aload 2
invokevirtual android.hardware.location.GeofenceHardwareRequestParcelable.getLastTransition:()I
21: aload 2
invokevirtual android.hardware.location.GeofenceHardwareRequestParcelable.getMonitorTransitions:()I
22: aload 2
invokevirtual android.hardware.location.GeofenceHardwareRequestParcelable.getNotificationResponsiveness:()I
23: aload 2
invokevirtual android.hardware.location.GeofenceHardwareRequestParcelable.getUnknownTimer:()I
24: invokeinterface android.location.IGpsGeofenceHardware.addCircularHardwareGeofence:(IDDDIIII)Z
istore 5
start local 5 25: goto 42
end local 5 StackMap locals:
StackMap stack: android.os.RemoteException
26: pop
27: ldc "GeofenceHardwareImpl"
ldc "AddGeofence: Remote Exception calling LocationManagerService"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
28: iconst_0
istore 5
start local 5 29: goto 42
end local 5 30: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mFusedService:Landroid/location/IFusedGeofenceHardware;
ifnonnull 32
31: iconst_0
ireturn
32: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mFusedService:Landroid/location/IFusedGeofenceHardware;
33: iconst_1
anewarray android.hardware.location.GeofenceHardwareRequestParcelable
dup
iconst_0
aload 2
aastore
34: invokeinterface android.location.IFusedGeofenceHardware.addGeofences:([Landroid/hardware/location/GeofenceHardwareRequestParcelable;)V
35: iconst_1
istore 5
start local 5 36: goto 42
end local 5 StackMap locals:
StackMap stack: android.os.RemoteException
37: pop
38: ldc "GeofenceHardwareImpl"
ldc "AddGeofence: RemoteException calling LocationManagerService"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
39: iconst_0
istore 5
start local 5 40: goto 42
end local 5 41: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 42: StackMap locals: int
StackMap stack:
iload 5
ifeq 47
43: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mReaperHandler:Landroid/os/Handler;
iconst_1
aload 3
invokevirtual android.os.Handler.obtainMessage:(ILjava/lang/Object;)Landroid/os/Message;
astore 6
start local 6 44: aload 6
iload 1
putfield android.os.Message.arg1:I
45: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mReaperHandler:Landroid/os/Handler;
aload 6
invokevirtual android.os.Handler.sendMessage:(Landroid/os/Message;)Z
pop
end local 6 46: goto 53
47: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
dup
astore 6
monitorenter
48: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
iload 4
invokevirtual android.util.SparseArray.remove:(I)V
49: aload 6
monitorexit
50: goto 53
StackMap locals: android.hardware.location.GeofenceHardwareImpl int android.hardware.location.GeofenceHardwareRequestParcelable android.hardware.location.IGeofenceHardwareCallback int int android.util.SparseArray
StackMap stack: java.lang.Throwable
51: aload 6
monitorexit
52: athrow
53: StackMap locals:
StackMap stack:
getstatic android.hardware.location.GeofenceHardwareImpl.DEBUG:Z
ifeq 54
ldc "GeofenceHardwareImpl"
new java.lang.StringBuilder
dup
ldc "addCircularFence: Result is: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
54: StackMap locals:
StackMap stack:
iload 5
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 55 0 this Landroid/hardware/location/GeofenceHardwareImpl;
0 55 1 monitoringType I
0 55 2 request Landroid/hardware/location/GeofenceHardwareRequestParcelable;
0 55 3 callback Landroid/hardware/location/IGeofenceHardwareCallback;
1 55 4 geofenceId I
6 7 5 message Ljava/lang/String;
25 26 5 result Z
29 30 5 result Z
36 37 5 result Z
40 41 5 result Z
42 55 5 result Z
44 46 6 m Landroid/os/Message;
Exception table:
from to target type
8 10 11 any
11 12 11 any
15 25 26 Class android.os.RemoteException
32 36 37 Class android.os.RemoteException
48 50 51 any
51 52 51 any
MethodParameters:
Name Flags
monitoringType
request
callback
public boolean removeGeofence(int, int);
descriptor: (II)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: getstatic android.hardware.location.GeofenceHardwareImpl.DEBUG:Z
ifeq 1
ldc "GeofenceHardwareImpl"
new java.lang.StringBuilder
dup
ldc "Remove Geofence: GeofenceId: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
1: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 2: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
dup
astore 4
monitorenter
3: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
iload 1
invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
ifnonnull 5
4: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Geofence "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " not registered."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: int android.util.SparseArray
StackMap stack:
aload 4
monitorexit
6: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
7: aload 4
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
iload 2
tableswitch { // 0 - 1
0: 10
1: 17
default: 26
}
10: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mGpsService:Landroid/location/IGpsGeofenceHardware;
ifnonnull 11
iconst_0
ireturn
11: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mGpsService:Landroid/location/IGpsGeofenceHardware;
iload 1
invokeinterface android.location.IGpsGeofenceHardware.removeHardwareGeofence:(I)Z
istore 3
12: goto 27
StackMap locals:
StackMap stack: android.os.RemoteException
13: pop
14: ldc "GeofenceHardwareImpl"
ldc "RemoveGeofence: Remote Exception calling LocationManagerService"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
15: iconst_0
istore 3
16: goto 27
17: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mFusedService:Landroid/location/IFusedGeofenceHardware;
ifnonnull 19
18: iconst_0
ireturn
19: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mFusedService:Landroid/location/IFusedGeofenceHardware;
iconst_1
newarray 10
dup
iconst_0
iload 1
iastore
invokeinterface android.location.IFusedGeofenceHardware.removeGeofences:([I)V
20: iconst_1
istore 3
21: goto 27
StackMap locals:
StackMap stack: android.os.RemoteException
22: pop
23: ldc "GeofenceHardwareImpl"
ldc "RemoveGeofence: RemoteException calling LocationManagerService"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
24: iconst_0
istore 3
25: goto 27
26: StackMap locals:
StackMap stack:
iconst_0
istore 3
27: StackMap locals:
StackMap stack:
getstatic android.hardware.location.GeofenceHardwareImpl.DEBUG:Z
ifeq 28
ldc "GeofenceHardwareImpl"
new java.lang.StringBuilder
dup
ldc "removeGeofence: Result is: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
28: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Landroid/hardware/location/GeofenceHardwareImpl;
0 29 1 geofenceId I
0 29 2 monitoringType I
2 29 3 result Z
Exception table:
from to target type
3 6 7 any
7 8 7 any
11 12 13 Class android.os.RemoteException
19 21 22 Class android.os.RemoteException
MethodParameters:
Name Flags
geofenceId
monitoringType
public boolean pauseGeofence(int, int);
descriptor: (II)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: getstatic android.hardware.location.GeofenceHardwareImpl.DEBUG:Z
ifeq 1
ldc "GeofenceHardwareImpl"
new java.lang.StringBuilder
dup
ldc "Pause Geofence: GeofenceId: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
1: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
dup
astore 4
monitorenter
2: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
iload 1
invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
ifnonnull 4
3: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Geofence "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " not registered."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: android.hardware.location.GeofenceHardwareImpl int int top android.util.SparseArray
StackMap stack:
aload 4
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 4
monitorexit
7: athrow
8: StackMap locals: android.hardware.location.GeofenceHardwareImpl int int
StackMap stack:
iload 2
tableswitch { // 0 - 1
0: 9
1: 16
default: 25
}
9: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mGpsService:Landroid/location/IGpsGeofenceHardware;
ifnonnull 10
iconst_0
ireturn
10: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mGpsService:Landroid/location/IGpsGeofenceHardware;
iload 1
invokeinterface android.location.IGpsGeofenceHardware.pauseHardwareGeofence:(I)Z
istore 3
start local 3 11: goto 26
end local 3 StackMap locals:
StackMap stack: android.os.RemoteException
12: pop
13: ldc "GeofenceHardwareImpl"
ldc "PauseGeofence: Remote Exception calling LocationManagerService"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
14: iconst_0
istore 3
start local 3 15: goto 26
end local 3 16: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mFusedService:Landroid/location/IFusedGeofenceHardware;
ifnonnull 18
17: iconst_0
ireturn
18: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mFusedService:Landroid/location/IFusedGeofenceHardware;
iload 1
invokeinterface android.location.IFusedGeofenceHardware.pauseMonitoringGeofence:(I)V
19: iconst_1
istore 3
start local 3 20: goto 26
end local 3 StackMap locals:
StackMap stack: android.os.RemoteException
21: pop
22: ldc "GeofenceHardwareImpl"
ldc "PauseGeofence: RemoteException calling LocationManagerService"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
23: iconst_0
istore 3
start local 3 24: goto 26
end local 3 25: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 26: StackMap locals: int
StackMap stack:
getstatic android.hardware.location.GeofenceHardwareImpl.DEBUG:Z
ifeq 27
ldc "GeofenceHardwareImpl"
new java.lang.StringBuilder
dup
ldc "pauseGeofence: Result is: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
27: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Landroid/hardware/location/GeofenceHardwareImpl;
0 28 1 geofenceId I
0 28 2 monitoringType I
11 12 3 result Z
15 16 3 result Z
20 21 3 result Z
24 25 3 result Z
26 28 3 result Z
Exception table:
from to target type
2 5 6 any
6 7 6 any
10 11 12 Class android.os.RemoteException
18 20 21 Class android.os.RemoteException
MethodParameters:
Name Flags
geofenceId
monitoringType
public boolean resumeGeofence(int, int, int);
descriptor: (III)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic android.hardware.location.GeofenceHardwareImpl.DEBUG:Z
ifeq 1
ldc "GeofenceHardwareImpl"
new java.lang.StringBuilder
dup
ldc "Resume Geofence: GeofenceId: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
1: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
dup
astore 5
monitorenter
2: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mGeofences:Landroid/util/SparseArray;
iload 1
invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
ifnonnull 4
3: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Geofence "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " not registered."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: android.hardware.location.GeofenceHardwareImpl int int int top android.util.SparseArray
StackMap stack:
aload 5
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 5
monitorexit
7: athrow
8: StackMap locals: android.hardware.location.GeofenceHardwareImpl int int int
StackMap stack:
iload 2
tableswitch { // 0 - 1
0: 9
1: 16
default: 25
}
9: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mGpsService:Landroid/location/IGpsGeofenceHardware;
ifnonnull 10
iconst_0
ireturn
10: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mGpsService:Landroid/location/IGpsGeofenceHardware;
iload 1
iload 3
invokeinterface android.location.IGpsGeofenceHardware.resumeHardwareGeofence:(II)Z
istore 4
start local 4 11: goto 26
end local 4 StackMap locals:
StackMap stack: android.os.RemoteException
12: pop
13: ldc "GeofenceHardwareImpl"
ldc "ResumeGeofence: Remote Exception calling LocationManagerService"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
14: iconst_0
istore 4
start local 4 15: goto 26
end local 4 16: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mFusedService:Landroid/location/IFusedGeofenceHardware;
ifnonnull 18
17: iconst_0
ireturn
18: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mFusedService:Landroid/location/IFusedGeofenceHardware;
iload 1
iload 3
invokeinterface android.location.IFusedGeofenceHardware.resumeMonitoringGeofence:(II)V
19: iconst_1
istore 4
start local 4 20: goto 26
end local 4 StackMap locals:
StackMap stack: android.os.RemoteException
21: pop
22: ldc "GeofenceHardwareImpl"
ldc "ResumeGeofence: RemoteException calling LocationManagerService"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
23: iconst_0
istore 4
start local 4 24: goto 26
end local 4 25: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 26: StackMap locals: int
StackMap stack:
getstatic android.hardware.location.GeofenceHardwareImpl.DEBUG:Z
ifeq 27
ldc "GeofenceHardwareImpl"
new java.lang.StringBuilder
dup
ldc "resumeGeofence: Result is: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
27: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Landroid/hardware/location/GeofenceHardwareImpl;
0 28 1 geofenceId I
0 28 2 monitoringType I
0 28 3 monitorTransition I
11 12 4 result Z
15 16 4 result Z
20 21 4 result Z
24 25 4 result Z
26 28 4 result Z
Exception table:
from to target type
2 5 6 any
6 7 6 any
10 11 12 Class android.os.RemoteException
18 20 21 Class android.os.RemoteException
MethodParameters:
Name Flags
geofenceId
monitoringType
monitorTransition
public boolean registerForMonitorStateChangeCallback(int, android.hardware.location.IGeofenceHardwareMonitorCallback);
descriptor: (ILandroid/hardware/location/IGeofenceHardwareMonitorCallback;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mReaperHandler:Landroid/os/Handler;
iconst_2
aload 2
invokevirtual android.os.Handler.obtainMessage:(ILjava/lang/Object;)Landroid/os/Message;
1: astore 3
start local 3 2: aload 3
iload 1
putfield android.os.Message.arg1:I
3: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mReaperHandler:Landroid/os/Handler;
aload 3
invokevirtual android.os.Handler.sendMessage:(Landroid/os/Message;)Z
pop
4: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mCallbacksHandler:Landroid/os/Handler;
iconst_2
aload 2
invokevirtual android.os.Handler.obtainMessage:(ILjava/lang/Object;)Landroid/os/Message;
astore 4
start local 4 5: aload 4
iload 1
putfield android.os.Message.arg1:I
6: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mCallbacksHandler:Landroid/os/Handler;
aload 4
invokevirtual android.os.Handler.sendMessage:(Landroid/os/Message;)Z
pop
7: iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/hardware/location/GeofenceHardwareImpl;
0 8 1 monitoringType I
0 8 2 callback Landroid/hardware/location/IGeofenceHardwareMonitorCallback;
2 8 3 reaperMessage Landroid/os/Message;
5 8 4 m Landroid/os/Message;
MethodParameters:
Name Flags
monitoringType
callback
public boolean unregisterForMonitorStateChangeCallback(int, android.hardware.location.IGeofenceHardwareMonitorCallback);
descriptor: (ILandroid/hardware/location/IGeofenceHardwareMonitorCallback;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mCallbacksHandler:Landroid/os/Handler;
iconst_3
aload 2
invokevirtual android.os.Handler.obtainMessage:(ILjava/lang/Object;)Landroid/os/Message;
astore 3
start local 3 1: aload 3
iload 1
putfield android.os.Message.arg1:I
2: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mCallbacksHandler:Landroid/os/Handler;
aload 3
invokevirtual android.os.Handler.sendMessage:(Landroid/os/Message;)Z
pop
3: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/hardware/location/GeofenceHardwareImpl;
0 4 1 monitoringType I
0 4 2 callback Landroid/hardware/location/IGeofenceHardwareMonitorCallback;
1 4 3 m Landroid/os/Message;
MethodParameters:
Name Flags
monitoringType
callback
public void reportGeofenceTransition(int, android.location.Location, int, long, int, int);
descriptor: (ILandroid/location/Location;IJII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=10, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 6 start local 7 0: aload 2
ifnonnull 3
1: ldc "GeofenceHardwareImpl"
ldc "Invalid Geofence Transition: location=null"
iconst_0
anewarray java.lang.Object
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
2: return
3: StackMap locals:
StackMap stack:
getstatic android.hardware.location.GeofenceHardwareImpl.DEBUG:Z
ifeq 10
4: ldc "GeofenceHardwareImpl"
5: new java.lang.StringBuilder
dup
ldc "GeofenceTransition| "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", transition:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
6: ldc ", transitionTimestamp:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 4
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ", monitoringType:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", sourcesUsed:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
8: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
10: StackMap locals:
StackMap stack:
new android.hardware.location.GeofenceHardwareImpl$GeofenceTransition
dup
aload 0
11: iload 1
12: iload 3
13: lload 4
14: aload 2
15: iload 6
16: iload 7
17: invokespecial android.hardware.location.GeofenceHardwareImpl$GeofenceTransition.<init>:(Landroid/hardware/location/GeofenceHardwareImpl;IIJLandroid/location/Location;II)V
astore 8
start local 8 18: aload 0
invokevirtual android.hardware.location.GeofenceHardwareImpl.acquireWakeLock:()V
19: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mGeofenceHandler:Landroid/os/Handler;
20: iconst_1
21: aload 8
22: invokevirtual android.os.Handler.obtainMessage:(ILjava/lang/Object;)Landroid/os/Message;
astore 9
start local 9 23: aload 9
invokevirtual android.os.Message.sendToTarget:()V
24: return
end local 9 end local 8 end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Landroid/hardware/location/GeofenceHardwareImpl;
0 25 1 geofenceId I
0 25 2 location Landroid/location/Location;
0 25 3 transition I
0 25 4 transitionTimestamp J
0 25 6 monitoringType I
0 25 7 sourcesUsed I
18 25 8 geofenceTransition Landroid/hardware/location/GeofenceHardwareImpl$GeofenceTransition;
23 25 9 message Landroid/os/Message;
MethodParameters:
Name Flags
geofenceId
location
transition
transitionTimestamp
monitoringType
sourcesUsed
public void reportGeofenceMonitorStatus(int, int, android.location.Location, int);
descriptor: (IILandroid/location/Location;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
iload 2
invokevirtual android.hardware.location.GeofenceHardwareImpl.setMonitorAvailability:(II)V
1: aload 0
invokevirtual android.hardware.location.GeofenceHardwareImpl.acquireWakeLock:()V
2: new android.hardware.location.GeofenceHardwareMonitorEvent
dup
3: iload 1
4: iload 2
5: iload 4
6: aload 3
7: invokespecial android.hardware.location.GeofenceHardwareMonitorEvent.<init>:(IIILandroid/location/Location;)V
astore 5
start local 5 8: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mCallbacksHandler:Landroid/os/Handler;
iconst_1
aload 5
invokevirtual android.os.Handler.obtainMessage:(ILjava/lang/Object;)Landroid/os/Message;
astore 6
start local 6 9: aload 6
invokevirtual android.os.Message.sendToTarget:()V
10: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/hardware/location/GeofenceHardwareImpl;
0 11 1 monitoringType I
0 11 2 monitoringStatus I
0 11 3 location Landroid/location/Location;
0 11 4 source I
8 11 5 event Landroid/hardware/location/GeofenceHardwareMonitorEvent;
9 11 6 message Landroid/os/Message;
MethodParameters:
Name Flags
monitoringType
monitoringStatus
location
source
private void reportGeofenceOperationStatus(int, int, int);
descriptor: (III)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual android.hardware.location.GeofenceHardwareImpl.acquireWakeLock:()V
1: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mGeofenceHandler:Landroid/os/Handler;
iload 1
invokevirtual android.os.Handler.obtainMessage:(I)Landroid/os/Message;
astore 4
start local 4 2: aload 4
iload 2
putfield android.os.Message.arg1:I
3: aload 4
iload 3
putfield android.os.Message.arg2:I
4: aload 4
invokevirtual android.os.Message.sendToTarget:()V
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/hardware/location/GeofenceHardwareImpl;
0 6 1 operation I
0 6 2 geofenceId I
0 6 3 operationStatus I
2 6 4 message Landroid/os/Message;
MethodParameters:
Name Flags
operation
geofenceId
operationStatus
public void reportGeofenceAddStatus(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic android.hardware.location.GeofenceHardwareImpl.DEBUG:Z
ifeq 1
ldc "GeofenceHardwareImpl"
new java.lang.StringBuilder
dup
ldc "AddCallback| id:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", status:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
1: StackMap locals:
StackMap stack:
aload 0
iconst_2
iload 1
iload 2
invokevirtual android.hardware.location.GeofenceHardwareImpl.reportGeofenceOperationStatus:(III)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/hardware/location/GeofenceHardwareImpl;
0 3 1 geofenceId I
0 3 2 status I
MethodParameters:
Name Flags
geofenceId
status
public void reportGeofenceRemoveStatus(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic android.hardware.location.GeofenceHardwareImpl.DEBUG:Z
ifeq 1
ldc "GeofenceHardwareImpl"
new java.lang.StringBuilder
dup
ldc "RemoveCallback| id:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", status:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
1: StackMap locals:
StackMap stack:
aload 0
iconst_3
iload 1
iload 2
invokevirtual android.hardware.location.GeofenceHardwareImpl.reportGeofenceOperationStatus:(III)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/hardware/location/GeofenceHardwareImpl;
0 3 1 geofenceId I
0 3 2 status I
MethodParameters:
Name Flags
geofenceId
status
public void reportGeofencePauseStatus(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic android.hardware.location.GeofenceHardwareImpl.DEBUG:Z
ifeq 1
ldc "GeofenceHardwareImpl"
new java.lang.StringBuilder
dup
ldc "PauseCallbac| id:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", status"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
1: StackMap locals:
StackMap stack:
aload 0
iconst_4
iload 1
iload 2
invokevirtual android.hardware.location.GeofenceHardwareImpl.reportGeofenceOperationStatus:(III)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/hardware/location/GeofenceHardwareImpl;
0 3 1 geofenceId I
0 3 2 status I
MethodParameters:
Name Flags
geofenceId
status
public void reportGeofenceResumeStatus(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic android.hardware.location.GeofenceHardwareImpl.DEBUG:Z
ifeq 1
ldc "GeofenceHardwareImpl"
new java.lang.StringBuilder
dup
ldc "ResumeCallback| id:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", status:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
1: StackMap locals:
StackMap stack:
aload 0
iconst_5
iload 1
iload 2
invokevirtual android.hardware.location.GeofenceHardwareImpl.reportGeofenceOperationStatus:(III)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/hardware/location/GeofenceHardwareImpl;
0 3 1 geofenceId I
0 3 2 status I
MethodParameters:
Name Flags
geofenceId
status
private void setMonitorAvailability(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mSupportedMonitorTypes:[I
dup
astore 3
monitorenter
1: aload 0
getfield android.hardware.location.GeofenceHardwareImpl.mSupportedMonitorTypes:[I
iload 1
iload 2
iastore
2: aload 3
monitorexit
3: goto 6
StackMap locals: android.hardware.location.GeofenceHardwareImpl int int int[]
StackMap stack: java.lang.Throwable
4: aload 3
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/hardware/location/GeofenceHardwareImpl;
0 7 1 monitor I
0 7 2 val I
Exception table:
from to target type
1 3 4 any
4 5 4 any
MethodParameters:
Name Flags
monitor
val
int getMonitoringResolutionLevel(int);
descriptor: (I)I
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
tableswitch { // 0 - 1
0: 1
1: 2
default: 3
}
1: StackMap locals:
StackMap stack:
iconst_3
ireturn
2: StackMap locals:
StackMap stack:
iconst_3
ireturn
3: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/hardware/location/GeofenceHardwareImpl;
0 4 1 monitoringType I
MethodParameters:
Name Flags
monitoringType
int getAllowedResolutionLevel(int, int);
descriptor: (II)I
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tandroid.Manifest.permission.ACCESS_FINE_LOCATION cannot be resolved to a type\n\tandroid.Manifest.permission.ACCESS_COARSE_LOCATION cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/hardware/location/GeofenceHardwareImpl;
MethodParameters:
Name Flags
pid
uid
}
SourceFile: "GeofenceHardwareImpl.java"
NestMembers:
android.hardware.location.GeofenceHardwareImpl$1 android.hardware.location.GeofenceHardwareImpl$2 android.hardware.location.GeofenceHardwareImpl$3 android.hardware.location.GeofenceHardwareImpl$GeofenceTransition android.hardware.location.GeofenceHardwareImpl$Reaper
InnerClasses:
android.hardware.location.GeofenceHardwareImpl$1
android.hardware.location.GeofenceHardwareImpl$2
android.hardware.location.GeofenceHardwareImpl$3
private GeofenceTransition = android.hardware.location.GeofenceHardwareImpl$GeofenceTransition of android.hardware.location.GeofenceHardwareImpl
Reaper = android.hardware.location.GeofenceHardwareImpl$Reaper of android.hardware.location.GeofenceHardwareImpl
public final WakeLock = android.os.PowerManager$WakeLock of android.os.PowerManager