final class android.hardware.SystemSensorManager$SensorEventQueue extends android.hardware.SystemSensorManager$BaseEventQueue
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: android.hardware.SystemSensorManager$SensorEventQueue
  super_class: android.hardware.SystemSensorManager$BaseEventQueue
{
  private final android.hardware.SensorEventListener mListener;
    descriptor: Landroid/hardware/SensorEventListener;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.util.SparseArray<android.hardware.SensorEvent> mSensorsEvents;
    descriptor: Landroid/util/SparseArray;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Landroid/util/SparseArray<Landroid/hardware/SensorEvent;>;

  public void <init>(android.hardware.SensorEventListener, android.os.Looper, android.hardware.SystemSensorManager, java.lang.String);
    descriptor: (Landroid/hardware/SensorEventListener;Landroid/os/Looper;Landroid/hardware/SystemSensorManager;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // android.hardware.SystemSensorManager$SensorEventQueue this
        start local 1 // android.hardware.SensorEventListener listener
        start local 2 // android.os.Looper looper
        start local 3 // android.hardware.SystemSensorManager manager
        start local 4 // java.lang.String packageName
         0: .line 780
            aload 0 /* this */
            aload 2 /* looper */
            aload 3 /* manager */
            iconst_0
            aload 4 /* packageName */
            invokespecial android.hardware.SystemSensorManager$BaseEventQueue.<init>:(Landroid/os/Looper;Landroid/hardware/SystemSensorManager;ILjava/lang/String;)V
         1: .line 776
            aload 0 /* this */
            new android.util.SparseArray
            dup
            invokespecial android.util.SparseArray.<init>:()V
            putfield android.hardware.SystemSensorManager$SensorEventQueue.mSensorsEvents:Landroid/util/SparseArray;
         2: .line 781
            aload 0 /* this */
            aload 1 /* listener */
            putfield android.hardware.SystemSensorManager$SensorEventQueue.mListener:Landroid/hardware/SensorEventListener;
         3: .line 782
            return
        end local 4 // java.lang.String packageName
        end local 3 // android.hardware.SystemSensorManager manager
        end local 2 // android.os.Looper looper
        end local 1 // android.hardware.SensorEventListener listener
        end local 0 // android.hardware.SystemSensorManager$SensorEventQueue this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Landroid/hardware/SystemSensorManager$SensorEventQueue;
            0    4     1     listener  Landroid/hardware/SensorEventListener;
            0    4     2       looper  Landroid/os/Looper;
            0    4     3      manager  Landroid/hardware/SystemSensorManager;
            0    4     4  packageName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      listener     
      looper       
      manager      
      packageName  

  public void addSensorEvent(android.hardware.Sensor);
    descriptor: (Landroid/hardware/Sensor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // android.hardware.SystemSensorManager$SensorEventQueue this
        start local 1 // android.hardware.Sensor sensor
         0: .line 786
            new android.hardware.SensorEvent
            dup
            aload 1 /* sensor */
         1: .line 787
            aload 0 /* this */
            getfield android.hardware.SystemSensorManager$SensorEventQueue.mManager:Landroid/hardware/SystemSensorManager;
            getfield android.hardware.SystemSensorManager.mTargetSdkLevel:I
         2: .line 786
            invokestatic android.hardware.Sensor.getMaxLengthValuesArray:(Landroid/hardware/Sensor;I)I
            invokespecial android.hardware.SensorEvent.<init>:(I)V
            astore 2 /* t */
        start local 2 // android.hardware.SensorEvent t
         3: .line 788
            aload 0 /* this */
            getfield android.hardware.SystemSensorManager$SensorEventQueue.mSensorsEvents:Landroid/util/SparseArray;
            dup
            astore 3
            monitorenter
         4: .line 789
            aload 0 /* this */
            getfield android.hardware.SystemSensorManager$SensorEventQueue.mSensorsEvents:Landroid/util/SparseArray;
            aload 1 /* sensor */
            invokevirtual android.hardware.Sensor.getHandle:()I
            aload 2 /* t */
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
         5: .line 788
            aload 3
            monitorexit
         6: goto 9
      StackMap locals: android.hardware.SystemSensorManager$SensorEventQueue android.hardware.Sensor android.hardware.SensorEvent android.util.SparseArray
      StackMap stack: java.lang.Throwable
         7: aload 3
            monitorexit
         8: athrow
         9: .line 791
      StackMap locals:
      StackMap stack:
            return
        end local 2 // android.hardware.SensorEvent t
        end local 1 // android.hardware.Sensor sensor
        end local 0 // android.hardware.SystemSensorManager$SensorEventQueue this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Landroid/hardware/SystemSensorManager$SensorEventQueue;
            0   10     1  sensor  Landroid/hardware/Sensor;
            3   10     2       t  Landroid/hardware/SensorEvent;
      Exception table:
        from    to  target  type
           4     6       7  any
           7     8       7  any
    MethodParameters:
        Name  Flags
      sensor  

  public void removeSensorEvent(android.hardware.Sensor);
    descriptor: (Landroid/hardware/Sensor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.hardware.SystemSensorManager$SensorEventQueue this
        start local 1 // android.hardware.Sensor sensor
         0: .line 795
            aload 0 /* this */
            getfield android.hardware.SystemSensorManager$SensorEventQueue.mSensorsEvents:Landroid/util/SparseArray;
            dup
            astore 2
            monitorenter
         1: .line 796
            aload 0 /* this */
            getfield android.hardware.SystemSensorManager$SensorEventQueue.mSensorsEvents:Landroid/util/SparseArray;
            aload 1 /* sensor */
            invokevirtual android.hardware.Sensor.getHandle:()I
            invokevirtual android.util.SparseArray.delete:(I)V
         2: .line 795
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: android.hardware.SystemSensorManager$SensorEventQueue android.hardware.Sensor android.util.SparseArray
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 798
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.hardware.Sensor sensor
        end local 0 // android.hardware.SystemSensorManager$SensorEventQueue this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Landroid/hardware/SystemSensorManager$SensorEventQueue;
            0    7     1  sensor  Landroid/hardware/Sensor;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
        Name  Flags
      sensor  

  protected void dispatchSensorEvent(int, float[], int, long);
    descriptor: (I[FIJ)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=9, args_size=5
        start local 0 // android.hardware.SystemSensorManager$SensorEventQueue this
        start local 1 // int handle
        start local 2 // float[] values
        start local 3 // int inAccuracy
        start local 4 // long timestamp
         0: .line 805
            aload 0 /* this */
            getfield android.hardware.SystemSensorManager$SensorEventQueue.mManager:Landroid/hardware/SystemSensorManager;
            getfield android.hardware.SystemSensorManager.mHandleToSensor:Ljava/util/HashMap;
            iload 1 /* handle */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.hardware.Sensor
            astore 6 /* sensor */
        start local 6 // android.hardware.Sensor sensor
         1: .line 806
            aload 6 /* sensor */
            ifnonnull 3
         2: .line 808
            return
         3: .line 811
      StackMap locals: android.hardware.Sensor
      StackMap stack:
            aconst_null
            astore 7 /* t */
        start local 7 // android.hardware.SensorEvent t
         4: .line 812
            aload 0 /* this */
            getfield android.hardware.SystemSensorManager$SensorEventQueue.mSensorsEvents:Landroid/util/SparseArray;
            dup
            astore 8
            monitorenter
         5: .line 813
            aload 0 /* this */
            getfield android.hardware.SystemSensorManager$SensorEventQueue.mSensorsEvents:Landroid/util/SparseArray;
            iload 1 /* handle */
            invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
            checkcast android.hardware.SensorEvent
            astore 7 /* t */
         6: .line 812
            aload 8
            monitorexit
         7: goto 10
      StackMap locals: android.hardware.SystemSensorManager$SensorEventQueue int float[] int long android.hardware.Sensor android.hardware.SensorEvent android.util.SparseArray
      StackMap stack: java.lang.Throwable
         8: aload 8
            monitorexit
         9: athrow
        10: .line 816
      StackMap locals:
      StackMap stack:
            aload 7 /* t */
            ifnonnull 12
        11: .line 819
            return
        12: .line 822
      StackMap locals:
      StackMap stack:
            aload 2 /* values */
            iconst_0
            aload 7 /* t */
            getfield android.hardware.SensorEvent.values:[F
            iconst_0
            aload 7 /* t */
            getfield android.hardware.SensorEvent.values:[F
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        13: .line 823
            aload 7 /* t */
            lload 4 /* timestamp */
            putfield android.hardware.SensorEvent.timestamp:J
        14: .line 824
            aload 7 /* t */
            iload 3 /* inAccuracy */
            putfield android.hardware.SensorEvent.accuracy:I
        15: .line 825
            aload 7 /* t */
            aload 6 /* sensor */
            putfield android.hardware.SensorEvent.sensor:Landroid/hardware/Sensor;
        16: .line 828
            aload 0 /* this */
            getfield android.hardware.SystemSensorManager$SensorEventQueue.mSensorAccuracies:Landroid/util/SparseIntArray;
            iload 1 /* handle */
            invokevirtual android.util.SparseIntArray.get:(I)I
            istore 8 /* accuracy */
        start local 8 // int accuracy
        17: .line 829
            aload 7 /* t */
            getfield android.hardware.SensorEvent.accuracy:I
            iflt 20
            iload 8 /* accuracy */
            aload 7 /* t */
            getfield android.hardware.SensorEvent.accuracy:I
            if_icmpeq 20
        18: .line 830
            aload 0 /* this */
            getfield android.hardware.SystemSensorManager$SensorEventQueue.mSensorAccuracies:Landroid/util/SparseIntArray;
            iload 1 /* handle */
            aload 7 /* t */
            getfield android.hardware.SensorEvent.accuracy:I
            invokevirtual android.util.SparseIntArray.put:(II)V
        19: .line 831
            aload 0 /* this */
            getfield android.hardware.SystemSensorManager$SensorEventQueue.mListener:Landroid/hardware/SensorEventListener;
            aload 7 /* t */
            getfield android.hardware.SensorEvent.sensor:Landroid/hardware/Sensor;
            aload 7 /* t */
            getfield android.hardware.SensorEvent.accuracy:I
            invokeinterface android.hardware.SensorEventListener.onAccuracyChanged:(Landroid/hardware/Sensor;I)V
        20: .line 833
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.SystemSensorManager$SensorEventQueue.mListener:Landroid/hardware/SensorEventListener;
            aload 7 /* t */
            invokeinterface android.hardware.SensorEventListener.onSensorChanged:(Landroid/hardware/SensorEvent;)V
        21: .line 834
            return
        end local 8 // int accuracy
        end local 7 // android.hardware.SensorEvent t
        end local 6 // android.hardware.Sensor sensor
        end local 4 // long timestamp
        end local 3 // int inAccuracy
        end local 2 // float[] values
        end local 1 // int handle
        end local 0 // android.hardware.SystemSensorManager$SensorEventQueue this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0        this  Landroid/hardware/SystemSensorManager$SensorEventQueue;
            0   22     1      handle  I
            0   22     2      values  [F
            0   22     3  inAccuracy  I
            0   22     4   timestamp  J
            1   22     6      sensor  Landroid/hardware/Sensor;
            4   22     7           t  Landroid/hardware/SensorEvent;
           17   22     8    accuracy  I
      Exception table:
        from    to  target  type
           5     7       8  any
           8     9       8  any
    MethodParameters:
            Name  Flags
      handle      
      values      
      inAccuracy  
      timestamp   

  protected void dispatchFlushCompleteEvent(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.hardware.SystemSensorManager$SensorEventQueue this
        start local 1 // int handle
         0: .line 840
            aload 0 /* this */
            getfield android.hardware.SystemSensorManager$SensorEventQueue.mListener:Landroid/hardware/SensorEventListener;
            instanceof android.hardware.SensorEventListener2
            ifeq 5
         1: .line 841
            aload 0 /* this */
            getfield android.hardware.SystemSensorManager$SensorEventQueue.mManager:Landroid/hardware/SystemSensorManager;
            getfield android.hardware.SystemSensorManager.mHandleToSensor:Ljava/util/HashMap;
            iload 1 /* handle */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.hardware.Sensor
            astore 2 /* sensor */
        start local 2 // android.hardware.Sensor sensor
         2: .line 842
            aload 2 /* sensor */
            ifnonnull 4
         3: .line 844
            return
         4: .line 846
      StackMap locals: android.hardware.Sensor
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.SystemSensorManager$SensorEventQueue.mListener:Landroid/hardware/SensorEventListener;
            checkcast android.hardware.SensorEventListener2
            aload 2 /* sensor */
            invokeinterface android.hardware.SensorEventListener2.onFlushCompleted:(Landroid/hardware/Sensor;)V
        end local 2 // android.hardware.Sensor sensor
         5: .line 848
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int handle
        end local 0 // android.hardware.SystemSensorManager$SensorEventQueue this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Landroid/hardware/SystemSensorManager$SensorEventQueue;
            0    6     1  handle  I
            2    5     2  sensor  Landroid/hardware/Sensor;
    MethodParameters:
        Name  Flags
      handle  

  protected void dispatchAdditionalInfoEvent(int, int, int, float[], int[]);
    descriptor: (III[F[I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=8, args_size=6
        start local 0 // android.hardware.SystemSensorManager$SensorEventQueue this
        start local 1 // int handle
        start local 2 // int type
        start local 3 // int serial
        start local 4 // float[] floatValues
        start local 5 // int[] intValues
         0: .line 856
            aload 0 /* this */
            getfield android.hardware.SystemSensorManager$SensorEventQueue.mListener:Landroid/hardware/SensorEventListener;
            instanceof android.hardware.SensorEventCallback
            ifeq 7
         1: .line 857
            aload 0 /* this */
            getfield android.hardware.SystemSensorManager$SensorEventQueue.mManager:Landroid/hardware/SystemSensorManager;
            getfield android.hardware.SystemSensorManager.mHandleToSensor:Ljava/util/HashMap;
            iload 1 /* handle */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.hardware.Sensor
            astore 6 /* sensor */
        start local 6 // android.hardware.Sensor sensor
         2: .line 858
            aload 6 /* sensor */
            ifnonnull 4
         3: .line 860
            return
         4: .line 863
      StackMap locals: android.hardware.Sensor
      StackMap stack:
            new android.hardware.SensorAdditionalInfo
            dup
            aload 6 /* sensor */
            iload 2 /* type */
            iload 3 /* serial */
            aload 5 /* intValues */
            aload 4 /* floatValues */
            invokespecial android.hardware.SensorAdditionalInfo.<init>:(Landroid/hardware/Sensor;II[I[F)V
         5: .line 862
            astore 7 /* info */
        start local 7 // android.hardware.SensorAdditionalInfo info
         6: .line 864
            aload 0 /* this */
            getfield android.hardware.SystemSensorManager$SensorEventQueue.mListener:Landroid/hardware/SensorEventListener;
            checkcast android.hardware.SensorEventCallback
            aload 7 /* info */
            invokevirtual android.hardware.SensorEventCallback.onSensorAdditionalInfo:(Landroid/hardware/SensorAdditionalInfo;)V
        end local 7 // android.hardware.SensorAdditionalInfo info
        end local 6 // android.hardware.Sensor sensor
         7: .line 866
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int[] intValues
        end local 4 // float[] floatValues
        end local 3 // int serial
        end local 2 // int type
        end local 1 // int handle
        end local 0 // android.hardware.SystemSensorManager$SensorEventQueue this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Landroid/hardware/SystemSensorManager$SensorEventQueue;
            0    8     1       handle  I
            0    8     2         type  I
            0    8     3       serial  I
            0    8     4  floatValues  [F
            0    8     5    intValues  [I
            2    7     6       sensor  Landroid/hardware/Sensor;
            6    7     7         info  Landroid/hardware/SensorAdditionalInfo;
    MethodParameters:
             Name  Flags
      handle       
      type         
      serial       
      floatValues  
      intValues    
}
SourceFile: "SystemSensorManager.java"
NestHost: android.hardware.SystemSensorManager
InnerClasses:
  private abstract BaseEventQueue = android.hardware.SystemSensorManager$BaseEventQueue of android.hardware.SystemSensorManager
  final SensorEventQueue = android.hardware.SystemSensorManager$SensorEventQueue of android.hardware.SystemSensorManager