public class android.hardware.SystemSensorManager extends android.hardware.SensorManager
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.hardware.SystemSensorManager
super_class: android.hardware.SensorManager
{
private static final boolean DEBUG_DYNAMIC_SENSOR;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int MIN_DIRECT_CHANNEL_BUFFER_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 104
private static final int MAX_LISTENER_COUNT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 128
private static final java.lang.Object sLock;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static boolean sNativeClassInited;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "sLock")
private static android.hardware.SystemSensorManager$InjectEventQueue sInjectEventQueue;
descriptor: Landroid/hardware/SystemSensorManager$InjectEventQueue;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "sLock")
private final java.util.ArrayList<android.hardware.Sensor> mFullSensorsList;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Landroid/hardware/Sensor;>;
private java.util.List<android.hardware.Sensor> mFullDynamicSensorsList;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Landroid/hardware/Sensor;>;
private boolean mDynamicSensorListDirty;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final java.util.HashMap<java.lang.Integer, android.hardware.Sensor> mHandleToSensor;
descriptor: Ljava/util/HashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/HashMap<Ljava/lang/Integer;Landroid/hardware/Sensor;>;
private final java.util.HashMap<android.hardware.SensorEventListener, android.hardware.SystemSensorManager$SensorEventQueue> mSensorListeners;
descriptor: Ljava/util/HashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/HashMap<Landroid/hardware/SensorEventListener;Landroid/hardware/SystemSensorManager$SensorEventQueue;>;
private final java.util.HashMap<android.hardware.TriggerEventListener, android.hardware.SystemSensorManager$TriggerEventQueue> mTriggerListeners;
descriptor: Ljava/util/HashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/HashMap<Landroid/hardware/TriggerEventListener;Landroid/hardware/SystemSensorManager$TriggerEventQueue;>;
private java.util.HashMap<android.hardware.SensorManager$DynamicSensorCallback, android.os.Handler> mDynamicSensorCallbacks;
descriptor: Ljava/util/HashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/HashMap<Landroid/hardware/SensorManager$DynamicSensorCallback;Landroid/os/Handler;>;
private android.content.BroadcastReceiver mDynamicSensorBroadcastReceiver;
descriptor: Landroid/content/BroadcastReceiver;
flags: (0x0002) ACC_PRIVATE
private final android.os.Looper mMainLooper;
descriptor: Landroid/os/Looper;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int mTargetSdkLevel;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.content.Context mContext;
descriptor: Landroid/content/Context;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long mNativeInstance;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic android.hardware.SystemSensorManager.sLock:Ljava/lang/Object;
1: iconst_0
putstatic android.hardware.SystemSensorManager.sNativeClassInited:Z
2: aconst_null
putstatic android.hardware.SystemSensorManager.sInjectEventQueue:Landroid/hardware/SystemSensorManager$InjectEventQueue;
return
LocalVariableTable:
Start End Slot Name Signature
private static native void nativeClassInit();
descriptor: ()V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
private static native long nativeCreate(java.lang.String);
descriptor: (Ljava/lang/String;)J
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
opPackageName
private static native boolean nativeGetSensorAtIndex(long, android.hardware.Sensor, int);
descriptor: (JLandroid/hardware/Sensor;I)Z
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
nativeInstance
sensor
index
private static native void nativeGetDynamicSensors(long, java.util.List<android.hardware.Sensor>);
descriptor: (JLjava/util/List;)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
Signature: (JLjava/util/List<Landroid/hardware/Sensor;>;)V
MethodParameters:
Name Flags
nativeInstance
list
private static native boolean nativeIsDataInjectionEnabled(long);
descriptor: (J)Z
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
nativeInstance
private static native int nativeCreateDirectChannel(long, long, int, int, android.hardware.HardwareBuffer);
descriptor: (JJIILandroid/hardware/HardwareBuffer;)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
nativeInstance
size
channelType
fd
buffer
private static native void nativeDestroyDirectChannel(long, int);
descriptor: (JI)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
nativeInstance
channelHandle
private static native int nativeConfigDirectChannel(long, int, int, int);
descriptor: (JIII)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
nativeInstance
channelHandle
sensorHandle
rate
private static native int nativeSetOperationParameter(long, int, int, float[], int[]);
descriptor: (JII[F[I)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
nativeInstance
handle
type
floatValues
intValues
public void <init>(android.content.Context, android.os.Looper);
descriptor: (Landroid/content/Context;Landroid/os/Looper;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial android.hardware.SensorManager.<init>:()V
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield android.hardware.SystemSensorManager.mFullSensorsList:Ljava/util/ArrayList;
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield android.hardware.SystemSensorManager.mFullDynamicSensorsList:Ljava/util/List;
3: aload 0
iconst_1
putfield android.hardware.SystemSensorManager.mDynamicSensorListDirty:Z
4: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield android.hardware.SystemSensorManager.mHandleToSensor:Ljava/util/HashMap;
5: aload 0
6: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield android.hardware.SystemSensorManager.mSensorListeners:Ljava/util/HashMap;
7: aload 0
8: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield android.hardware.SystemSensorManager.mTriggerListeners:Ljava/util/HashMap;
9: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield android.hardware.SystemSensorManager.mDynamicSensorCallbacks:Ljava/util/HashMap;
10: getstatic android.hardware.SystemSensorManager.sLock:Ljava/lang/Object;
dup
astore 3
monitorenter
11: getstatic android.hardware.SystemSensorManager.sNativeClassInited:Z
ifne 14
12: iconst_1
putstatic android.hardware.SystemSensorManager.sNativeClassInited:Z
13: invokestatic android.hardware.SystemSensorManager.nativeClassInit:()V
14: StackMap locals: android.hardware.SystemSensorManager android.content.Context android.os.Looper java.lang.Object
StackMap stack:
aload 3
monitorexit
15: goto 18
StackMap locals:
StackMap stack: java.lang.Throwable
16: aload 3
monitorexit
17: athrow
18: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield android.hardware.SystemSensorManager.mMainLooper:Landroid/os/Looper;
19: aload 0
aload 1
invokevirtual android.content.Context.getApplicationInfo:()Landroid/content/pm/ApplicationInfo;
getfield android.content.pm.ApplicationInfo.targetSdkVersion:I
putfield android.hardware.SystemSensorManager.mTargetSdkLevel:I
20: aload 0
aload 1
putfield android.hardware.SystemSensorManager.mContext:Landroid/content/Context;
21: aload 0
aload 1
invokevirtual android.content.Context.getOpPackageName:()Ljava/lang/String;
invokestatic android.hardware.SystemSensorManager.nativeCreate:(Ljava/lang/String;)J
putfield android.hardware.SystemSensorManager.mNativeInstance:J
22: iconst_0
istore 3
start local 3 23: StackMap locals: int
StackMap stack:
new android.hardware.Sensor
dup
invokespecial android.hardware.Sensor.<init>:()V
astore 4
start local 4 24: aload 0
getfield android.hardware.SystemSensorManager.mNativeInstance:J
aload 4
iload 3
invokestatic android.hardware.SystemSensorManager.nativeGetSensorAtIndex:(JLandroid/hardware/Sensor;I)Z
ifne 25
goto 28
25: StackMap locals: android.hardware.Sensor
StackMap stack:
aload 0
getfield android.hardware.SystemSensorManager.mFullSensorsList:Ljava/util/ArrayList;
aload 4
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
26: aload 0
getfield android.hardware.SystemSensorManager.mHandleToSensor:Ljava/util/HashMap;
aload 4
invokevirtual android.hardware.Sensor.getHandle:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 4
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 27: iinc 3 1
goto 23
end local 3 28: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Landroid/hardware/SystemSensorManager;
0 29 1 context Landroid/content/Context;
0 29 2 mainLooper Landroid/os/Looper;
23 28 3 index I
24 27 4 sensor Landroid/hardware/Sensor;
Exception table:
from to target type
11 15 16 any
16 17 16 any
MethodParameters:
Name Flags
context
mainLooper
protected java.util.List<android.hardware.Sensor> getFullSensorList();
descriptor: ()Ljava/util/List;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.hardware.SystemSensorManager.mFullSensorsList:Ljava/util/ArrayList;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/hardware/SystemSensorManager;
Signature: ()Ljava/util/List<Landroid/hardware/Sensor;>;
protected java.util.List<android.hardware.Sensor> getFullDynamicSensorList();
descriptor: ()Ljava/util/List;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.hardware.SystemSensorManager.setupDynamicSensorBroadcastReceiver:()V
1: aload 0
invokevirtual android.hardware.SystemSensorManager.updateDynamicSensorList:()V
2: aload 0
getfield android.hardware.SystemSensorManager.mFullDynamicSensorsList:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/hardware/SystemSensorManager;
Signature: ()Ljava/util/List<Landroid/hardware/Sensor;>;
protected boolean registerListenerImpl(android.hardware.SensorEventListener, android.hardware.Sensor, int, android.os.Handler, int, int);
descriptor: (Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;ILandroid/os/Handler;II)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=11, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 1
ifnull 1
aload 2
ifnonnull 3
1: StackMap locals:
StackMap stack:
ldc "SensorManager"
ldc "sensor or listener is null"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 2
invokevirtual android.hardware.Sensor.getReportingMode:()I
iconst_2
if_icmpne 6
4: ldc "SensorManager"
ldc "Trigger Sensors should use the requestTriggerSensor."
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
iload 5
iflt 7
iload 3
ifge 9
7: StackMap locals:
StackMap stack:
ldc "SensorManager"
ldc "maxBatchReportLatencyUs and delayUs should be non-negative"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.SystemSensorManager.mSensorListeners:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
sipush 128
if_icmplt 11
10: new java.lang.IllegalStateException
dup
ldc "register failed, the sensor listeners size has exceeded the maximum limit 128"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.SystemSensorManager.mSensorListeners:Ljava/util/HashMap;
dup
astore 7
monitorenter
12: aload 0
getfield android.hardware.SystemSensorManager.mSensorListeners:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.hardware.SystemSensorManager$SensorEventQueue
astore 8
start local 8 13: aload 8
ifnonnull 29
14: aload 4
ifnull 15
aload 4
invokevirtual android.os.Handler.getLooper:()Landroid/os/Looper;
goto 16
StackMap locals: java.util.HashMap android.hardware.SystemSensorManager$SensorEventQueue
StackMap stack:
15: aload 0
getfield android.hardware.SystemSensorManager.mMainLooper:Landroid/os/Looper;
StackMap locals:
StackMap stack: android.os.Looper
16: astore 9
start local 9 17: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getEnclosingClass:()Ljava/lang/Class;
ifnull 19
18: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getEnclosingClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
goto 20
19: StackMap locals: android.os.Looper
StackMap stack:
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
20: StackMap locals:
StackMap stack: java.lang.String
astore 10
start local 10 21: new android.hardware.SystemSensorManager$SensorEventQueue
dup
aload 1
aload 9
aload 0
aload 10
invokespecial android.hardware.SystemSensorManager$SensorEventQueue.<init>:(Landroid/hardware/SensorEventListener;Landroid/os/Looper;Landroid/hardware/SystemSensorManager;Ljava/lang/String;)V
astore 8
22: aload 8
aload 2
iload 3
iload 5
invokevirtual android.hardware.SystemSensorManager$SensorEventQueue.addSensor:(Landroid/hardware/Sensor;II)Z
ifne 26
23: aload 8
invokevirtual android.hardware.SystemSensorManager$SensorEventQueue.dispose:()V
24: aload 7
monitorexit
25: iconst_0
ireturn
26: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield android.hardware.SystemSensorManager.mSensorListeners:Ljava/util/HashMap;
aload 1
aload 8
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
27: aload 7
monitorexit
28: iconst_1
ireturn
end local 10 end local 9 29: StackMap locals:
StackMap stack:
aload 8
aload 2
iload 3
iload 5
invokevirtual android.hardware.SystemSensorManager$SensorEventQueue.addSensor:(Landroid/hardware/Sensor;II)Z
aload 7
monitorexit
30: ireturn
end local 8 31: StackMap locals: android.hardware.SystemSensorManager android.hardware.SensorEventListener android.hardware.Sensor int android.os.Handler int int java.util.HashMap
StackMap stack: java.lang.Throwable
aload 7
monitorexit
32: athrow
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 33 0 this Landroid/hardware/SystemSensorManager;
0 33 1 listener Landroid/hardware/SensorEventListener;
0 33 2 sensor Landroid/hardware/Sensor;
0 33 3 delayUs I
0 33 4 handler Landroid/os/Handler;
0 33 5 maxBatchReportLatencyUs I
0 33 6 reservedFlags I
13 31 8 queue Landroid/hardware/SystemSensorManager$SensorEventQueue;
17 29 9 looper Landroid/os/Looper;
21 29 10 fullClassName Ljava/lang/String;
Exception table:
from to target type
12 25 31 any
26 28 31 any
29 30 31 any
31 32 31 any
MethodParameters:
Name Flags
listener
sensor
delayUs
handler
maxBatchReportLatencyUs
reservedFlags
protected void unregisterListenerImpl(android.hardware.SensorEventListener, android.hardware.Sensor);
descriptor: (Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 2
aload 2
invokevirtual android.hardware.Sensor.getReportingMode:()I
iconst_2
if_icmpne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.SystemSensorManager.mSensorListeners:Ljava/util/HashMap;
dup
astore 3
monitorenter
3: aload 0
getfield android.hardware.SystemSensorManager.mSensorListeners:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.hardware.SystemSensorManager$SensorEventQueue
astore 4
start local 4 4: aload 4
ifnull 12
5: aload 2
ifnonnull 8
6: aload 4
invokevirtual android.hardware.SystemSensorManager$SensorEventQueue.removeAllSensors:()Z
istore 5
start local 5 7: goto 9
end local 5 8: StackMap locals: java.util.HashMap android.hardware.SystemSensorManager$SensorEventQueue
StackMap stack:
aload 4
aload 2
iconst_1
invokevirtual android.hardware.SystemSensorManager$SensorEventQueue.removeSensor:(Landroid/hardware/Sensor;Z)Z
istore 5
start local 5 9: StackMap locals: int
StackMap stack:
iload 5
ifeq 12
aload 4
invokevirtual android.hardware.SystemSensorManager$SensorEventQueue.hasSensors:()Z
ifne 12
10: aload 0
getfield android.hardware.SystemSensorManager.mSensorListeners:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
11: aload 4
invokevirtual android.hardware.SystemSensorManager$SensorEventQueue.dispose:()V
end local 5 end local 4 12: StackMap locals:
StackMap stack:
aload 3
monitorexit
13: goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
14: aload 3
monitorexit
15: athrow
16: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Landroid/hardware/SystemSensorManager;
0 17 1 listener Landroid/hardware/SensorEventListener;
0 17 2 sensor Landroid/hardware/Sensor;
4 12 4 queue Landroid/hardware/SystemSensorManager$SensorEventQueue;
7 8 5 result Z
9 12 5 result Z
Exception table:
from to target type
3 13 14 any
14 15 14 any
MethodParameters:
Name Flags
listener
sensor
protected boolean requestTriggerSensorImpl(android.hardware.TriggerEventListener, android.hardware.Sensor);
descriptor: (Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 1
new java.lang.IllegalArgumentException
dup
ldc "sensor cannot be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
aload 1
ifnonnull 2
new java.lang.IllegalArgumentException
dup
ldc "listener cannot be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual android.hardware.Sensor.getReportingMode:()I
iconst_2
if_icmpeq 3
iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.SystemSensorManager.mTriggerListeners:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
sipush 128
if_icmplt 5
4: new java.lang.IllegalStateException
dup
ldc "request failed, the trigger listeners size has exceeded the maximum limit 128"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.SystemSensorManager.mTriggerListeners:Ljava/util/HashMap;
dup
astore 3
monitorenter
6: aload 0
getfield android.hardware.SystemSensorManager.mTriggerListeners:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.hardware.SystemSensorManager$TriggerEventQueue
astore 4
start local 4 7: aload 4
ifnonnull 20
8: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getEnclosingClass:()Ljava/lang/Class;
ifnull 10
9: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getEnclosingClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
goto 11
10: StackMap locals: java.util.HashMap android.hardware.SystemSensorManager$TriggerEventQueue
StackMap stack:
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
11: StackMap locals:
StackMap stack: java.lang.String
astore 5
start local 5 12: new android.hardware.SystemSensorManager$TriggerEventQueue
dup
aload 1
aload 0
getfield android.hardware.SystemSensorManager.mMainLooper:Landroid/os/Looper;
aload 0
aload 5
invokespecial android.hardware.SystemSensorManager$TriggerEventQueue.<init>:(Landroid/hardware/TriggerEventListener;Landroid/os/Looper;Landroid/hardware/SystemSensorManager;Ljava/lang/String;)V
astore 4
13: aload 4
aload 2
iconst_0
iconst_0
invokevirtual android.hardware.SystemSensorManager$TriggerEventQueue.addSensor:(Landroid/hardware/Sensor;II)Z
ifne 17
14: aload 4
invokevirtual android.hardware.SystemSensorManager$TriggerEventQueue.dispose:()V
15: aload 3
monitorexit
16: iconst_0
ireturn
17: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield android.hardware.SystemSensorManager.mTriggerListeners:Ljava/util/HashMap;
aload 1
aload 4
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
18: aload 3
monitorexit
19: iconst_1
ireturn
end local 5 20: StackMap locals:
StackMap stack:
aload 4
aload 2
iconst_0
iconst_0
invokevirtual android.hardware.SystemSensorManager$TriggerEventQueue.addSensor:(Landroid/hardware/Sensor;II)Z
aload 3
monitorexit
21: ireturn
end local 4 22: StackMap locals: android.hardware.SystemSensorManager android.hardware.TriggerEventListener android.hardware.Sensor java.util.HashMap
StackMap stack: java.lang.Throwable
aload 3
monitorexit
23: athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Landroid/hardware/SystemSensorManager;
0 24 1 listener Landroid/hardware/TriggerEventListener;
0 24 2 sensor Landroid/hardware/Sensor;
7 22 4 queue Landroid/hardware/SystemSensorManager$TriggerEventQueue;
12 20 5 fullClassName Ljava/lang/String;
Exception table:
from to target type
6 16 22 any
17 19 22 any
20 21 22 any
22 23 22 any
MethodParameters:
Name Flags
listener
sensor
protected boolean cancelTriggerSensorImpl(android.hardware.TriggerEventListener, android.hardware.Sensor, boolean);
descriptor: (Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;Z)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnull 2
aload 2
invokevirtual android.hardware.Sensor.getReportingMode:()I
iconst_2
if_icmpeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.SystemSensorManager.mTriggerListeners:Ljava/util/HashMap;
dup
astore 4
monitorenter
3: aload 0
getfield android.hardware.SystemSensorManager.mTriggerListeners:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.hardware.SystemSensorManager$TriggerEventQueue
astore 5
start local 5 4: aload 5
ifnull 14
5: aload 2
ifnonnull 8
6: aload 5
invokevirtual android.hardware.SystemSensorManager$TriggerEventQueue.removeAllSensors:()Z
istore 6
start local 6 7: goto 9
end local 6 8: StackMap locals: java.util.HashMap android.hardware.SystemSensorManager$TriggerEventQueue
StackMap stack:
aload 5
aload 2
iload 3
invokevirtual android.hardware.SystemSensorManager$TriggerEventQueue.removeSensor:(Landroid/hardware/Sensor;Z)Z
istore 6
start local 6 9: StackMap locals: int
StackMap stack:
iload 6
ifeq 12
aload 5
invokevirtual android.hardware.SystemSensorManager$TriggerEventQueue.hasSensors:()Z
ifne 12
10: aload 0
getfield android.hardware.SystemSensorManager.mTriggerListeners:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
11: aload 5
invokevirtual android.hardware.SystemSensorManager$TriggerEventQueue.dispose:()V
12: StackMap locals:
StackMap stack:
iload 6
aload 4
monitorexit
13: ireturn
end local 6 14: StackMap locals:
StackMap stack:
aload 4
monitorexit
15: iconst_0
ireturn
end local 5 16: StackMap locals: android.hardware.SystemSensorManager android.hardware.TriggerEventListener android.hardware.Sensor int java.util.HashMap
StackMap stack: java.lang.Throwable
aload 4
monitorexit
17: athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Landroid/hardware/SystemSensorManager;
0 18 1 listener Landroid/hardware/TriggerEventListener;
0 18 2 sensor Landroid/hardware/Sensor;
0 18 3 disable Z
4 16 5 queue Landroid/hardware/SystemSensorManager$TriggerEventQueue;
7 8 6 result Z
9 14 6 result Z
Exception table:
from to target type
3 13 16 any
14 15 16 any
16 17 16 any
MethodParameters:
Name Flags
listener
sensor
disable
protected boolean flushImpl(android.hardware.SensorEventListener);
descriptor: (Landroid/hardware/SensorEventListener;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
new java.lang.IllegalArgumentException
dup
ldc "listener cannot be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.SystemSensorManager.mSensorListeners:Ljava/util/HashMap;
dup
astore 2
monitorenter
2: aload 0
getfield android.hardware.SystemSensorManager.mSensorListeners:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.hardware.SystemSensorManager$SensorEventQueue
astore 3
start local 3 3: aload 3
ifnonnull 6
4: aload 2
monitorexit
5: iconst_0
ireturn
6: StackMap locals: java.util.HashMap android.hardware.SystemSensorManager$SensorEventQueue
StackMap stack:
aload 3
invokevirtual android.hardware.SystemSensorManager$SensorEventQueue.flush:()I
ifne 7
iconst_1
goto 8
StackMap locals:
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: aload 2
monitorexit
9: ireturn
end local 3 10: StackMap locals: android.hardware.SystemSensorManager android.hardware.SensorEventListener java.util.HashMap
StackMap stack: java.lang.Throwable
aload 2
monitorexit
11: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/hardware/SystemSensorManager;
0 12 1 listener Landroid/hardware/SensorEventListener;
3 10 3 queue Landroid/hardware/SystemSensorManager$SensorEventQueue;
Exception table:
from to target type
2 5 10 any
6 9 10 any
10 11 10 any
MethodParameters:
Name Flags
listener
protected boolean initDataInjectionImpl(boolean);
descriptor: (Z)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: getstatic android.hardware.SystemSensorManager.sLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: iload 1
ifeq 18
2: aload 0
getfield android.hardware.SystemSensorManager.mNativeInstance:J
invokestatic android.hardware.SystemSensorManager.nativeIsDataInjectionEnabled:(J)Z
istore 3
start local 3 3: iload 3
ifne 7
4: ldc "SensorManager"
ldc "Data Injection mode not enabled"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
5: aload 2
monitorexit
6: iconst_0
ireturn
7: StackMap locals: java.lang.Object int
StackMap stack:
getstatic android.hardware.SystemSensorManager.sInjectEventQueue:Landroid/hardware/SystemSensorManager$InjectEventQueue;
ifnonnull 14
8: new android.hardware.SystemSensorManager$InjectEventQueue
dup
aload 0
9: aload 0
getfield android.hardware.SystemSensorManager.mMainLooper:Landroid/os/Looper;
aload 0
aload 0
getfield android.hardware.SystemSensorManager.mContext:Landroid/content/Context;
invokevirtual android.content.Context.getPackageName:()Ljava/lang/String;
10: invokespecial android.hardware.SystemSensorManager$InjectEventQueue.<init>:(Landroid/hardware/SystemSensorManager;Landroid/os/Looper;Landroid/hardware/SystemSensorManager;Ljava/lang/String;)V
putstatic android.hardware.SystemSensorManager.sInjectEventQueue:Landroid/hardware/SystemSensorManager$InjectEventQueue;
11: goto 14
StackMap locals:
StackMap stack: java.lang.RuntimeException
12: astore 4
start local 4 13: ldc "SensorManager"
new java.lang.StringBuilder
dup
ldc "Cannot create InjectEventQueue: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
end local 4 14: StackMap locals:
StackMap stack:
getstatic android.hardware.SystemSensorManager.sInjectEventQueue:Landroid/hardware/SystemSensorManager$InjectEventQueue;
ifnull 15
iconst_1
goto 16
StackMap locals:
StackMap stack:
15: iconst_0
StackMap locals:
StackMap stack: int
16: aload 2
monitorexit
17: ireturn
end local 3 18: StackMap locals:
StackMap stack:
getstatic android.hardware.SystemSensorManager.sInjectEventQueue:Landroid/hardware/SystemSensorManager$InjectEventQueue;
ifnull 21
19: getstatic android.hardware.SystemSensorManager.sInjectEventQueue:Landroid/hardware/SystemSensorManager$InjectEventQueue;
invokevirtual android.hardware.SystemSensorManager$InjectEventQueue.dispose:()V
20: aconst_null
putstatic android.hardware.SystemSensorManager.sInjectEventQueue:Landroid/hardware/SystemSensorManager$InjectEventQueue;
21: StackMap locals:
StackMap stack:
aload 2
monitorexit
22: iconst_1
ireturn
23: StackMap locals:
StackMap stack: java.lang.Throwable
aload 2
monitorexit
24: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Landroid/hardware/SystemSensorManager;
0 25 1 enable Z
3 18 3 isDataInjectionModeEnabled Z
13 14 4 e Ljava/lang/RuntimeException;
Exception table:
from to target type
8 11 12 Class java.lang.RuntimeException
1 6 23 any
7 17 23 any
18 22 23 any
23 24 23 any
MethodParameters:
Name Flags
enable
protected boolean injectSensorDataImpl(android.hardware.Sensor, float[], int, long);
descriptor: (Landroid/hardware/Sensor;[FIJ)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic android.hardware.SystemSensorManager.sLock:Ljava/lang/Object;
dup
astore 6
monitorenter
1: getstatic android.hardware.SystemSensorManager.sInjectEventQueue:Landroid/hardware/SystemSensorManager$InjectEventQueue;
ifnonnull 5
2: ldc "SensorManager"
ldc "Data injection mode not activated before calling injectSensorData"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
3: aload 6
monitorexit
4: iconst_0
ireturn
5: StackMap locals: java.lang.Object
StackMap stack:
getstatic android.hardware.SystemSensorManager.sInjectEventQueue:Landroid/hardware/SystemSensorManager$InjectEventQueue;
aload 1
invokevirtual android.hardware.Sensor.getHandle:()I
aload 2
iload 3
6: lload 4
7: invokevirtual android.hardware.SystemSensorManager$InjectEventQueue.injectSensorData:(I[FIJ)I
istore 7
start local 7 8: iload 7
ifeq 11
9: getstatic android.hardware.SystemSensorManager.sInjectEventQueue:Landroid/hardware/SystemSensorManager$InjectEventQueue;
invokevirtual android.hardware.SystemSensorManager$InjectEventQueue.dispose:()V
10: aconst_null
putstatic android.hardware.SystemSensorManager.sInjectEventQueue:Landroid/hardware/SystemSensorManager$InjectEventQueue;
11: StackMap locals: int
StackMap stack:
iload 7
ifne 12
iconst_1
goto 13
StackMap locals:
StackMap stack:
12: iconst_0
StackMap locals:
StackMap stack: int
13: aload 6
monitorexit
14: ireturn
end local 7 15: StackMap locals: android.hardware.SystemSensorManager android.hardware.Sensor float[] int long java.lang.Object
StackMap stack: java.lang.Throwable
aload 6
monitorexit
16: athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Landroid/hardware/SystemSensorManager;
0 17 1 sensor Landroid/hardware/Sensor;
0 17 2 values [F
0 17 3 accuracy I
0 17 4 timestamp J
8 15 7 ret I
Exception table:
from to target type
1 4 15 any
5 14 15 any
15 16 15 any
MethodParameters:
Name Flags
sensor
values
accuracy
timestamp
private void cleanupSensorConnection(android.hardware.Sensor);
descriptor: (Landroid/hardware/Sensor;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield android.hardware.SystemSensorManager.mHandleToSensor:Ljava/util/HashMap;
aload 1
invokevirtual android.hardware.Sensor.getHandle:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 1
invokevirtual android.hardware.Sensor.getReportingMode:()I
iconst_2
if_icmpne 16
2: aload 0
getfield android.hardware.SystemSensorManager.mTriggerListeners:Ljava/util/HashMap;
dup
astore 2
monitorenter
3: new java.util.HashMap
dup
aload 0
getfield android.hardware.SystemSensorManager.mTriggerListeners:Ljava/util/HashMap;
invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
4: astore 3
start local 3 5: aload 3
invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 11
StackMap locals: android.hardware.SystemSensorManager android.hardware.Sensor java.util.HashMap java.util.HashMap top java.util.Iterator
StackMap stack:
6: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.hardware.TriggerEventListener
astore 4
start local 4 7: ldc "SensorManager"
new java.lang.StringBuilder
dup
ldc "removed trigger listener"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: ldc " due to sensor disconnection"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokestatic android.util.Log.i:(Ljava/lang/String;Ljava/lang/String;)I
pop
10: aload 0
aload 4
aload 1
iconst_1
invokevirtual android.hardware.SystemSensorManager.cancelTriggerSensorImpl:(Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;Z)Z
pop
end local 4 11: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
end local 3 12: aload 2
monitorexit
13: goto 30
StackMap locals: android.hardware.SystemSensorManager android.hardware.Sensor java.util.HashMap
StackMap stack: java.lang.Throwable
14: aload 2
monitorexit
15: athrow
16: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.SystemSensorManager.mSensorListeners:Ljava/util/HashMap;
dup
astore 2
monitorenter
17: new java.util.HashMap
dup
aload 0
getfield android.hardware.SystemSensorManager.mSensorListeners:Ljava/util/HashMap;
invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
18: astore 3
start local 3 19: aload 3
invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 25
StackMap locals: android.hardware.SystemSensorManager android.hardware.Sensor java.util.HashMap java.util.HashMap top java.util.Iterator
StackMap stack:
20: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.hardware.SensorEventListener
astore 4
start local 4 21: ldc "SensorManager"
new java.lang.StringBuilder
dup
ldc "removed event listener"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
22: ldc " due to sensor disconnection"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokestatic android.util.Log.i:(Ljava/lang/String;Ljava/lang/String;)I
pop
24: aload 0
aload 4
aload 1
invokevirtual android.hardware.SystemSensorManager.unregisterListenerImpl:(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;)V
end local 4 25: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 20
end local 3 26: aload 2
monitorexit
27: goto 30
StackMap locals: android.hardware.SystemSensorManager android.hardware.Sensor java.util.HashMap
StackMap stack: java.lang.Throwable
28: aload 2
monitorexit
29: athrow
30: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Landroid/hardware/SystemSensorManager;
0 31 1 sensor Landroid/hardware/Sensor;
5 12 3 triggerListeners Ljava/util/HashMap<Landroid/hardware/TriggerEventListener;Landroid/hardware/SystemSensorManager$TriggerEventQueue;>;
7 11 4 l Landroid/hardware/TriggerEventListener;
19 26 3 sensorListeners Ljava/util/HashMap<Landroid/hardware/SensorEventListener;Landroid/hardware/SystemSensorManager$SensorEventQueue;>;
21 25 4 l Landroid/hardware/SensorEventListener;
Exception table:
from to target type
3 13 14 any
14 15 14 any
17 27 28 any
28 29 28 any
MethodParameters:
Name Flags
sensor
private void updateDynamicSensorList();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=12, args_size=1
start local 0 0: aload 0
getfield android.hardware.SystemSensorManager.mFullDynamicSensorsList:Ljava/util/List;
dup
astore 1
monitorenter
1: aload 0
getfield android.hardware.SystemSensorManager.mDynamicSensorListDirty:Z
ifeq 30
2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 3: aload 0
getfield android.hardware.SystemSensorManager.mNativeInstance:J
aload 2
invokestatic android.hardware.SystemSensorManager.nativeGetDynamicSensors:(JLjava/util/List;)V
4: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 5: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 6: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 7: aload 0
getfield android.hardware.SystemSensorManager.mFullDynamicSensorsList:Ljava/util/List;
aload 2
aload 3
aload 4
aload 5
8: invokestatic android.hardware.SystemSensorManager.diffSortedSensorList:(Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;)Z
istore 6
start local 6 9: iload 6
ifeq 29
10: ldc "SensorManager"
ldc "DYNS dynamic sensor list cached should be updated"
invokestatic android.util.Log.i:(Ljava/lang/String;Ljava/lang/String;)I
pop
11: aload 0
aload 3
putfield android.hardware.SystemSensorManager.mFullDynamicSensorsList:Ljava/util/List;
12: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 15
StackMap locals: android.hardware.SystemSensorManager java.util.List java.util.List java.util.List java.util.List java.util.List int top java.util.Iterator
StackMap stack:
13: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.hardware.Sensor
astore 7
start local 7 14: aload 0
getfield android.hardware.SystemSensorManager.mHandleToSensor:Ljava/util/HashMap;
aload 7
invokevirtual android.hardware.Sensor.getHandle:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 7
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 7 15: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
16: new android.os.Handler
dup
aload 0
getfield android.hardware.SystemSensorManager.mContext:Landroid/content/Context;
invokevirtual android.content.Context.getMainLooper:()Landroid/os/Looper;
invokespecial android.os.Handler.<init>:(Landroid/os/Looper;)V
astore 7
start local 7 17: aload 0
getfield android.hardware.SystemSensorManager.mDynamicSensorCallbacks:Ljava/util/HashMap;
invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 9
goto 24
StackMap locals: android.hardware.SystemSensorManager java.util.List java.util.List java.util.List java.util.List java.util.List int android.os.Handler top java.util.Iterator
StackMap stack:
18: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 8
start local 8 19: aload 8
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast android.hardware.SensorManager$DynamicSensorCallback
astore 10
start local 10 20: aload 8
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
ifnonnull 21
aload 7
goto 22
StackMap locals: android.hardware.SystemSensorManager java.util.List java.util.List java.util.List java.util.List java.util.List int android.os.Handler java.util.Map$Entry java.util.Iterator android.hardware.SensorManager$DynamicSensorCallback
StackMap stack:
21: aload 8
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast android.os.Handler
22: StackMap locals:
StackMap stack: android.os.Handler
astore 11
start local 11 23: aload 11
new android.hardware.SystemSensorManager$1
dup
aload 0
aload 4
aload 10
aload 5
invokespecial android.hardware.SystemSensorManager$1.<init>:(Landroid/hardware/SystemSensorManager;Ljava/util/List;Landroid/hardware/SensorManager$DynamicSensorCallback;Ljava/util/List;)V
invokevirtual android.os.Handler.post:(Ljava/lang/Runnable;)Z
pop
end local 11 end local 10 end local 8 24: StackMap locals: android.hardware.SystemSensorManager java.util.List java.util.List java.util.List java.util.List java.util.List int android.os.Handler top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
25: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 28
StackMap locals:
StackMap stack:
26: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.hardware.Sensor
astore 8
start local 8 27: aload 0
aload 8
invokevirtual android.hardware.SystemSensorManager.cleanupSensorConnection:(Landroid/hardware/Sensor;)V
end local 8 28: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
end local 7 29: StackMap locals: android.hardware.SystemSensorManager java.util.List java.util.List java.util.List java.util.List java.util.List int
StackMap stack:
aload 0
iconst_0
putfield android.hardware.SystemSensorManager.mDynamicSensorListDirty:Z
end local 6 end local 5 end local 4 end local 3 end local 2 30: StackMap locals: android.hardware.SystemSensorManager java.util.List
StackMap stack:
aload 1
monitorexit
31: goto 34
StackMap locals:
StackMap stack: java.lang.Throwable
32: aload 1
monitorexit
33: athrow
34: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Landroid/hardware/SystemSensorManager;
3 30 2 list Ljava/util/List<Landroid/hardware/Sensor;>;
5 30 3 updatedList Ljava/util/List<Landroid/hardware/Sensor;>;
6 30 4 addedList Ljava/util/List<Landroid/hardware/Sensor;>;
7 30 5 removedList Ljava/util/List<Landroid/hardware/Sensor;>;
9 30 6 changed Z
14 15 7 s Landroid/hardware/Sensor;
17 29 7 mainHandler Landroid/os/Handler;
19 24 8 entry Ljava/util/Map$Entry<Landroid/hardware/SensorManager$DynamicSensorCallback;Landroid/os/Handler;>;
20 24 10 callback Landroid/hardware/SensorManager$DynamicSensorCallback;
23 24 11 handler Landroid/os/Handler;
27 28 8 s Landroid/hardware/Sensor;
Exception table:
from to target type
1 31 32 any
32 33 32 any
private void setupDynamicSensorBroadcastReceiver();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield android.hardware.SystemSensorManager.mDynamicSensorBroadcastReceiver:Landroid/content/BroadcastReceiver;
ifnonnull 5
1: aload 0
new android.hardware.SystemSensorManager$2
dup
aload 0
invokespecial android.hardware.SystemSensorManager$2.<init>:(Landroid/hardware/SystemSensorManager;)V
putfield android.hardware.SystemSensorManager.mDynamicSensorBroadcastReceiver:Landroid/content/BroadcastReceiver;
2: new android.content.IntentFilter
dup
ldc "dynamic_sensor_change"
invokespecial android.content.IntentFilter.<init>:(Ljava/lang/String;)V
astore 1
start local 1 3: aload 1
ldc "android.intent.action.DYNAMIC_SENSOR_CHANGED"
invokevirtual android.content.IntentFilter.addAction:(Ljava/lang/String;)V
4: aload 0
getfield android.hardware.SystemSensorManager.mContext:Landroid/content/Context;
aload 0
getfield android.hardware.SystemSensorManager.mDynamicSensorBroadcastReceiver:Landroid/content/BroadcastReceiver;
aload 1
invokevirtual android.content.Context.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
pop
end local 1 5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/hardware/SystemSensorManager;
3 5 1 filter Landroid/content/IntentFilter;
private void teardownDynamicSensorBroadcastReceiver();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.hardware.SystemSensorManager.mDynamicSensorCallbacks:Ljava/util/HashMap;
invokevirtual java.util.HashMap.clear:()V
1: aload 0
getfield android.hardware.SystemSensorManager.mContext:Landroid/content/Context;
aload 0
getfield android.hardware.SystemSensorManager.mDynamicSensorBroadcastReceiver:Landroid/content/BroadcastReceiver;
invokevirtual android.content.Context.unregisterReceiver:(Landroid/content/BroadcastReceiver;)V
2: aload 0
aconst_null
putfield android.hardware.SystemSensorManager.mDynamicSensorBroadcastReceiver:Landroid/content/BroadcastReceiver;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/hardware/SystemSensorManager;
protected void registerDynamicSensorCallbackImpl(android.hardware.SensorManager$DynamicSensorCallback, android.os.Handler);
descriptor: (Landroid/hardware/SensorManager$DynamicSensorCallback;Landroid/os/Handler;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: ldc "SensorManager"
ldc "DYNS Register dynamic sensor callback"
invokestatic android.util.Log.i:(Ljava/lang/String;Ljava/lang/String;)I
pop
1: aload 1
ifnonnull 3
2: new java.lang.IllegalArgumentException
dup
ldc "callback cannot be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.SystemSensorManager.mDynamicSensorCallbacks:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
ifeq 5
4: return
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.hardware.SystemSensorManager.setupDynamicSensorBroadcastReceiver:()V
6: aload 0
getfield android.hardware.SystemSensorManager.mDynamicSensorCallbacks:Ljava/util/HashMap;
aload 1
aload 2
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/hardware/SystemSensorManager;
0 8 1 callback Landroid/hardware/SensorManager$DynamicSensorCallback;
0 8 2 handler Landroid/os/Handler;
MethodParameters:
Name Flags
callback
handler
protected void unregisterDynamicSensorCallbackImpl(android.hardware.SensorManager$DynamicSensorCallback);
descriptor: (Landroid/hardware/SensorManager$DynamicSensorCallback;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: ldc "SensorManager"
ldc "Removing dynamic sensor listerner"
invokestatic android.util.Log.i:(Ljava/lang/String;Ljava/lang/String;)I
pop
1: aload 0
getfield android.hardware.SystemSensorManager.mDynamicSensorCallbacks:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/hardware/SystemSensorManager;
0 3 1 callback Landroid/hardware/SensorManager$DynamicSensorCallback;
MethodParameters:
Name Flags
callback
private static boolean diffSortedSensorList(java.util.List<android.hardware.Sensor>, java.util.List<android.hardware.Sensor>, java.util.List<android.hardware.Sensor>, java.util.List<android.hardware.Sensor>, java.util.List<android.hardware.Sensor>);
descriptor: (Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: iconst_0
istore 6
start local 6 2: iconst_0
istore 7
start local 7 3: StackMap locals: int int int
StackMap stack:
iload 7
aload 0
invokeinterface java.util.List.size:()I
if_icmpge 10
iload 6
aload 1
invokeinterface java.util.List.size:()I
if_icmpge 5
4: aload 1
iload 6
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast android.hardware.Sensor
invokevirtual android.hardware.Sensor.getHandle:()I
aload 0
iload 7
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast android.hardware.Sensor
invokevirtual android.hardware.Sensor.getHandle:()I
if_icmple 10
5: StackMap locals:
StackMap stack:
iconst_1
istore 5
6: aload 4
ifnull 8
7: aload 4
aload 0
iload 7
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast android.hardware.Sensor
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
8: StackMap locals:
StackMap stack:
iinc 7 1
9: goto 3
StackMap locals:
StackMap stack:
10: iload 6
aload 1
invokeinterface java.util.List.size:()I
if_icmpge 19
iload 7
aload 0
invokeinterface java.util.List.size:()I
if_icmpge 12
11: aload 1
iload 6
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast android.hardware.Sensor
invokevirtual android.hardware.Sensor.getHandle:()I
aload 0
iload 7
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast android.hardware.Sensor
invokevirtual android.hardware.Sensor.getHandle:()I
if_icmpge 19
12: StackMap locals:
StackMap stack:
iconst_1
istore 5
13: aload 3
ifnull 15
14: aload 3
aload 1
iload 6
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast android.hardware.Sensor
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
15: StackMap locals:
StackMap stack:
aload 2
ifnull 17
16: aload 2
aload 1
iload 6
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast android.hardware.Sensor
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
17: StackMap locals:
StackMap stack:
iinc 6 1
18: goto 3
StackMap locals:
StackMap stack:
19: iload 6
aload 1
invokeinterface java.util.List.size:()I
if_icmpge 26
iload 7
aload 0
invokeinterface java.util.List.size:()I
if_icmpge 26
20: aload 1
iload 6
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast android.hardware.Sensor
invokevirtual android.hardware.Sensor.getHandle:()I
aload 0
iload 7
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast android.hardware.Sensor
invokevirtual android.hardware.Sensor.getHandle:()I
if_icmpne 26
21: aload 2
ifnull 23
22: aload 2
aload 0
iload 7
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast android.hardware.Sensor
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
23: StackMap locals:
StackMap stack:
iinc 6 1
24: iinc 7 1
25: goto 3
26: StackMap locals:
StackMap stack:
iload 5
ireturn
end local 7 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 27 0 oldList Ljava/util/List<Landroid/hardware/Sensor;>;
0 27 1 newList Ljava/util/List<Landroid/hardware/Sensor;>;
0 27 2 updated Ljava/util/List<Landroid/hardware/Sensor;>;
0 27 3 added Ljava/util/List<Landroid/hardware/Sensor;>;
0 27 4 removed Ljava/util/List<Landroid/hardware/Sensor;>;
1 27 5 changed Z
2 27 6 i I
3 27 7 j I
Signature: (Ljava/util/List<Landroid/hardware/Sensor;>;Ljava/util/List<Landroid/hardware/Sensor;>;Ljava/util/List<Landroid/hardware/Sensor;>;Ljava/util/List<Landroid/hardware/Sensor;>;Ljava/util/List<Landroid/hardware/Sensor;>;)Z
MethodParameters:
Name Flags
oldList
newList
updated
added
removed
protected int configureDirectChannelImpl(android.hardware.SensorDirectChannel, android.hardware.Sensor, int);
descriptor: (Landroid/hardware/SensorDirectChannel;Landroid/hardware/Sensor;I)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual android.hardware.SensorDirectChannel.isOpen:()Z
ifne 2
1: new java.lang.IllegalStateException
dup
ldc "channel is closed"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 3
iflt 4
3: iload 3
iconst_3
if_icmple 5
4: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "rate parameter invalid"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 2
ifnonnull 9
iload 3
ifeq 9
6: new java.lang.IllegalArgumentException
dup
7: ldc "when sensor is null, rate can only be DIRECT_RATE_STOP"
8: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 2
ifnonnull 10
iconst_m1
goto 11
StackMap locals:
StackMap stack:
10: aload 2
invokevirtual android.hardware.Sensor.getHandle:()I
StackMap locals:
StackMap stack: int
11: istore 4
start local 4 12: aload 0
getfield android.hardware.SystemSensorManager.mNativeInstance:J
aload 1
invokevirtual android.hardware.SensorDirectChannel.getNativeHandle:()I
iload 4
iload 3
13: invokestatic android.hardware.SystemSensorManager.nativeConfigDirectChannel:(JIII)I
istore 5
start local 5 14: iload 3
ifne 18
15: iload 5
ifne 16
iconst_1
goto 17
StackMap locals: int int
StackMap stack:
16: iconst_0
StackMap locals:
StackMap stack: int
17: ireturn
18: StackMap locals:
StackMap stack:
iload 5
ifle 19
iload 5
goto 20
StackMap locals:
StackMap stack:
19: iconst_0
StackMap locals:
StackMap stack: int
20: 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 21 0 this Landroid/hardware/SystemSensorManager;
0 21 1 channel Landroid/hardware/SensorDirectChannel;
0 21 2 sensor Landroid/hardware/Sensor;
0 21 3 rate I
12 21 4 sensorHandle I
14 21 5 ret I
MethodParameters:
Name Flags
channel
sensor
rate
protected android.hardware.SensorDirectChannel createDirectChannelImpl(android.os.MemoryFile, android.hardware.HardwareBuffer);
descriptor: (Landroid/os/MemoryFile;Landroid/hardware/HardwareBuffer;)Landroid/hardware/SensorDirectChannel;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tThe method getInt$() is undefined for the type FileDescriptor\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/SystemSensorManager;
MethodParameters:
Name Flags
memoryFile
hardwareBuffer
protected void destroyDirectChannelImpl(android.hardware.SensorDirectChannel);
descriptor: (Landroid/hardware/SensorDirectChannel;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 2
1: aload 0
getfield android.hardware.SystemSensorManager.mNativeInstance:J
aload 1
invokevirtual android.hardware.SensorDirectChannel.getNativeHandle:()I
invokestatic android.hardware.SystemSensorManager.nativeDestroyDirectChannel:(JI)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/hardware/SystemSensorManager;
0 3 1 channel Landroid/hardware/SensorDirectChannel;
MethodParameters:
Name Flags
channel
protected boolean setOperationParameterImpl(android.hardware.SensorAdditionalInfo);
descriptor: (Landroid/hardware/SensorAdditionalInfo;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: iconst_m1
istore 2
start local 2 1: aload 1
getfield android.hardware.SensorAdditionalInfo.sensor:Landroid/hardware/Sensor;
ifnull 2
aload 1
getfield android.hardware.SensorAdditionalInfo.sensor:Landroid/hardware/Sensor;
invokevirtual android.hardware.Sensor.getHandle:()I
istore 2
2: StackMap locals: int
StackMap stack:
aload 0
getfield android.hardware.SystemSensorManager.mNativeInstance:J
iload 2
3: aload 1
getfield android.hardware.SensorAdditionalInfo.type:I
aload 1
getfield android.hardware.SensorAdditionalInfo.floatValues:[F
aload 1
getfield android.hardware.SensorAdditionalInfo.intValues:[I
4: invokestatic android.hardware.SystemSensorManager.nativeSetOperationParameter:(JII[F[I)I
ifne 5
iconst_1
ireturn
StackMap locals:
StackMap stack:
5: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/hardware/SystemSensorManager;
0 6 1 parameter Landroid/hardware/SensorAdditionalInfo;
1 6 2 handle I
MethodParameters:
Name Flags
parameter
}
SourceFile: "SystemSensorManager.java"
NestMembers:
android.hardware.SystemSensorManager$1 android.hardware.SystemSensorManager$2 android.hardware.SystemSensorManager$BaseEventQueue android.hardware.SystemSensorManager$InjectEventQueue android.hardware.SystemSensorManager$SensorEventQueue android.hardware.SystemSensorManager$TriggerEventQueue
InnerClasses:
public abstract DynamicSensorCallback = android.hardware.SensorManager$DynamicSensorCallback of android.hardware.SensorManager
android.hardware.SystemSensorManager$1
android.hardware.SystemSensorManager$2
private abstract BaseEventQueue = android.hardware.SystemSensorManager$BaseEventQueue of android.hardware.SystemSensorManager
final InjectEventQueue = android.hardware.SystemSensorManager$InjectEventQueue of android.hardware.SystemSensorManager
final SensorEventQueue = android.hardware.SystemSensorManager$SensorEventQueue of android.hardware.SystemSensorManager
final TriggerEventQueue = android.hardware.SystemSensorManager$TriggerEventQueue of android.hardware.SystemSensorManager
public abstract Entry = java.util.Map$Entry of java.util.Map