public abstract class android.hardware.SensorManager
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: android.hardware.SensorManager
  super_class: java.lang.Object
{
  protected static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "SensorManager"

  private static final float[] sTempMatrix;
    descriptor: [F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final android.util.SparseArray<java.util.List<android.hardware.Sensor>> mSensorListByType;
    descriptor: Landroid/util/SparseArray;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Landroid/util/SparseArray<Ljava/util/List<Landroid/hardware/Sensor;>;>;

  private android.hardware.LegacySensorManager mLegacySensorManager;
    descriptor: Landroid/hardware/LegacySensorManager;
    flags: (0x0002) ACC_PRIVATE

  public static final int SENSOR_ORIENTATION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static final int SENSOR_ACCELEROMETER;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static final int SENSOR_TEMPERATURE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static final int SENSOR_MAGNETIC_FIELD;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static final int SENSOR_LIGHT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 16
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static final int SENSOR_PROXIMITY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 32
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static final int SENSOR_TRICORDER;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 64
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static final int SENSOR_ORIENTATION_RAW;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 128
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static final int SENSOR_ALL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 127
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static final int SENSOR_MIN;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static final int SENSOR_MAX;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 64
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static final int DATA_X;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static final int DATA_Y;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static final int DATA_Z;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static final int RAW_DATA_INDEX;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static final int RAW_DATA_X;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static final int RAW_DATA_Y;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static final int RAW_DATA_Z;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static final float STANDARD_GRAVITY;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 9.80665

  public static final float GRAVITY_SUN;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 275.0

  public static final float GRAVITY_MERCURY;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3.7

  public static final float GRAVITY_VENUS;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8.87

  public static final float GRAVITY_EARTH;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 9.80665

  public static final float GRAVITY_MOON;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1.6

  public static final float GRAVITY_MARS;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3.71

  public static final float GRAVITY_JUPITER;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 23.12

  public static final float GRAVITY_SATURN;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8.96

  public static final float GRAVITY_URANUS;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8.69

  public static final float GRAVITY_NEPTUNE;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 11.0

  public static final float GRAVITY_PLUTO;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.6

  public static final float GRAVITY_DEATH_STAR_I;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3.5303614E-7

  public static final float GRAVITY_THE_ISLAND;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4.815162

  public static final float MAGNETIC_FIELD_EARTH_MAX;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 60.0

  public static final float MAGNETIC_FIELD_EARTH_MIN;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 30.0

  public static final float PRESSURE_STANDARD_ATMOSPHERE;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1013.25

  public static final float LIGHT_SUNLIGHT_MAX;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 120000.0

  public static final float LIGHT_SUNLIGHT;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 110000.0

  public static final float LIGHT_SHADE;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 20000.0

  public static final float LIGHT_OVERCAST;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 10000.0

  public static final float LIGHT_SUNRISE;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 400.0

  public static final float LIGHT_CLOUDY;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 100.0

  public static final float LIGHT_FULLMOON;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.25

  public static final float LIGHT_NO_MOON;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.001

  public static final int SENSOR_DELAY_FASTEST;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int SENSOR_DELAY_GAME;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int SENSOR_DELAY_UI;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int SENSOR_DELAY_NORMAL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int SENSOR_STATUS_NO_CONTACT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  public static final int SENSOR_STATUS_UNRELIABLE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int SENSOR_STATUS_ACCURACY_LOW;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int SENSOR_STATUS_ACCURACY_MEDIUM;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int SENSOR_STATUS_ACCURACY_HIGH;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int AXIS_X;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int AXIS_Y;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int AXIS_Z;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int AXIS_MINUS_X;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 129

  public static final int AXIS_MINUS_Y;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 130

  public static final int AXIS_MINUS_Z;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 131

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 86
            bipush 16
            newarray 6
            putstatic android.hardware.SensorManager.sTempMatrix:[F
         1: .line 365
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.hardware.SensorManager this
         0: .line 371
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 89
            aload 0 /* this */
         2: .line 90
            new android.util.SparseArray
            dup
            invokespecial android.util.SparseArray.<init>:()V
            putfield android.hardware.SensorManager.mSensorListByType:Landroid/util/SparseArray;
         3: .line 372
            return
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/hardware/SensorManager;

  protected abstract java.util.List<android.hardware.Sensor> getFullSensorList();
    descriptor: ()Ljava/util/List;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: ()Ljava/util/List<Landroid/hardware/Sensor;>;

  protected abstract java.util.List<android.hardware.Sensor> getFullDynamicSensorList();
    descriptor: ()Ljava/util/List;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: ()Ljava/util/List<Landroid/hardware/Sensor;>;

  public int getSensors();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.hardware.SensorManager this
         0: .line 393
            aload 0 /* this */
            invokevirtual android.hardware.SensorManager.getLegacySensorManager:()Landroid/hardware/LegacySensorManager;
            invokevirtual android.hardware.LegacySensorManager.getSensors:()I
            ireturn
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/SensorManager;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public java.util.List<android.hardware.Sensor> getSensorList(int);
    descriptor: (I)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // android.hardware.SensorManager this
        start local 1 // int type
         0: .line 419
            aload 0 /* this */
            invokevirtual android.hardware.SensorManager.getFullSensorList:()Ljava/util/List;
            astore 3 /* fullList */
        start local 3 // java.util.List fullList
         1: .line 420
            aload 0 /* this */
            getfield android.hardware.SensorManager.mSensorListByType:Landroid/util/SparseArray;
            dup
            astore 4
            monitorenter
         2: .line 421
            aload 0 /* this */
            getfield android.hardware.SensorManager.mSensorListByType:Landroid/util/SparseArray;
            iload 1 /* type */
            invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
            checkcast java.util.List
            astore 2 /* list */
        start local 2 // java.util.List list
         3: .line 422
            aload 2 /* list */
            ifnonnull 15
         4: .line 423
            iload 1 /* type */
            iconst_m1
            if_icmpne 7
         5: .line 424
            aload 3 /* fullList */
            astore 2 /* list */
         6: .line 425
            goto 13
         7: .line 426
      StackMap locals: java.util.List java.util.List android.util.SparseArray
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* list */
         8: .line 427
            aload 3 /* fullList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 12
      StackMap locals: android.hardware.SensorManager int java.util.List java.util.List android.util.SparseArray top java.util.Iterator
      StackMap stack:
         9: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.hardware.Sensor
            astore 5 /* i */
        start local 5 // android.hardware.Sensor i
        10: .line 428
            aload 5 /* i */
            invokevirtual android.hardware.Sensor.getType:()I
            iload 1 /* type */
            if_icmpne 12
        11: .line 429
            aload 2 /* list */
            aload 5 /* i */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // android.hardware.Sensor i
        12: .line 427
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        13: .line 433
      StackMap locals: android.hardware.SensorManager int java.util.List java.util.List android.util.SparseArray
      StackMap stack:
            aload 2 /* list */
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            astore 2 /* list */
        14: .line 434
            aload 0 /* this */
            getfield android.hardware.SensorManager.mSensorListByType:Landroid/util/SparseArray;
            iload 1 /* type */
            aload 2 /* list */
            invokevirtual android.util.SparseArray.append:(ILjava/lang/Object;)V
        15: .line 420
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        16: goto 19
        end local 2 // java.util.List list
      StackMap locals: android.hardware.SensorManager int top java.util.List android.util.SparseArray
      StackMap stack: java.lang.Throwable
        17: aload 4
            monitorexit
        18: athrow
        start local 2 // java.util.List list
        19: .line 437
      StackMap locals: android.hardware.SensorManager int java.util.List java.util.List
      StackMap stack:
            aload 2 /* list */
            areturn
        end local 3 // java.util.List fullList
        end local 2 // java.util.List list
        end local 1 // int type
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      this  Landroid/hardware/SensorManager;
            0   20     1      type  I
            3   17     2      list  Ljava/util/List<Landroid/hardware/Sensor;>;
           19   20     2      list  Ljava/util/List<Landroid/hardware/Sensor;>;
            1   20     3  fullList  Ljava/util/List<Landroid/hardware/Sensor;>;
           10   12     5         i  Landroid/hardware/Sensor;
      Exception table:
        from    to  target  type
           2    16      17  any
          17    18      17  any
    Signature: (I)Ljava/util/List<Landroid/hardware/Sensor;>;
    MethodParameters:
      Name  Flags
      type  

  public java.util.List<android.hardware.Sensor> getDynamicSensorList(int);
    descriptor: (I)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // android.hardware.SensorManager this
        start local 1 // int type
         0: .line 459
            aload 0 /* this */
            invokevirtual android.hardware.SensorManager.getFullDynamicSensorList:()Ljava/util/List;
            astore 2 /* fullList */
        start local 2 // java.util.List fullList
         1: .line 460
            iload 1 /* type */
            iconst_m1
            if_icmpne 3
         2: .line 461
            aload 2 /* fullList */
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            areturn
         3: .line 463
      StackMap locals: java.util.List
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* list */
        start local 3 // java.util.List list
         4: .line 464
            aload 2 /* fullList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 8
      StackMap locals: android.hardware.SensorManager int java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.hardware.Sensor
            astore 4 /* i */
        start local 4 // android.hardware.Sensor i
         6: .line 465
            aload 4 /* i */
            invokevirtual android.hardware.Sensor.getType:()I
            iload 1 /* type */
            if_icmpne 8
         7: .line 466
            aload 3 /* list */
            aload 4 /* i */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // android.hardware.Sensor i
         8: .line 464
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         9: .line 469
            aload 3 /* list */
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 3 // java.util.List list
        end local 2 // java.util.List fullList
        end local 1 // int type
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Landroid/hardware/SensorManager;
            0   10     1      type  I
            1   10     2  fullList  Ljava/util/List<Landroid/hardware/Sensor;>;
            4   10     3      list  Ljava/util/List<Landroid/hardware/Sensor;>;
            6    8     4         i  Landroid/hardware/Sensor;
    Signature: (I)Ljava/util/List<Landroid/hardware/Sensor;>;
    MethodParameters:
      Name  Flags
      type  

  public android.hardware.Sensor getDefaultSensor(int);
    descriptor: (I)Landroid/hardware/Sensor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // android.hardware.SensorManager this
        start local 1 // int type
         0: .line 490
            aload 0 /* this */
            iload 1 /* type */
            invokevirtual android.hardware.SensorManager.getSensorList:(I)Ljava/util/List;
            astore 2 /* l */
        start local 2 // java.util.List l
         1: .line 491
            iconst_0
            istore 3 /* wakeUpSensor */
        start local 3 // boolean wakeUpSensor
         2: .line 495
            iload 1 /* type */
            bipush 8
            if_icmpeq 7
            iload 1 /* type */
            bipush 17
            if_icmpeq 7
         3: .line 496
            iload 1 /* type */
            bipush 22
            if_icmpeq 7
            iload 1 /* type */
            bipush 23
            if_icmpeq 7
         4: .line 497
            iload 1 /* type */
            bipush 24
            if_icmpeq 7
            iload 1 /* type */
            bipush 25
            if_icmpeq 7
         5: .line 498
            iload 1 /* type */
            bipush 26
            if_icmpeq 7
         6: .line 499
            iload 1 /* type */
            bipush 32
            if_icmpne 8
         7: .line 500
      StackMap locals: java.util.List int
      StackMap stack:
            iconst_1
            istore 3 /* wakeUpSensor */
         8: .line 503
      StackMap locals:
      StackMap stack:
            aload 2 /* l */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 11
      StackMap locals: android.hardware.SensorManager int java.util.List int top java.util.Iterator
      StackMap stack:
         9: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.hardware.Sensor
            astore 4 /* sensor */
        start local 4 // android.hardware.Sensor sensor
        10: .line 504
            aload 4 /* sensor */
            invokevirtual android.hardware.Sensor.isWakeUpSensor:()Z
            iload 3 /* wakeUpSensor */
            if_icmpne 11
            aload 4 /* sensor */
            areturn
        end local 4 // android.hardware.Sensor sensor
        11: .line 503
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        12: .line 506
            aconst_null
            areturn
        end local 3 // boolean wakeUpSensor
        end local 2 // java.util.List l
        end local 1 // int type
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Landroid/hardware/SensorManager;
            0   13     1          type  I
            1   13     2             l  Ljava/util/List<Landroid/hardware/Sensor;>;
            2   13     3  wakeUpSensor  Z
           10   11     4        sensor  Landroid/hardware/Sensor;
    MethodParameters:
      Name  Flags
      type  

  public android.hardware.Sensor getDefaultSensor(int, boolean);
    descriptor: (IZ)Landroid/hardware/Sensor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // android.hardware.SensorManager this
        start local 1 // int type
        start local 2 // boolean wakeUp
         0: .line 536
            aload 0 /* this */
            iload 1 /* type */
            invokevirtual android.hardware.SensorManager.getSensorList:(I)Ljava/util/List;
            astore 3 /* l */
        start local 3 // java.util.List l
         1: .line 537
            aload 3 /* l */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 5
      StackMap locals: android.hardware.SensorManager int int java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.hardware.Sensor
            astore 4 /* sensor */
        start local 4 // android.hardware.Sensor sensor
         3: .line 538
            aload 4 /* sensor */
            invokevirtual android.hardware.Sensor.isWakeUpSensor:()Z
            iload 2 /* wakeUp */
            if_icmpne 5
         4: .line 539
            aload 4 /* sensor */
            areturn
        end local 4 // android.hardware.Sensor sensor
         5: .line 537
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 542
            aconst_null
            areturn
        end local 3 // java.util.List l
        end local 2 // boolean wakeUp
        end local 1 // int type
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Landroid/hardware/SensorManager;
            0    7     1    type  I
            0    7     2  wakeUp  Z
            1    7     3       l  Ljava/util/List<Landroid/hardware/Sensor;>;
            3    5     4  sensor  Landroid/hardware/Sensor;
    MethodParameters:
        Name  Flags
      type    
      wakeUp  

  public boolean registerListener(android.hardware.SensorListener, int);
    descriptor: (Landroid/hardware/SensorListener;I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.hardware.SensorManager this
        start local 1 // android.hardware.SensorListener listener
        start local 2 // int sensors
         0: .line 563
            aload 0 /* this */
            aload 1 /* listener */
            iload 2 /* sensors */
            iconst_3
            invokevirtual android.hardware.SensorManager.registerListener:(Landroid/hardware/SensorListener;II)Z
            ireturn
        end local 2 // int sensors
        end local 1 // android.hardware.SensorListener listener
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Landroid/hardware/SensorManager;
            0    1     1  listener  Landroid/hardware/SensorListener;
            0    1     2   sensors  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      listener  
      sensors   

  public boolean registerListener(android.hardware.SensorListener, int, int);
    descriptor: (Landroid/hardware/SensorListener;II)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // android.hardware.SensorManager this
        start local 1 // android.hardware.SensorListener listener
        start local 2 // int sensors
        start local 3 // int rate
         0: .line 591
            aload 0 /* this */
            invokevirtual android.hardware.SensorManager.getLegacySensorManager:()Landroid/hardware/LegacySensorManager;
            aload 1 /* listener */
            iload 2 /* sensors */
            iload 3 /* rate */
            invokevirtual android.hardware.LegacySensorManager.registerListener:(Landroid/hardware/SensorListener;II)Z
            ireturn
        end local 3 // int rate
        end local 2 // int sensors
        end local 1 // android.hardware.SensorListener listener
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Landroid/hardware/SensorManager;
            0    1     1  listener  Landroid/hardware/SensorListener;
            0    1     2   sensors  I
            0    1     3      rate  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      listener  
      sensors   
      rate      

  public void unregisterListener(android.hardware.SensorListener);
    descriptor: (Landroid/hardware/SensorListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.hardware.SensorManager this
        start local 1 // android.hardware.SensorListener listener
         0: .line 606
            aload 0 /* this */
            aload 1 /* listener */
            sipush 255
            invokevirtual android.hardware.SensorManager.unregisterListener:(Landroid/hardware/SensorListener;I)V
         1: .line 607
            return
        end local 1 // android.hardware.SensorListener listener
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/hardware/SensorManager;
            0    2     1  listener  Landroid/hardware/SensorListener;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      listener  

  public void unregisterListener(android.hardware.SensorListener, int);
    descriptor: (Landroid/hardware/SensorListener;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.hardware.SensorManager this
        start local 1 // android.hardware.SensorListener listener
        start local 2 // int sensors
         0: .line 624
            aload 0 /* this */
            invokevirtual android.hardware.SensorManager.getLegacySensorManager:()Landroid/hardware/LegacySensorManager;
            aload 1 /* listener */
            iload 2 /* sensors */
            invokevirtual android.hardware.LegacySensorManager.unregisterListener:(Landroid/hardware/SensorListener;I)V
         1: .line 625
            return
        end local 2 // int sensors
        end local 1 // android.hardware.SensorListener listener
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/hardware/SensorManager;
            0    2     1  listener  Landroid/hardware/SensorListener;
            0    2     2   sensors  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      listener  
      sensors   

  public void unregisterListener(android.hardware.SensorEventListener, android.hardware.Sensor);
    descriptor: (Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.hardware.SensorManager this
        start local 1 // android.hardware.SensorEventListener listener
        start local 2 // android.hardware.Sensor sensor
         0: .line 646
            aload 1 /* listener */
            ifnull 1
            aload 2 /* sensor */
            ifnonnull 2
         1: .line 647
      StackMap locals:
      StackMap stack:
            return
         2: .line 650
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* listener */
            aload 2 /* sensor */
            invokevirtual android.hardware.SensorManager.unregisterListenerImpl:(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;)V
         3: .line 651
            return
        end local 2 // android.hardware.Sensor sensor
        end local 1 // android.hardware.SensorEventListener listener
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Landroid/hardware/SensorManager;
            0    4     1  listener  Landroid/hardware/SensorEventListener;
            0    4     2    sensor  Landroid/hardware/Sensor;
    MethodParameters:
          Name  Flags
      listener  
      sensor    

  public void unregisterListener(android.hardware.SensorEventListener);
    descriptor: (Landroid/hardware/SensorEventListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.hardware.SensorManager this
        start local 1 // android.hardware.SensorEventListener listener
         0: .line 664
            aload 1 /* listener */
            ifnonnull 2
         1: .line 665
            return
         2: .line 668
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* listener */
            aconst_null
            invokevirtual android.hardware.SensorManager.unregisterListenerImpl:(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;)V
         3: .line 669
            return
        end local 1 // android.hardware.SensorEventListener listener
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Landroid/hardware/SensorManager;
            0    4     1  listener  Landroid/hardware/SensorEventListener;
    MethodParameters:
          Name  Flags
      listener  

  protected abstract void unregisterListenerImpl(android.hardware.SensorEventListener, android.hardware.Sensor);
    descriptor: (Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      listener  
      sensor    

  public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int);
    descriptor: (Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // android.hardware.SensorManager this
        start local 1 // android.hardware.SensorEventListener listener
        start local 2 // android.hardware.Sensor sensor
        start local 3 // int samplingPeriodUs
         0: .line 728
            aload 0 /* this */
            aload 1 /* listener */
            aload 2 /* sensor */
            iload 3 /* samplingPeriodUs */
            aconst_null
            invokevirtual android.hardware.SensorManager.registerListener:(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;ILandroid/os/Handler;)Z
            ireturn
        end local 3 // int samplingPeriodUs
        end local 2 // android.hardware.Sensor sensor
        end local 1 // android.hardware.SensorEventListener listener
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Landroid/hardware/SensorManager;
            0    1     1          listener  Landroid/hardware/SensorEventListener;
            0    1     2            sensor  Landroid/hardware/Sensor;
            0    1     3  samplingPeriodUs  I
    MethodParameters:
                  Name  Flags
      listener          
      sensor            
      samplingPeriodUs  

  public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int, int);
    descriptor: (Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;II)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // android.hardware.SensorManager this
        start local 1 // android.hardware.SensorEventListener listener
        start local 2 // android.hardware.Sensor sensor
        start local 3 // int samplingPeriodUs
        start local 4 // int maxReportLatencyUs
         0: .line 785
            iload 3 /* samplingPeriodUs */
            invokestatic android.hardware.SensorManager.getDelay:(I)I
            istore 5 /* delay */
        start local 5 // int delay
         1: .line 786
            aload 0 /* this */
            aload 1 /* listener */
            aload 2 /* sensor */
            iload 5 /* delay */
            aconst_null
            iload 4 /* maxReportLatencyUs */
            iconst_0
            invokevirtual android.hardware.SensorManager.registerListenerImpl:(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;ILandroid/os/Handler;II)Z
            ireturn
        end local 5 // int delay
        end local 4 // int maxReportLatencyUs
        end local 3 // int samplingPeriodUs
        end local 2 // android.hardware.Sensor sensor
        end local 1 // android.hardware.SensorEventListener listener
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Landroid/hardware/SensorManager;
            0    2     1            listener  Landroid/hardware/SensorEventListener;
            0    2     2              sensor  Landroid/hardware/Sensor;
            0    2     3    samplingPeriodUs  I
            0    2     4  maxReportLatencyUs  I
            1    2     5               delay  I
    MethodParameters:
                    Name  Flags
      listener            
      sensor              
      samplingPeriodUs    
      maxReportLatencyUs  

  public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int, android.os.Handler);
    descriptor: (Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;ILandroid/os/Handler;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // android.hardware.SensorManager this
        start local 1 // android.hardware.SensorEventListener listener
        start local 2 // android.hardware.Sensor sensor
        start local 3 // int samplingPeriodUs
        start local 4 // android.os.Handler handler
         0: .line 820
            iload 3 /* samplingPeriodUs */
            invokestatic android.hardware.SensorManager.getDelay:(I)I
            istore 5 /* delay */
        start local 5 // int delay
         1: .line 821
            aload 0 /* this */
            aload 1 /* listener */
            aload 2 /* sensor */
            iload 5 /* delay */
            aload 4 /* handler */
            iconst_0
            iconst_0
            invokevirtual android.hardware.SensorManager.registerListenerImpl:(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;ILandroid/os/Handler;II)Z
            ireturn
        end local 5 // int delay
        end local 4 // android.os.Handler handler
        end local 3 // int samplingPeriodUs
        end local 2 // android.hardware.Sensor sensor
        end local 1 // android.hardware.SensorEventListener listener
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Landroid/hardware/SensorManager;
            0    2     1          listener  Landroid/hardware/SensorEventListener;
            0    2     2            sensor  Landroid/hardware/Sensor;
            0    2     3  samplingPeriodUs  I
            0    2     4           handler  Landroid/os/Handler;
            1    2     5             delay  I
    MethodParameters:
                  Name  Flags
      listener          
      sensor            
      samplingPeriodUs  
      handler           

  public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int, int, android.os.Handler);
    descriptor: (Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;IILandroid/os/Handler;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // android.hardware.SensorManager this
        start local 1 // android.hardware.SensorEventListener listener
        start local 2 // android.hardware.Sensor sensor
        start local 3 // int samplingPeriodUs
        start local 4 // int maxReportLatencyUs
        start local 5 // android.os.Handler handler
         0: .line 851
            iload 3 /* samplingPeriodUs */
            invokestatic android.hardware.SensorManager.getDelay:(I)I
            istore 6 /* delayUs */
        start local 6 // int delayUs
         1: .line 852
            aload 0 /* this */
            aload 1 /* listener */
            aload 2 /* sensor */
            iload 6 /* delayUs */
            aload 5 /* handler */
            iload 4 /* maxReportLatencyUs */
            iconst_0
            invokevirtual android.hardware.SensorManager.registerListenerImpl:(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;ILandroid/os/Handler;II)Z
            ireturn
        end local 6 // int delayUs
        end local 5 // android.os.Handler handler
        end local 4 // int maxReportLatencyUs
        end local 3 // int samplingPeriodUs
        end local 2 // android.hardware.Sensor sensor
        end local 1 // android.hardware.SensorEventListener listener
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Landroid/hardware/SensorManager;
            0    2     1            listener  Landroid/hardware/SensorEventListener;
            0    2     2              sensor  Landroid/hardware/Sensor;
            0    2     3    samplingPeriodUs  I
            0    2     4  maxReportLatencyUs  I
            0    2     5             handler  Landroid/os/Handler;
            1    2     6             delayUs  I
    MethodParameters:
                    Name  Flags
      listener            
      sensor              
      samplingPeriodUs    
      maxReportLatencyUs  
      handler             

  protected abstract 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: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
                    Name  Flags
      listener            
      sensor              
      delayUs             
      handler             
      maxReportLatencyUs  
      reservedFlags       

  public boolean flush(android.hardware.SensorEventListener);
    descriptor: (Landroid/hardware/SensorEventListener;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.hardware.SensorManager this
        start local 1 // android.hardware.SensorEventListener listener
         0: .line 881
            aload 0 /* this */
            aload 1 /* listener */
            invokevirtual android.hardware.SensorManager.flushImpl:(Landroid/hardware/SensorEventListener;)Z
            ireturn
        end local 1 // android.hardware.SensorEventListener listener
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Landroid/hardware/SensorManager;
            0    1     1  listener  Landroid/hardware/SensorEventListener;
    MethodParameters:
          Name  Flags
      listener  

  protected abstract boolean flushImpl(android.hardware.SensorEventListener);
    descriptor: (Landroid/hardware/SensorEventListener;)Z
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      listener  

  public android.hardware.SensorDirectChannel createDirectChannel(android.os.MemoryFile);
    descriptor: (Landroid/os/MemoryFile;)Landroid/hardware/SensorDirectChannel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.hardware.SensorManager this
        start local 1 // android.os.MemoryFile mem
         0: .line 908
            aload 0 /* this */
            aload 1 /* mem */
            aconst_null
            invokevirtual android.hardware.SensorManager.createDirectChannelImpl:(Landroid/os/MemoryFile;Landroid/hardware/HardwareBuffer;)Landroid/hardware/SensorDirectChannel;
            areturn
        end local 1 // android.os.MemoryFile mem
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/SensorManager;
            0    1     1   mem  Landroid/os/MemoryFile;
    MethodParameters:
      Name  Flags
      mem   

  public android.hardware.SensorDirectChannel createDirectChannel(android.hardware.HardwareBuffer);
    descriptor: (Landroid/hardware/HardwareBuffer;)Landroid/hardware/SensorDirectChannel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.hardware.SensorManager this
        start local 1 // android.hardware.HardwareBuffer mem
         0: .line 931
            aload 0 /* this */
            aconst_null
            aload 1 /* mem */
            invokevirtual android.hardware.SensorManager.createDirectChannelImpl:(Landroid/os/MemoryFile;Landroid/hardware/HardwareBuffer;)Landroid/hardware/SensorDirectChannel;
            areturn
        end local 1 // android.hardware.HardwareBuffer mem
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/SensorManager;
            0    1     1   mem  Landroid/hardware/HardwareBuffer;
    MethodParameters:
      Name  Flags
      mem   

  protected abstract android.hardware.SensorDirectChannel createDirectChannelImpl(android.os.MemoryFile, android.hardware.HardwareBuffer);
    descriptor: (Landroid/os/MemoryFile;Landroid/hardware/HardwareBuffer;)Landroid/hardware/SensorDirectChannel;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      memoryFile      
      hardwareBuffer  

  void destroyDirectChannel(android.hardware.SensorDirectChannel);
    descriptor: (Landroid/hardware/SensorDirectChannel;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.hardware.SensorManager this
        start local 1 // android.hardware.SensorDirectChannel channel
         0: .line 940
            aload 0 /* this */
            aload 1 /* channel */
            invokevirtual android.hardware.SensorManager.destroyDirectChannelImpl:(Landroid/hardware/SensorDirectChannel;)V
         1: .line 941
            return
        end local 1 // android.hardware.SensorDirectChannel channel
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/hardware/SensorManager;
            0    2     1  channel  Landroid/hardware/SensorDirectChannel;
    MethodParameters:
         Name  Flags
      channel  

  protected abstract void destroyDirectChannelImpl(android.hardware.SensorDirectChannel);
    descriptor: (Landroid/hardware/SensorDirectChannel;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      channel  

  public int configureDirectChannel(android.hardware.SensorDirectChannel, android.hardware.Sensor, int);
    descriptor: (Landroid/hardware/SensorDirectChannel;Landroid/hardware/Sensor;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // android.hardware.SensorManager this
        start local 1 // android.hardware.SensorDirectChannel channel
        start local 2 // android.hardware.Sensor sensor
        start local 3 // int rateLevel
         0: .line 949
            aload 0 /* this */
            aload 1 /* channel */
            aload 2 /* sensor */
            iload 3 /* rateLevel */
            invokevirtual android.hardware.SensorManager.configureDirectChannelImpl:(Landroid/hardware/SensorDirectChannel;Landroid/hardware/Sensor;I)I
            ireturn
        end local 3 // int rateLevel
        end local 2 // android.hardware.Sensor sensor
        end local 1 // android.hardware.SensorDirectChannel channel
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Landroid/hardware/SensorManager;
            0    1     1    channel  Landroid/hardware/SensorDirectChannel;
            0    1     2     sensor  Landroid/hardware/Sensor;
            0    1     3  rateLevel  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
           Name  Flags
      channel    
      sensor     
      rateLevel  

  protected abstract int configureDirectChannelImpl(android.hardware.SensorDirectChannel, android.hardware.Sensor, int);
    descriptor: (Landroid/hardware/SensorDirectChannel;Landroid/hardware/Sensor;I)I
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      channel  
      s        
      rate     

  public void registerDynamicSensorCallback(android.hardware.SensorManager$DynamicSensorCallback);
    descriptor: (Landroid/hardware/SensorManager$DynamicSensorCallback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.hardware.SensorManager this
        start local 1 // android.hardware.SensorManager$DynamicSensorCallback callback
         0: .line 991
            aload 0 /* this */
            aload 1 /* callback */
            aconst_null
            invokevirtual android.hardware.SensorManager.registerDynamicSensorCallback:(Landroid/hardware/SensorManager$DynamicSensorCallback;Landroid/os/Handler;)V
         1: .line 992
            return
        end local 1 // android.hardware.SensorManager$DynamicSensorCallback callback
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/hardware/SensorManager;
            0    2     1  callback  Landroid/hardware/SensorManager$DynamicSensorCallback;
    MethodParameters:
          Name  Flags
      callback  

  public void registerDynamicSensorCallback(android.hardware.SensorManager$DynamicSensorCallback, android.os.Handler);
    descriptor: (Landroid/hardware/SensorManager$DynamicSensorCallback;Landroid/os/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.hardware.SensorManager this
        start local 1 // android.hardware.SensorManager$DynamicSensorCallback callback
        start local 2 // android.os.Handler handler
         0: .line 1010
            aload 0 /* this */
            aload 1 /* callback */
            aload 2 /* handler */
            invokevirtual android.hardware.SensorManager.registerDynamicSensorCallbackImpl:(Landroid/hardware/SensorManager$DynamicSensorCallback;Landroid/os/Handler;)V
         1: .line 1011
            return
        end local 2 // android.os.Handler handler
        end local 1 // android.hardware.SensorManager$DynamicSensorCallback callback
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/hardware/SensorManager;
            0    2     1  callback  Landroid/hardware/SensorManager$DynamicSensorCallback;
            0    2     2   handler  Landroid/os/Handler;
    MethodParameters:
          Name  Flags
      callback  
      handler   

  public void unregisterDynamicSensorCallback(android.hardware.SensorManager$DynamicSensorCallback);
    descriptor: (Landroid/hardware/SensorManager$DynamicSensorCallback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.hardware.SensorManager this
        start local 1 // android.hardware.SensorManager$DynamicSensorCallback callback
         0: .line 1024
            aload 0 /* this */
            aload 1 /* callback */
            invokevirtual android.hardware.SensorManager.unregisterDynamicSensorCallbackImpl:(Landroid/hardware/SensorManager$DynamicSensorCallback;)V
         1: .line 1025
            return
        end local 1 // android.hardware.SensorManager$DynamicSensorCallback callback
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/hardware/SensorManager;
            0    2     1  callback  Landroid/hardware/SensorManager$DynamicSensorCallback;
    MethodParameters:
          Name  Flags
      callback  

  public boolean isDynamicSensorDiscoverySupported();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.hardware.SensorManager this
         0: .line 1034
            aload 0 /* this */
            bipush 32
            invokevirtual android.hardware.SensorManager.getSensorList:(I)Ljava/util/List;
            astore 1 /* sensors */
        start local 1 // java.util.List sensors
         1: .line 1035
            aload 1 /* sensors */
            invokeinterface java.util.List.size:()I
            ifle 2
            iconst_1
            ireturn
      StackMap locals: java.util.List
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // java.util.List sensors
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Landroid/hardware/SensorManager;
            1    3     1  sensors  Ljava/util/List<Landroid/hardware/Sensor;>;

  protected abstract void registerDynamicSensorCallbackImpl(android.hardware.SensorManager$DynamicSensorCallback, android.os.Handler);
    descriptor: (Landroid/hardware/SensorManager$DynamicSensorCallback;Landroid/os/Handler;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      callback  
      handler   

  protected abstract void unregisterDynamicSensorCallbackImpl(android.hardware.SensorManager$DynamicSensorCallback);
    descriptor: (Landroid/hardware/SensorManager$DynamicSensorCallback;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      callback  

  public static boolean getRotationMatrix(float[], float[], float[], float[]);
    descriptor: ([F[F[F[F)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=14, locals=23, args_size=4
        start local 0 // float[] R
        start local 1 // float[] I
        start local 2 // float[] gravity
        start local 3 // float[] geomagnetic
         0: .line 1183
            aload 2 /* gravity */
            iconst_0
            faload
            fstore 4 /* Ax */
        start local 4 // float Ax
         1: .line 1184
            aload 2 /* gravity */
            iconst_1
            faload
            fstore 5 /* Ay */
        start local 5 // float Ay
         2: .line 1185
            aload 2 /* gravity */
            iconst_2
            faload
            fstore 6 /* Az */
        start local 6 // float Az
         3: .line 1187
            fload 4 /* Ax */
            fload 4 /* Ax */
            fmul
            fload 5 /* Ay */
            fload 5 /* Ay */
            fmul
            fadd
            fload 6 /* Az */
            fload 6 /* Az */
            fmul
            fadd
            fstore 7 /* normsqA */
        start local 7 // float normsqA
         4: .line 1190
            fload 7 /* normsqA */
            ldc 0.96236104
            fcmpg
            ifge 6
         5: .line 1192
            iconst_0
            ireturn
         6: .line 1195
      StackMap locals: float[] float[] float[] float[] float float float float
      StackMap stack:
            aload 3 /* geomagnetic */
            iconst_0
            faload
            fstore 8 /* Ex */
        start local 8 // float Ex
         7: .line 1196
            aload 3 /* geomagnetic */
            iconst_1
            faload
            fstore 9 /* Ey */
        start local 9 // float Ey
         8: .line 1197
            aload 3 /* geomagnetic */
            iconst_2
            faload
            fstore 10 /* Ez */
        start local 10 // float Ez
         9: .line 1198
            fload 9 /* Ey */
            fload 6 /* Az */
            fmul
            fload 10 /* Ez */
            fload 5 /* Ay */
            fmul
            fsub
            fstore 11 /* Hx */
        start local 11 // float Hx
        10: .line 1199
            fload 10 /* Ez */
            fload 4 /* Ax */
            fmul
            fload 8 /* Ex */
            fload 6 /* Az */
            fmul
            fsub
            fstore 12 /* Hy */
        start local 12 // float Hy
        11: .line 1200
            fload 8 /* Ex */
            fload 5 /* Ay */
            fmul
            fload 9 /* Ey */
            fload 4 /* Ax */
            fmul
            fsub
            fstore 13 /* Hz */
        start local 13 // float Hz
        12: .line 1201
            fload 11 /* Hx */
            fload 11 /* Hx */
            fmul
            fload 12 /* Hy */
            fload 12 /* Hy */
            fmul
            fadd
            fload 13 /* Hz */
            fload 13 /* Hz */
            fmul
            fadd
            f2d
            invokestatic java.lang.Math.sqrt:(D)D
            d2f
            fstore 14 /* normH */
        start local 14 // float normH
        13: .line 1203
            fload 14 /* normH */
            ldc 0.1
            fcmpg
            ifge 15
        14: .line 1206
            iconst_0
            ireturn
        15: .line 1208
      StackMap locals: float[] float[] float[] float[] float float float float float float float float float float float
      StackMap stack:
            fconst_1
            fload 14 /* normH */
            fdiv
            fstore 15 /* invH */
        start local 15 // float invH
        16: .line 1209
            fload 11 /* Hx */
            fload 15 /* invH */
            fmul
            fstore 11 /* Hx */
        17: .line 1210
            fload 12 /* Hy */
            fload 15 /* invH */
            fmul
            fstore 12 /* Hy */
        18: .line 1211
            fload 13 /* Hz */
            fload 15 /* invH */
            fmul
            fstore 13 /* Hz */
        19: .line 1212
            fconst_1
            fload 4 /* Ax */
            fload 4 /* Ax */
            fmul
            fload 5 /* Ay */
            fload 5 /* Ay */
            fmul
            fadd
            fload 6 /* Az */
            fload 6 /* Az */
            fmul
            fadd
            f2d
            invokestatic java.lang.Math.sqrt:(D)D
            d2f
            fdiv
            fstore 16 /* invA */
        start local 16 // float invA
        20: .line 1213
            fload 4 /* Ax */
            fload 16 /* invA */
            fmul
            fstore 4 /* Ax */
        21: .line 1214
            fload 5 /* Ay */
            fload 16 /* invA */
            fmul
            fstore 5 /* Ay */
        22: .line 1215
            fload 6 /* Az */
            fload 16 /* invA */
            fmul
            fstore 6 /* Az */
        23: .line 1216
            fload 5 /* Ay */
            fload 13 /* Hz */
            fmul
            fload 6 /* Az */
            fload 12 /* Hy */
            fmul
            fsub
            fstore 17 /* Mx */
        start local 17 // float Mx
        24: .line 1217
            fload 6 /* Az */
            fload 11 /* Hx */
            fmul
            fload 4 /* Ax */
            fload 13 /* Hz */
            fmul
            fsub
            fstore 18 /* My */
        start local 18 // float My
        25: .line 1218
            fload 4 /* Ax */
            fload 12 /* Hy */
            fmul
            fload 5 /* Ay */
            fload 11 /* Hx */
            fmul
            fsub
            fstore 19 /* Mz */
        start local 19 // float Mz
        26: .line 1219
            aload 0 /* R */
            ifnull 37
        27: .line 1220
            aload 0 /* R */
            arraylength
            bipush 9
            if_icmpne 32
        28: .line 1221
            aload 0 /* R */
            iconst_0
            fload 11 /* Hx */
            fastore
            aload 0 /* R */
            iconst_1
            fload 12 /* Hy */
            fastore
            aload 0 /* R */
            iconst_2
            fload 13 /* Hz */
            fastore
        29: .line 1222
            aload 0 /* R */
            iconst_3
            fload 17 /* Mx */
            fastore
            aload 0 /* R */
            iconst_4
            fload 18 /* My */
            fastore
            aload 0 /* R */
            iconst_5
            fload 19 /* Mz */
            fastore
        30: .line 1223
            aload 0 /* R */
            bipush 6
            fload 4 /* Ax */
            fastore
            aload 0 /* R */
            bipush 7
            fload 5 /* Ay */
            fastore
            aload 0 /* R */
            bipush 8
            fload 6 /* Az */
            fastore
        31: .line 1224
            goto 37
      StackMap locals: float[] float[] float[] float[] float float float float float float float float float float float float float float float float
      StackMap stack:
        32: aload 0 /* R */
            arraylength
            bipush 16
            if_icmpne 37
        33: .line 1225
            aload 0 /* R */
            iconst_0
            fload 11 /* Hx */
            fastore
            aload 0 /* R */
            iconst_1
            fload 12 /* Hy */
            fastore
            aload 0 /* R */
            iconst_2
            fload 13 /* Hz */
            fastore
            aload 0 /* R */
            iconst_3
            fconst_0
            fastore
        34: .line 1226
            aload 0 /* R */
            iconst_4
            fload 17 /* Mx */
            fastore
            aload 0 /* R */
            iconst_5
            fload 18 /* My */
            fastore
            aload 0 /* R */
            bipush 6
            fload 19 /* Mz */
            fastore
            aload 0 /* R */
            bipush 7
            fconst_0
            fastore
        35: .line 1227
            aload 0 /* R */
            bipush 8
            fload 4 /* Ax */
            fastore
            aload 0 /* R */
            bipush 9
            fload 5 /* Ay */
            fastore
            aload 0 /* R */
            bipush 10
            fload 6 /* Az */
            fastore
            aload 0 /* R */
            bipush 11
            fconst_0
            fastore
        36: .line 1228
            aload 0 /* R */
            bipush 12
            fconst_0
            fastore
            aload 0 /* R */
            bipush 13
            fconst_0
            fastore
            aload 0 /* R */
            bipush 14
            fconst_0
            fastore
            aload 0 /* R */
            bipush 15
            fconst_1
            fastore
        37: .line 1231
      StackMap locals:
      StackMap stack:
            aload 1 /* I */
            ifnull 52
        38: .line 1235
            fconst_1
            fload 8 /* Ex */
            fload 8 /* Ex */
            fmul
            fload 9 /* Ey */
            fload 9 /* Ey */
            fmul
            fadd
            fload 10 /* Ez */
            fload 10 /* Ez */
            fmul
            fadd
            f2d
            invokestatic java.lang.Math.sqrt:(D)D
            d2f
            fdiv
            fstore 20 /* invE */
        start local 20 // float invE
        39: .line 1236
            fload 8 /* Ex */
            fload 17 /* Mx */
            fmul
            fload 9 /* Ey */
            fload 18 /* My */
            fmul
            fadd
            fload 10 /* Ez */
            fload 19 /* Mz */
            fmul
            fadd
            fload 20 /* invE */
            fmul
            fstore 21 /* c */
        start local 21 // float c
        40: .line 1237
            fload 8 /* Ex */
            fload 4 /* Ax */
            fmul
            fload 9 /* Ey */
            fload 5 /* Ay */
            fmul
            fadd
            fload 10 /* Ez */
            fload 6 /* Az */
            fmul
            fadd
            fload 20 /* invE */
            fmul
            fstore 22 /* s */
        start local 22 // float s
        41: .line 1238
            aload 1 /* I */
            arraylength
            bipush 9
            if_icmpne 46
        42: .line 1239
            aload 1 /* I */
            iconst_0
            fconst_1
            fastore
            aload 1 /* I */
            iconst_1
            fconst_0
            fastore
            aload 1 /* I */
            iconst_2
            fconst_0
            fastore
        43: .line 1240
            aload 1 /* I */
            iconst_3
            fconst_0
            fastore
            aload 1 /* I */
            iconst_4
            fload 21 /* c */
            fastore
            aload 1 /* I */
            iconst_5
            fload 22 /* s */
            fastore
        44: .line 1241
            aload 1 /* I */
            bipush 6
            fconst_0
            fastore
            aload 1 /* I */
            bipush 7
            fload 22 /* s */
            fneg
            fastore
            aload 1 /* I */
            bipush 8
            fload 21 /* c */
            fastore
        45: .line 1242
            goto 52
      StackMap locals: float float float
      StackMap stack:
        46: aload 1 /* I */
            arraylength
            bipush 16
            if_icmpne 52
        47: .line 1243
            aload 1 /* I */
            iconst_0
            fconst_1
            fastore
            aload 1 /* I */
            iconst_1
            fconst_0
            fastore
            aload 1 /* I */
            iconst_2
            fconst_0
            fastore
        48: .line 1244
            aload 1 /* I */
            iconst_4
            fconst_0
            fastore
            aload 1 /* I */
            iconst_5
            fload 21 /* c */
            fastore
            aload 1 /* I */
            bipush 6
            fload 22 /* s */
            fastore
        49: .line 1245
            aload 1 /* I */
            bipush 8
            fconst_0
            fastore
            aload 1 /* I */
            bipush 9
            fload 22 /* s */
            fneg
            fastore
            aload 1 /* I */
            bipush 10
            fload 21 /* c */
            fastore
        50: .line 1246
            aload 1 /* I */
            iconst_3
            aload 1 /* I */
            bipush 7
            aload 1 /* I */
            bipush 11
            aload 1 /* I */
            bipush 12
            aload 1 /* I */
            bipush 13
            aload 1 /* I */
            bipush 14
            fconst_0
            dup_x2
            fastore
            dup_x2
            fastore
            dup_x2
            fastore
            dup_x2
            fastore
            dup_x2
            fastore
            fastore
        51: .line 1247
            aload 1 /* I */
            bipush 15
            fconst_1
            fastore
        end local 22 // float s
        end local 21 // float c
        end local 20 // float invE
        52: .line 1250
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 19 // float Mz
        end local 18 // float My
        end local 17 // float Mx
        end local 16 // float invA
        end local 15 // float invH
        end local 14 // float normH
        end local 13 // float Hz
        end local 12 // float Hy
        end local 11 // float Hx
        end local 10 // float Ez
        end local 9 // float Ey
        end local 8 // float Ex
        end local 7 // float normsqA
        end local 6 // float Az
        end local 5 // float Ay
        end local 4 // float Ax
        end local 3 // float[] geomagnetic
        end local 2 // float[] gravity
        end local 1 // float[] I
        end local 0 // float[] R
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   53     0            R  [F
            0   53     1            I  [F
            0   53     2      gravity  [F
            0   53     3  geomagnetic  [F
            1   53     4           Ax  F
            2   53     5           Ay  F
            3   53     6           Az  F
            4   53     7      normsqA  F
            7   53     8           Ex  F
            8   53     9           Ey  F
            9   53    10           Ez  F
           10   53    11           Hx  F
           11   53    12           Hy  F
           12   53    13           Hz  F
           13   53    14        normH  F
           16   53    15         invH  F
           20   53    16         invA  F
           24   53    17           Mx  F
           25   53    18           My  F
           26   53    19           Mz  F
           39   52    20         invE  F
           40   52    21            c  F
           41   52    22            s  F
    MethodParameters:
             Name  Flags
      R            
      I            
      gravity      
      geomagnetic  

  public static float getInclination(float[]);
    descriptor: ([F)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // float[] I
         0: .line 1268
            aload 0 /* I */
            arraylength
            bipush 9
            if_icmpne 2
         1: .line 1269
            aload 0 /* I */
            iconst_5
            faload
            f2d
            aload 0 /* I */
            iconst_4
            faload
            f2d
            invokestatic java.lang.Math.atan2:(DD)D
            d2f
            freturn
         2: .line 1271
      StackMap locals:
      StackMap stack:
            aload 0 /* I */
            bipush 6
            faload
            f2d
            aload 0 /* I */
            iconst_5
            faload
            f2d
            invokestatic java.lang.Math.atan2:(DD)D
            d2f
            freturn
        end local 0 // float[] I
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     I  [F
    MethodParameters:
      Name  Flags
      I     

  public static boolean remapCoordinateSystem(float[], int, int, float[]);
    descriptor: ([FII[F)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // float[] inR
        start local 1 // int X
        start local 2 // int Y
        start local 3 // float[] outR
         0: .line 1351
            aload 0 /* inR */
            aload 3 /* outR */
            if_acmpne 16
         1: .line 1352
            getstatic android.hardware.SensorManager.sTempMatrix:[F
            astore 4 /* temp */
        start local 4 // float[] temp
         2: .line 1353
            aload 4 /* temp */
            dup
            astore 5
            monitorenter
         3: .line 1355
            aload 0 /* inR */
            iload 1 /* X */
            iload 2 /* Y */
            aload 4 /* temp */
            invokestatic android.hardware.SensorManager.remapCoordinateSystemImpl:([FII[F)Z
            ifeq 12
         4: .line 1356
            aload 3 /* outR */
            arraylength
            istore 6 /* size */
        start local 6 // int size
         5: .line 1357
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         6: goto 9
         7: .line 1358
      StackMap locals: float[] int int float[] float[] float[] int int
      StackMap stack:
            aload 3 /* outR */
            iload 7 /* i */
            aload 4 /* temp */
            iload 7 /* i */
            faload
            fastore
         8: .line 1357
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 7 /* i */
            iload 6 /* size */
            if_icmplt 7
        end local 7 // int i
        10: .line 1360
            aload 5
            monitorexit
        11: iconst_1
            ireturn
        end local 6 // int size
        12: .line 1353
      StackMap locals:
      StackMap stack:
            aload 5
            monitorexit
        13: goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: aload 5
            monitorexit
        15: athrow
        end local 4 // float[] temp
        16: .line 1364
      StackMap locals:
      StackMap stack:
            aload 0 /* inR */
            iload 1 /* X */
            iload 2 /* Y */
            aload 3 /* outR */
            invokestatic android.hardware.SensorManager.remapCoordinateSystemImpl:([FII[F)Z
            ireturn
        end local 3 // float[] outR
        end local 2 // int Y
        end local 1 // int X
        end local 0 // float[] inR
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0   inR  [F
            0   17     1     X  I
            0   17     2     Y  I
            0   17     3  outR  [F
            2   16     4  temp  [F
            5   12     6  size  I
            6   10     7     i  I
      Exception table:
        from    to  target  type
           3    11      14  any
          12    13      14  any
          14    15      14  any
    MethodParameters:
      Name  Flags
      inR   
      X     
      Y     
      outR  

  private static boolean remapCoordinateSystemImpl(float[], int, int, float[]);
    descriptor: ([FII[F)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=14, locals=18, args_size=4
        start local 0 // float[] inR
        start local 1 // int X
        start local 2 // int Y
        start local 3 // float[] outR
         0: .line 1379
            aload 3 /* outR */
            arraylength
            istore 4 /* length */
        start local 4 // int length
         1: .line 1380
            aload 0 /* inR */
            arraylength
            iload 4 /* length */
            if_icmpeq 3
         2: .line 1381
            iconst_0
            ireturn
         3: .line 1383
      StackMap locals: int
      StackMap stack:
            iload 1 /* X */
            bipush 124
            iand
            ifne 4
            iload 2 /* Y */
            bipush 124
            iand
            ifeq 5
         4: .line 1384
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         5: .line 1386
      StackMap locals:
      StackMap stack:
            iload 1 /* X */
            iconst_3
            iand
            ifeq 6
            iload 2 /* Y */
            iconst_3
            iand
            ifne 7
         6: .line 1387
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         7: .line 1389
      StackMap locals:
      StackMap stack:
            iload 1 /* X */
            iconst_3
            iand
            iload 2 /* Y */
            iconst_3
            iand
            if_icmpne 9
         8: .line 1390
            iconst_0
            ireturn
         9: .line 1396
      StackMap locals:
      StackMap stack:
            iload 1 /* X */
            iload 2 /* Y */
            ixor
            istore 5 /* Z */
        start local 5 // int Z
        10: .line 1399
            iload 1 /* X */
            iconst_3
            iand
            iconst_1
            isub
            istore 6 /* x */
        start local 6 // int x
        11: .line 1400
            iload 2 /* Y */
            iconst_3
            iand
            iconst_1
            isub
            istore 7 /* y */
        start local 7 // int y
        12: .line 1401
            iload 5 /* Z */
            iconst_3
            iand
            iconst_1
            isub
            istore 8 /* z */
        start local 8 // int z
        13: .line 1404
            iload 8 /* z */
            iconst_1
            iadd
            iconst_3
            irem
            istore 9 /* axis_y */
        start local 9 // int axis_y
        14: .line 1405
            iload 8 /* z */
            iconst_2
            iadd
            iconst_3
            irem
            istore 10 /* axis_z */
        start local 10 // int axis_z
        15: .line 1406
            iload 6 /* x */
            iload 9 /* axis_y */
            ixor
            iload 7 /* y */
            iload 10 /* axis_z */
            ixor
            ior
            ifeq 17
        16: .line 1407
            iload 5 /* Z */
            sipush 128
            ixor
            istore 5 /* Z */
        17: .line 1410
      StackMap locals: float[] int int float[] int int int int int int int
      StackMap stack:
            iload 1 /* X */
            sipush 128
            if_icmplt 18
            iconst_1
            goto 19
      StackMap locals:
      StackMap stack:
        18: iconst_0
      StackMap locals:
      StackMap stack: int
        19: istore 11 /* sx */
        start local 11 // boolean sx
        20: .line 1411
            iload 2 /* Y */
            sipush 128
            if_icmplt 21
            iconst_1
            goto 22
      StackMap locals: int
      StackMap stack:
        21: iconst_0
      StackMap locals:
      StackMap stack: int
        22: istore 12 /* sy */
        start local 12 // boolean sy
        23: .line 1412
            iload 5 /* Z */
            sipush 128
            if_icmplt 24
            iconst_1
            goto 25
      StackMap locals: int
      StackMap stack:
        24: iconst_0
      StackMap locals:
      StackMap stack: int
        25: istore 13 /* sz */
        start local 13 // boolean sz
        26: .line 1415
            iload 4 /* length */
            bipush 16
            if_icmpne 27
            iconst_4
            goto 28
      StackMap locals: int
      StackMap stack:
        27: iconst_3
      StackMap locals:
      StackMap stack: int
        28: istore 14 /* rowLength */
        start local 14 // int rowLength
        29: .line 1416
            iconst_0
            istore 15 /* j */
        start local 15 // int j
        30: goto 46
        31: .line 1417
      StackMap locals: int int
      StackMap stack:
            iload 15 /* j */
            iload 14 /* rowLength */
            imul
            istore 16 /* offset */
        start local 16 // int offset
        32: .line 1418
            iconst_0
            istore 17 /* i */
        start local 17 // int i
        33: goto 44
        34: .line 1419
      StackMap locals: int int
      StackMap stack:
            iload 6 /* x */
            iload 17 /* i */
            if_icmpne 37
            aload 3 /* outR */
            iload 16 /* offset */
            iload 17 /* i */
            iadd
            iload 11 /* sx */
            ifeq 35
            aload 0 /* inR */
            iload 16 /* offset */
            iconst_0
            iadd
            faload
            fneg
            goto 36
      StackMap locals: float[] int int float[] int int int int int int int int int int int int int int
      StackMap stack: float[] int
        35: aload 0 /* inR */
            iload 16 /* offset */
            iconst_0
            iadd
            faload
      StackMap locals: float[] int int float[] int int int int int int int int int int int int int int
      StackMap stack: float[] int float
        36: fastore
        37: .line 1420
      StackMap locals:
      StackMap stack:
            iload 7 /* y */
            iload 17 /* i */
            if_icmpne 40
            aload 3 /* outR */
            iload 16 /* offset */
            iload 17 /* i */
            iadd
            iload 12 /* sy */
            ifeq 38
            aload 0 /* inR */
            iload 16 /* offset */
            iconst_1
            iadd
            faload
            fneg
            goto 39
      StackMap locals: float[] int int float[] int int int int int int int int int int int int int int
      StackMap stack: float[] int
        38: aload 0 /* inR */
            iload 16 /* offset */
            iconst_1
            iadd
            faload
      StackMap locals: float[] int int float[] int int int int int int int int int int int int int int
      StackMap stack: float[] int float
        39: fastore
        40: .line 1421
      StackMap locals:
      StackMap stack:
            iload 8 /* z */
            iload 17 /* i */
            if_icmpne 43
            aload 3 /* outR */
            iload 16 /* offset */
            iload 17 /* i */
            iadd
            iload 13 /* sz */
            ifeq 41
            aload 0 /* inR */
            iload 16 /* offset */
            iconst_2
            iadd
            faload
            fneg
            goto 42
      StackMap locals: float[] int int float[] int int int int int int int int int int int int int int
      StackMap stack: float[] int
        41: aload 0 /* inR */
            iload 16 /* offset */
            iconst_2
            iadd
            faload
      StackMap locals: float[] int int float[] int int int int int int int int int int int int int int
      StackMap stack: float[] int float
        42: fastore
        43: .line 1418
      StackMap locals:
      StackMap stack:
            iinc 17 /* i */ 1
      StackMap locals:
      StackMap stack:
        44: iload 17 /* i */
            iconst_3
            if_icmplt 34
        end local 17 // int i
        end local 16 // int offset
        45: .line 1416
            iinc 15 /* j */ 1
      StackMap locals:
      StackMap stack:
        46: iload 15 /* j */
            iconst_3
            if_icmplt 31
        end local 15 // int j
        47: .line 1424
            iload 4 /* length */
            bipush 16
            if_icmpne 50
        48: .line 1425
            aload 3 /* outR */
            iconst_3
            aload 3 /* outR */
            bipush 7
            aload 3 /* outR */
            bipush 11
            aload 3 /* outR */
            bipush 12
            aload 3 /* outR */
            bipush 13
            aload 3 /* outR */
            bipush 14
            fconst_0
            dup_x2
            fastore
            dup_x2
            fastore
            dup_x2
            fastore
            dup_x2
            fastore
            dup_x2
            fastore
            fastore
        49: .line 1426
            aload 3 /* outR */
            bipush 15
            fconst_1
            fastore
        50: .line 1428
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 14 // int rowLength
        end local 13 // boolean sz
        end local 12 // boolean sy
        end local 11 // boolean sx
        end local 10 // int axis_z
        end local 9 // int axis_y
        end local 8 // int z
        end local 7 // int y
        end local 6 // int x
        end local 5 // int Z
        end local 4 // int length
        end local 3 // float[] outR
        end local 2 // int Y
        end local 1 // int X
        end local 0 // float[] inR
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   51     0        inR  [F
            0   51     1          X  I
            0   51     2          Y  I
            0   51     3       outR  [F
            1   51     4     length  I
           10   51     5          Z  I
           11   51     6          x  I
           12   51     7          y  I
           13   51     8          z  I
           14   51     9     axis_y  I
           15   51    10     axis_z  I
           20   51    11         sx  Z
           23   51    12         sy  Z
           26   51    13         sz  Z
           29   51    14  rowLength  I
           30   47    15          j  I
           32   45    16     offset  I
           33   45    17          i  I
    MethodParameters:
      Name  Flags
      inR   
      X     
      Y     
      outR  

  public static float[] getOrientation(float[], float[]);
    descriptor: ([F[F)[F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // float[] R
        start local 1 // float[] values
         0: .line 1489
            aload 0 /* R */
            arraylength
            bipush 9
            if_icmpne 5
         1: .line 1490
            aload 1 /* values */
            iconst_0
            aload 0 /* R */
            iconst_1
            faload
            f2d
            aload 0 /* R */
            iconst_4
            faload
            f2d
            invokestatic java.lang.Math.atan2:(DD)D
            d2f
            fastore
         2: .line 1491
            aload 1 /* values */
            iconst_1
            aload 0 /* R */
            bipush 7
            faload
            fneg
            f2d
            invokestatic java.lang.Math.asin:(D)D
            d2f
            fastore
         3: .line 1492
            aload 1 /* values */
            iconst_2
            aload 0 /* R */
            bipush 6
            faload
            fneg
            f2d
            aload 0 /* R */
            bipush 8
            faload
            f2d
            invokestatic java.lang.Math.atan2:(DD)D
            d2f
            fastore
         4: .line 1493
            goto 8
         5: .line 1494
      StackMap locals:
      StackMap stack:
            aload 1 /* values */
            iconst_0
            aload 0 /* R */
            iconst_1
            faload
            f2d
            aload 0 /* R */
            iconst_5
            faload
            f2d
            invokestatic java.lang.Math.atan2:(DD)D
            d2f
            fastore
         6: .line 1495
            aload 1 /* values */
            iconst_1
            aload 0 /* R */
            bipush 9
            faload
            fneg
            f2d
            invokestatic java.lang.Math.asin:(D)D
            d2f
            fastore
         7: .line 1496
            aload 1 /* values */
            iconst_2
            aload 0 /* R */
            bipush 8
            faload
            fneg
            f2d
            aload 0 /* R */
            bipush 10
            faload
            f2d
            invokestatic java.lang.Math.atan2:(DD)D
            d2f
            fastore
         8: .line 1499
      StackMap locals:
      StackMap stack:
            aload 1 /* values */
            areturn
        end local 1 // float[] values
        end local 0 // float[] R
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0       R  [F
            0    9     1  values  [F
    MethodParameters:
        Name  Flags
      R       
      values  

  public static float getAltitude(float, float);
    descriptor: (FF)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // float p0
        start local 1 // float p
         0: .line 1533
            ldc 44330.0
            fconst_1
            fload 1 /* p */
            fload 0 /* p0 */
            fdiv
            f2d
            ldc 0.19029495120048523
            invokestatic java.lang.Math.pow:(DD)D
            d2f
            fsub
            fmul
            freturn
        end local 1 // float p
        end local 0 // float p0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    p0  F
            0    1     1     p  F
    MethodParameters:
      Name  Flags
      p0    
      p     

  public static void getAngleChange(float[], float[], float[]);
    descriptor: ([F[F[F)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=26, args_size=3
        start local 0 // float[] angleChange
        start local 1 // float[] R
        start local 2 // float[] prevR
         0: .line 1567
            fconst_0
            fstore 3 /* rd1 */
        start local 3 // float rd1
         1: fconst_0
            fstore 4 /* rd4 */
        start local 4 // float rd4
         2: fconst_0
            fstore 5 /* rd6 */
        start local 5 // float rd6
         3: fconst_0
            fstore 6 /* rd7 */
        start local 6 // float rd7
         4: fconst_0
            fstore 7 /* rd8 */
        start local 7 // float rd8
         5: .line 1568
            fconst_0
            fstore 8 /* ri0 */
        start local 8 // float ri0
         6: fconst_0
            fstore 9 /* ri1 */
        start local 9 // float ri1
         7: fconst_0
            fstore 10 /* ri2 */
        start local 10 // float ri2
         8: fconst_0
            fstore 11 /* ri3 */
        start local 11 // float ri3
         9: fconst_0
            fstore 12 /* ri4 */
        start local 12 // float ri4
        10: fconst_0
            fstore 13 /* ri5 */
        start local 13 // float ri5
        11: fconst_0
            fstore 14 /* ri6 */
        start local 14 // float ri6
        12: fconst_0
            fstore 15 /* ri7 */
        start local 15 // float ri7
        13: fconst_0
            fstore 16 /* ri8 */
        start local 16 // float ri8
        14: .line 1569
            fconst_0
            fstore 17 /* pri0 */
        start local 17 // float pri0
        15: fconst_0
            fstore 18 /* pri1 */
        start local 18 // float pri1
        16: fconst_0
            fstore 19 /* pri2 */
        start local 19 // float pri2
        17: fconst_0
            fstore 20 /* pri3 */
        start local 20 // float pri3
        18: fconst_0
            fstore 21 /* pri4 */
        start local 21 // float pri4
        19: .line 1570
            fconst_0
            fstore 22 /* pri5 */
        start local 22 // float pri5
        20: fconst_0
            fstore 23 /* pri6 */
        start local 23 // float pri6
        21: fconst_0
            fstore 24 /* pri7 */
        start local 24 // float pri7
        22: fconst_0
            fstore 25 /* pri8 */
        start local 25 // float pri8
        23: .line 1572
            aload 1 /* R */
            arraylength
            bipush 9
            if_icmpne 34
        24: .line 1573
            aload 1 /* R */
            iconst_0
            faload
            fstore 8 /* ri0 */
        25: .line 1574
            aload 1 /* R */
            iconst_1
            faload
            fstore 9 /* ri1 */
        26: .line 1575
            aload 1 /* R */
            iconst_2
            faload
            fstore 10 /* ri2 */
        27: .line 1576
            aload 1 /* R */
            iconst_3
            faload
            fstore 11 /* ri3 */
        28: .line 1577
            aload 1 /* R */
            iconst_4
            faload
            fstore 12 /* ri4 */
        29: .line 1578
            aload 1 /* R */
            iconst_5
            faload
            fstore 13 /* ri5 */
        30: .line 1579
            aload 1 /* R */
            bipush 6
            faload
            fstore 14 /* ri6 */
        31: .line 1580
            aload 1 /* R */
            bipush 7
            faload
            fstore 15 /* ri7 */
        32: .line 1581
            aload 1 /* R */
            bipush 8
            faload
            fstore 16 /* ri8 */
        33: .line 1582
            goto 44
      StackMap locals: float[] float[] float[] float float float float float float float float float float float float float float float float float float float float float float float
      StackMap stack:
        34: aload 1 /* R */
            arraylength
            bipush 16
            if_icmpne 44
        35: .line 1583
            aload 1 /* R */
            iconst_0
            faload
            fstore 8 /* ri0 */
        36: .line 1584
            aload 1 /* R */
            iconst_1
            faload
            fstore 9 /* ri1 */
        37: .line 1585
            aload 1 /* R */
            iconst_2
            faload
            fstore 10 /* ri2 */
        38: .line 1586
            aload 1 /* R */
            iconst_4
            faload
            fstore 11 /* ri3 */
        39: .line 1587
            aload 1 /* R */
            iconst_5
            faload
            fstore 12 /* ri4 */
        40: .line 1588
            aload 1 /* R */
            bipush 6
            faload
            fstore 13 /* ri5 */
        41: .line 1589
            aload 1 /* R */
            bipush 8
            faload
            fstore 14 /* ri6 */
        42: .line 1590
            aload 1 /* R */
            bipush 9
            faload
            fstore 15 /* ri7 */
        43: .line 1591
            aload 1 /* R */
            bipush 10
            faload
            fstore 16 /* ri8 */
        44: .line 1594
      StackMap locals:
      StackMap stack:
            aload 2 /* prevR */
            arraylength
            bipush 9
            if_icmpne 55
        45: .line 1595
            aload 2 /* prevR */
            iconst_0
            faload
            fstore 17 /* pri0 */
        46: .line 1596
            aload 2 /* prevR */
            iconst_1
            faload
            fstore 18 /* pri1 */
        47: .line 1597
            aload 2 /* prevR */
            iconst_2
            faload
            fstore 19 /* pri2 */
        48: .line 1598
            aload 2 /* prevR */
            iconst_3
            faload
            fstore 20 /* pri3 */
        49: .line 1599
            aload 2 /* prevR */
            iconst_4
            faload
            fstore 21 /* pri4 */
        50: .line 1600
            aload 2 /* prevR */
            iconst_5
            faload
            fstore 22 /* pri5 */
        51: .line 1601
            aload 2 /* prevR */
            bipush 6
            faload
            fstore 23 /* pri6 */
        52: .line 1602
            aload 2 /* prevR */
            bipush 7
            faload
            fstore 24 /* pri7 */
        53: .line 1603
            aload 2 /* prevR */
            bipush 8
            faload
            fstore 25 /* pri8 */
        54: .line 1604
            goto 65
      StackMap locals:
      StackMap stack:
        55: aload 2 /* prevR */
            arraylength
            bipush 16
            if_icmpne 65
        56: .line 1605
            aload 2 /* prevR */
            iconst_0
            faload
            fstore 17 /* pri0 */
        57: .line 1606
            aload 2 /* prevR */
            iconst_1
            faload
            fstore 18 /* pri1 */
        58: .line 1607
            aload 2 /* prevR */
            iconst_2
            faload
            fstore 19 /* pri2 */
        59: .line 1608
            aload 2 /* prevR */
            iconst_4
            faload
            fstore 20 /* pri3 */
        60: .line 1609
            aload 2 /* prevR */
            iconst_5
            faload
            fstore 21 /* pri4 */
        61: .line 1610
            aload 2 /* prevR */
            bipush 6
            faload
            fstore 22 /* pri5 */
        62: .line 1611
            aload 2 /* prevR */
            bipush 8
            faload
            fstore 23 /* pri6 */
        63: .line 1612
            aload 2 /* prevR */
            bipush 9
            faload
            fstore 24 /* pri7 */
        64: .line 1613
            aload 2 /* prevR */
            bipush 10
            faload
            fstore 25 /* pri8 */
        65: .line 1619
      StackMap locals:
      StackMap stack:
            fload 17 /* pri0 */
            fload 9 /* ri1 */
            fmul
            fload 20 /* pri3 */
            fload 12 /* ri4 */
            fmul
            fadd
            fload 23 /* pri6 */
            fload 15 /* ri7 */
            fmul
            fadd
            fstore 3 /* rd1 */
        66: .line 1620
            fload 18 /* pri1 */
            fload 9 /* ri1 */
            fmul
            fload 21 /* pri4 */
            fload 12 /* ri4 */
            fmul
            fadd
            fload 24 /* pri7 */
            fload 15 /* ri7 */
            fmul
            fadd
            fstore 4 /* rd4 */
        67: .line 1621
            fload 19 /* pri2 */
            fload 8 /* ri0 */
            fmul
            fload 22 /* pri5 */
            fload 11 /* ri3 */
            fmul
            fadd
            fload 25 /* pri8 */
            fload 14 /* ri6 */
            fmul
            fadd
            fstore 5 /* rd6 */
        68: .line 1622
            fload 19 /* pri2 */
            fload 9 /* ri1 */
            fmul
            fload 22 /* pri5 */
            fload 12 /* ri4 */
            fmul
            fadd
            fload 25 /* pri8 */
            fload 15 /* ri7 */
            fmul
            fadd
            fstore 6 /* rd7 */
        69: .line 1623
            fload 19 /* pri2 */
            fload 10 /* ri2 */
            fmul
            fload 22 /* pri5 */
            fload 13 /* ri5 */
            fmul
            fadd
            fload 25 /* pri8 */
            fload 16 /* ri8 */
            fmul
            fadd
            fstore 7 /* rd8 */
        70: .line 1625
            aload 0 /* angleChange */
            iconst_0
            fload 3 /* rd1 */
            f2d
            fload 4 /* rd4 */
            f2d
            invokestatic java.lang.Math.atan2:(DD)D
            d2f
            fastore
        71: .line 1626
            aload 0 /* angleChange */
            iconst_1
            fload 6 /* rd7 */
            fneg
            f2d
            invokestatic java.lang.Math.asin:(D)D
            d2f
            fastore
        72: .line 1627
            aload 0 /* angleChange */
            iconst_2
            fload 5 /* rd6 */
            fneg
            f2d
            fload 7 /* rd8 */
            f2d
            invokestatic java.lang.Math.atan2:(DD)D
            d2f
            fastore
        73: .line 1629
            return
        end local 25 // float pri8
        end local 24 // float pri7
        end local 23 // float pri6
        end local 22 // float pri5
        end local 21 // float pri4
        end local 20 // float pri3
        end local 19 // float pri2
        end local 18 // float pri1
        end local 17 // float pri0
        end local 16 // float ri8
        end local 15 // float ri7
        end local 14 // float ri6
        end local 13 // float ri5
        end local 12 // float ri4
        end local 11 // float ri3
        end local 10 // float ri2
        end local 9 // float ri1
        end local 8 // float ri0
        end local 7 // float rd8
        end local 6 // float rd7
        end local 5 // float rd6
        end local 4 // float rd4
        end local 3 // float rd1
        end local 2 // float[] prevR
        end local 1 // float[] R
        end local 0 // float[] angleChange
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   74     0  angleChange  [F
            0   74     1            R  [F
            0   74     2        prevR  [F
            1   74     3          rd1  F
            2   74     4          rd4  F
            3   74     5          rd6  F
            4   74     6          rd7  F
            5   74     7          rd8  F
            6   74     8          ri0  F
            7   74     9          ri1  F
            8   74    10          ri2  F
            9   74    11          ri3  F
           10   74    12          ri4  F
           11   74    13          ri5  F
           12   74    14          ri6  F
           13   74    15          ri7  F
           14   74    16          ri8  F
           15   74    17         pri0  F
           16   74    18         pri1  F
           17   74    19         pri2  F
           18   74    20         pri3  F
           19   74    21         pri4  F
           20   74    22         pri5  F
           21   74    23         pri6  F
           22   74    24         pri7  F
           23   74    25         pri8  F
    MethodParameters:
             Name  Flags
      angleChange  
      R            
      prevR        

  public static void getRotationMatrixFromVector(float[], float[]);
    descriptor: ([F[F)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=15, args_size=2
        start local 0 // float[] R
        start local 1 // float[] rotationVector
         0: .line 1653
            aload 1 /* rotationVector */
            iconst_0
            faload
            fstore 3 /* q1 */
        start local 3 // float q1
         1: .line 1654
            aload 1 /* rotationVector */
            iconst_1
            faload
            fstore 4 /* q2 */
        start local 4 // float q2
         2: .line 1655
            aload 1 /* rotationVector */
            iconst_2
            faload
            fstore 5 /* q3 */
        start local 5 // float q3
         3: .line 1657
            aload 1 /* rotationVector */
            arraylength
            iconst_4
            if_icmplt 6
         4: .line 1658
            aload 1 /* rotationVector */
            iconst_3
            faload
            fstore 2 /* q0 */
        start local 2 // float q0
         5: .line 1659
            goto 10
        end local 2 // float q0
         6: .line 1660
      StackMap locals: float[] float[] top float float float
      StackMap stack:
            fconst_1
            fload 3 /* q1 */
            fload 3 /* q1 */
            fmul
            fsub
            fload 4 /* q2 */
            fload 4 /* q2 */
            fmul
            fsub
            fload 5 /* q3 */
            fload 5 /* q3 */
            fmul
            fsub
            fstore 2 /* q0 */
        start local 2 // float q0
         7: .line 1661
            fload 2 /* q0 */
            fconst_0
            fcmpl
            ifle 8
            fload 2 /* q0 */
            f2d
            invokestatic java.lang.Math.sqrt:(D)D
            d2f
            goto 9
      StackMap locals: float[] float[] float float float float
      StackMap stack:
         8: fconst_0
      StackMap locals:
      StackMap stack: float
         9: fstore 2 /* q0 */
        10: .line 1664
      StackMap locals:
      StackMap stack:
            fconst_2
            fload 3 /* q1 */
            fmul
            fload 3 /* q1 */
            fmul
            fstore 6 /* sq_q1 */
        start local 6 // float sq_q1
        11: .line 1665
            fconst_2
            fload 4 /* q2 */
            fmul
            fload 4 /* q2 */
            fmul
            fstore 7 /* sq_q2 */
        start local 7 // float sq_q2
        12: .line 1666
            fconst_2
            fload 5 /* q3 */
            fmul
            fload 5 /* q3 */
            fmul
            fstore 8 /* sq_q3 */
        start local 8 // float sq_q3
        13: .line 1667
            fconst_2
            fload 3 /* q1 */
            fmul
            fload 4 /* q2 */
            fmul
            fstore 9 /* q1_q2 */
        start local 9 // float q1_q2
        14: .line 1668
            fconst_2
            fload 5 /* q3 */
            fmul
            fload 2 /* q0 */
            fmul
            fstore 10 /* q3_q0 */
        start local 10 // float q3_q0
        15: .line 1669
            fconst_2
            fload 3 /* q1 */
            fmul
            fload 5 /* q3 */
            fmul
            fstore 11 /* q1_q3 */
        start local 11 // float q1_q3
        16: .line 1670
            fconst_2
            fload 4 /* q2 */
            fmul
            fload 2 /* q0 */
            fmul
            fstore 12 /* q2_q0 */
        start local 12 // float q2_q0
        17: .line 1671
            fconst_2
            fload 4 /* q2 */
            fmul
            fload 5 /* q3 */
            fmul
            fstore 13 /* q2_q3 */
        start local 13 // float q2_q3
        18: .line 1672
            fconst_2
            fload 3 /* q1 */
            fmul
            fload 2 /* q0 */
            fmul
            fstore 14 /* q1_q0 */
        start local 14 // float q1_q0
        19: .line 1674
            aload 0 /* R */
            arraylength
            bipush 9
            if_icmpne 30
        20: .line 1675
            aload 0 /* R */
            iconst_0
            fconst_1
            fload 7 /* sq_q2 */
            fsub
            fload 8 /* sq_q3 */
            fsub
            fastore
        21: .line 1676
            aload 0 /* R */
            iconst_1
            fload 9 /* q1_q2 */
            fload 10 /* q3_q0 */
            fsub
            fastore
        22: .line 1677
            aload 0 /* R */
            iconst_2
            fload 11 /* q1_q3 */
            fload 12 /* q2_q0 */
            fadd
            fastore
        23: .line 1679
            aload 0 /* R */
            iconst_3
            fload 9 /* q1_q2 */
            fload 10 /* q3_q0 */
            fadd
            fastore
        24: .line 1680
            aload 0 /* R */
            iconst_4
            fconst_1
            fload 6 /* sq_q1 */
            fsub
            fload 8 /* sq_q3 */
            fsub
            fastore
        25: .line 1681
            aload 0 /* R */
            iconst_5
            fload 13 /* q2_q3 */
            fload 14 /* q1_q0 */
            fsub
            fastore
        26: .line 1683
            aload 0 /* R */
            bipush 6
            fload 11 /* q1_q3 */
            fload 12 /* q2_q0 */
            fsub
            fastore
        27: .line 1684
            aload 0 /* R */
            bipush 7
            fload 13 /* q2_q3 */
            fload 14 /* q1_q0 */
            fadd
            fastore
        28: .line 1685
            aload 0 /* R */
            bipush 8
            fconst_1
            fload 6 /* sq_q1 */
            fsub
            fload 7 /* sq_q2 */
            fsub
            fastore
        29: .line 1686
            goto 45
      StackMap locals: float[] float[] float float float float float float float float float float float float float
      StackMap stack:
        30: aload 0 /* R */
            arraylength
            bipush 16
            if_icmpne 45
        31: .line 1687
            aload 0 /* R */
            iconst_0
            fconst_1
            fload 7 /* sq_q2 */
            fsub
            fload 8 /* sq_q3 */
            fsub
            fastore
        32: .line 1688
            aload 0 /* R */
            iconst_1
            fload 9 /* q1_q2 */
            fload 10 /* q3_q0 */
            fsub
            fastore
        33: .line 1689
            aload 0 /* R */
            iconst_2
            fload 11 /* q1_q3 */
            fload 12 /* q2_q0 */
            fadd
            fastore
        34: .line 1690
            aload 0 /* R */
            iconst_3
            fconst_0
            fastore
        35: .line 1692
            aload 0 /* R */
            iconst_4
            fload 9 /* q1_q2 */
            fload 10 /* q3_q0 */
            fadd
            fastore
        36: .line 1693
            aload 0 /* R */
            iconst_5
            fconst_1
            fload 6 /* sq_q1 */
            fsub
            fload 8 /* sq_q3 */
            fsub
            fastore
        37: .line 1694
            aload 0 /* R */
            bipush 6
            fload 13 /* q2_q3 */
            fload 14 /* q1_q0 */
            fsub
            fastore
        38: .line 1695
            aload 0 /* R */
            bipush 7
            fconst_0
            fastore
        39: .line 1697
            aload 0 /* R */
            bipush 8
            fload 11 /* q1_q3 */
            fload 12 /* q2_q0 */
            fsub
            fastore
        40: .line 1698
            aload 0 /* R */
            bipush 9
            fload 13 /* q2_q3 */
            fload 14 /* q1_q0 */
            fadd
            fastore
        41: .line 1699
            aload 0 /* R */
            bipush 10
            fconst_1
            fload 6 /* sq_q1 */
            fsub
            fload 7 /* sq_q2 */
            fsub
            fastore
        42: .line 1700
            aload 0 /* R */
            bipush 11
            fconst_0
            fastore
        43: .line 1702
            aload 0 /* R */
            bipush 12
            aload 0 /* R */
            bipush 13
            aload 0 /* R */
            bipush 14
            fconst_0
            dup_x2
            fastore
            dup_x2
            fastore
            fastore
        44: .line 1703
            aload 0 /* R */
            bipush 15
            fconst_1
            fastore
        45: .line 1705
      StackMap locals:
      StackMap stack:
            return
        end local 14 // float q1_q0
        end local 13 // float q2_q3
        end local 12 // float q2_q0
        end local 11 // float q1_q3
        end local 10 // float q3_q0
        end local 9 // float q1_q2
        end local 8 // float sq_q3
        end local 7 // float sq_q2
        end local 6 // float sq_q1
        end local 5 // float q3
        end local 4 // float q2
        end local 3 // float q1
        end local 2 // float q0
        end local 1 // float[] rotationVector
        end local 0 // float[] R
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   46     0               R  [F
            0   46     1  rotationVector  [F
            5    6     2              q0  F
            7   46     2              q0  F
            1   46     3              q1  F
            2   46     4              q2  F
            3   46     5              q3  F
           11   46     6           sq_q1  F
           12   46     7           sq_q2  F
           13   46     8           sq_q3  F
           14   46     9           q1_q2  F
           15   46    10           q3_q0  F
           16   46    11           q1_q3  F
           17   46    12           q2_q0  F
           18   46    13           q2_q3  F
           19   46    14           q1_q0  F
    MethodParameters:
                Name  Flags
      R               
      rotationVector  

  public static void getQuaternionFromVector(float[], float[]);
    descriptor: ([F[F)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // float[] Q
        start local 1 // float[] rv
         0: .line 1714
            aload 1 /* rv */
            arraylength
            iconst_4
            if_icmplt 3
         1: .line 1715
            aload 0 /* Q */
            iconst_0
            aload 1 /* rv */
            iconst_3
            faload
            fastore
         2: .line 1716
            goto 7
         3: .line 1717
      StackMap locals:
      StackMap stack:
            aload 0 /* Q */
            iconst_0
            fconst_1
            aload 1 /* rv */
            iconst_0
            faload
            aload 1 /* rv */
            iconst_0
            faload
            fmul
            fsub
            aload 1 /* rv */
            iconst_1
            faload
            aload 1 /* rv */
            iconst_1
            faload
            fmul
            fsub
            aload 1 /* rv */
            iconst_2
            faload
            aload 1 /* rv */
            iconst_2
            faload
            fmul
            fsub
            fastore
         4: .line 1718
            aload 0 /* Q */
            iconst_0
            aload 0 /* Q */
            iconst_0
            faload
            fconst_0
            fcmpl
            ifle 5
            aload 0 /* Q */
            iconst_0
            faload
            f2d
            invokestatic java.lang.Math.sqrt:(D)D
            d2f
            goto 6
      StackMap locals: float[] float[]
      StackMap stack: float[] int
         5: fconst_0
      StackMap locals: float[] float[]
      StackMap stack: float[] int float
         6: fastore
         7: .line 1720
      StackMap locals:
      StackMap stack:
            aload 0 /* Q */
            iconst_1
            aload 1 /* rv */
            iconst_0
            faload
            fastore
         8: .line 1721
            aload 0 /* Q */
            iconst_2
            aload 1 /* rv */
            iconst_1
            faload
            fastore
         9: .line 1722
            aload 0 /* Q */
            iconst_3
            aload 1 /* rv */
            iconst_2
            faload
            fastore
        10: .line 1723
            return
        end local 1 // float[] rv
        end local 0 // float[] Q
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0     Q  [F
            0   11     1    rv  [F
    MethodParameters:
      Name  Flags
      Q     
      rv    

  public boolean requestTriggerSensor(android.hardware.TriggerEventListener, android.hardware.Sensor);
    descriptor: (Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.hardware.SensorManager this
        start local 1 // android.hardware.TriggerEventListener listener
        start local 2 // android.hardware.Sensor sensor
         0: .line 1745
            aload 0 /* this */
            aload 1 /* listener */
            aload 2 /* sensor */
            invokevirtual android.hardware.SensorManager.requestTriggerSensorImpl:(Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;)Z
            ireturn
        end local 2 // android.hardware.Sensor sensor
        end local 1 // android.hardware.TriggerEventListener listener
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Landroid/hardware/SensorManager;
            0    1     1  listener  Landroid/hardware/TriggerEventListener;
            0    1     2    sensor  Landroid/hardware/Sensor;
    MethodParameters:
          Name  Flags
      listener  
      sensor    

  protected abstract boolean requestTriggerSensorImpl(android.hardware.TriggerEventListener, android.hardware.Sensor);
    descriptor: (Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;)Z
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      listener  
      sensor    

  public boolean cancelTriggerSensor(android.hardware.TriggerEventListener, android.hardware.Sensor);
    descriptor: (Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.hardware.SensorManager this
        start local 1 // android.hardware.TriggerEventListener listener
        start local 2 // android.hardware.Sensor sensor
         0: .line 1777
            aload 0 /* this */
            aload 1 /* listener */
            aload 2 /* sensor */
            iconst_1
            invokevirtual android.hardware.SensorManager.cancelTriggerSensorImpl:(Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;Z)Z
            ireturn
        end local 2 // android.hardware.Sensor sensor
        end local 1 // android.hardware.TriggerEventListener listener
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Landroid/hardware/SensorManager;
            0    1     1  listener  Landroid/hardware/TriggerEventListener;
            0    1     2    sensor  Landroid/hardware/Sensor;
    MethodParameters:
          Name  Flags
      listener  
      sensor    

  protected abstract boolean cancelTriggerSensorImpl(android.hardware.TriggerEventListener, android.hardware.Sensor, boolean);
    descriptor: (Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;Z)Z
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      listener  
      sensor    
      disable   

  public boolean initDataInjection(boolean);
    descriptor: (Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.hardware.SensorManager this
        start local 1 // boolean enable
         0: .line 1810
            aload 0 /* this */
            iload 1 /* enable */
            invokevirtual android.hardware.SensorManager.initDataInjectionImpl:(Z)Z
            ireturn
        end local 1 // boolean enable
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/hardware/SensorManager;
            0    1     1  enable  Z
    RuntimeVisibleAnnotations: 
      android.annotation.SystemApi()
    MethodParameters:
        Name  Flags
      enable  

  protected abstract boolean initDataInjectionImpl(boolean);
    descriptor: (Z)Z
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      enable  

  public boolean injectSensorData(android.hardware.Sensor, float[], int, long);
    descriptor: (Landroid/hardware/Sensor;[FIJ)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // android.hardware.SensorManager this
        start local 1 // android.hardware.Sensor sensor
        start local 2 // float[] values
        start local 3 // int accuracy
        start local 4 // long timestamp
         0: .line 1845
            aload 1 /* sensor */
            ifnonnull 2
         1: .line 1846
            new java.lang.IllegalArgumentException
            dup
            ldc "sensor cannot be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1848
      StackMap locals:
      StackMap stack:
            aload 1 /* sensor */
            invokevirtual android.hardware.Sensor.isDataInjectionSupported:()Z
            ifne 4
         3: .line 1849
            new java.lang.IllegalArgumentException
            dup
            ldc "sensor does not support data injection"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1851
      StackMap locals:
      StackMap stack:
            aload 2 /* values */
            ifnonnull 6
         5: .line 1852
            new java.lang.IllegalArgumentException
            dup
            ldc "sensor data cannot be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1854
      StackMap locals:
      StackMap stack:
            aload 1 /* sensor */
            bipush 23
            invokestatic android.hardware.Sensor.getMaxLengthValuesArray:(Landroid/hardware/Sensor;I)I
            istore 6 /* expectedNumValues */
        start local 6 // int expectedNumValues
         7: .line 1855
            aload 2 /* values */
            arraylength
            iload 6 /* expectedNumValues */
            if_icmpeq 12
         8: .line 1856
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Wrong number of values for sensor "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 1857
            aload 1 /* sensor */
            invokevirtual android.hardware.Sensor.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " actual="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* values */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " expected="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 1858
            iload 6 /* expectedNumValues */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 1856
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 1860
      StackMap locals: int
      StackMap stack:
            iload 3 /* accuracy */
            iconst_m1
            if_icmplt 13
            iload 3 /* accuracy */
            iconst_3
            if_icmple 14
        13: .line 1861
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid sensor accuracy"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 1863
      StackMap locals:
      StackMap stack:
            lload 4 /* timestamp */
            lconst_0
            lcmp
            ifgt 16
        15: .line 1864
            new java.lang.IllegalArgumentException
            dup
            ldc "Negative or zero sensor timestamp"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 1866
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sensor */
            aload 2 /* values */
            iload 3 /* accuracy */
            lload 4 /* timestamp */
            invokevirtual android.hardware.SensorManager.injectSensorDataImpl:(Landroid/hardware/Sensor;[FIJ)Z
            ireturn
        end local 6 // int expectedNumValues
        end local 4 // long timestamp
        end local 3 // int accuracy
        end local 2 // float[] values
        end local 1 // android.hardware.Sensor sensor
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   17     0               this  Landroid/hardware/SensorManager;
            0   17     1             sensor  Landroid/hardware/Sensor;
            0   17     2             values  [F
            0   17     3           accuracy  I
            0   17     4          timestamp  J
            7   17     6  expectedNumValues  I
    RuntimeVisibleAnnotations: 
      android.annotation.SystemApi()
    MethodParameters:
           Name  Flags
      sensor     
      values     
      accuracy   
      timestamp  

  protected abstract boolean injectSensorDataImpl(android.hardware.Sensor, float[], int, long);
    descriptor: (Landroid/hardware/Sensor;[FIJ)Z
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      sensor     
      values     
      accuracy   
      timestamp  

  private android.hardware.LegacySensorManager getLegacySensorManager();
    descriptor: ()Landroid/hardware/LegacySensorManager;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // android.hardware.SensorManager this
         0: .line 1876
            aload 0 /* this */
            getfield android.hardware.SensorManager.mSensorListByType:Landroid/util/SparseArray;
            dup
            astore 1
            monitorenter
         1: .line 1877
            aload 0 /* this */
            getfield android.hardware.SensorManager.mLegacySensorManager:Landroid/hardware/LegacySensorManager;
            ifnonnull 4
         2: .line 1878
            ldc "SensorManager"
            ldc "This application is using deprecated SensorManager API which will be removed someday.  Please consider switching to the new API."
            invokestatic android.util.Log.i:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         3: .line 1880
            aload 0 /* this */
            new android.hardware.LegacySensorManager
            dup
            aload 0 /* this */
            invokespecial android.hardware.LegacySensorManager.<init>:(Landroid/hardware/SensorManager;)V
            putfield android.hardware.SensorManager.mLegacySensorManager:Landroid/hardware/LegacySensorManager;
         4: .line 1882
      StackMap locals: android.util.SparseArray
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.SensorManager.mLegacySensorManager:Landroid/hardware/LegacySensorManager;
            aload 1
            monitorexit
         5: areturn
         6: .line 1876
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         7: athrow
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Landroid/hardware/SensorManager;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any

  private static int getDelay(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // int rate
         0: .line 1887
            iconst_m1
            istore 1 /* delay */
        start local 1 // int delay
         1: .line 1888
            iload 0 /* rate */
            tableswitch { // 0 - 3
                    0: 2
                    1: 4
                    2: 6
                    3: 8
              default: 10
          }
         2: .line 1890
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 1 /* delay */
         3: .line 1891
            goto 11
         4: .line 1893
      StackMap locals:
      StackMap stack:
            sipush 20000
            istore 1 /* delay */
         5: .line 1894
            goto 11
         6: .line 1896
      StackMap locals:
      StackMap stack:
            ldc 66667
            istore 1 /* delay */
         7: .line 1897
            goto 11
         8: .line 1899
      StackMap locals:
      StackMap stack:
            ldc 200000
            istore 1 /* delay */
         9: .line 1900
            goto 11
        10: .line 1902
      StackMap locals:
      StackMap stack:
            iload 0 /* rate */
            istore 1 /* delay */
        11: .line 1905
      StackMap locals:
      StackMap stack:
            iload 1 /* delay */
            ireturn
        end local 1 // int delay
        end local 0 // int rate
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   rate  I
            1   12     1  delay  I
    MethodParameters:
      Name  Flags
      rate  

  public boolean setOperationParameter(android.hardware.SensorAdditionalInfo);
    descriptor: (Landroid/hardware/SensorAdditionalInfo;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.hardware.SensorManager this
        start local 1 // android.hardware.SensorAdditionalInfo parameter
         0: .line 1910
            aload 0 /* this */
            aload 1 /* parameter */
            invokevirtual android.hardware.SensorManager.setOperationParameterImpl:(Landroid/hardware/SensorAdditionalInfo;)Z
            ireturn
        end local 1 // android.hardware.SensorAdditionalInfo parameter
        end local 0 // android.hardware.SensorManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Landroid/hardware/SensorManager;
            0    1     1  parameter  Landroid/hardware/SensorAdditionalInfo;
    MethodParameters:
           Name  Flags
      parameter  

  protected abstract boolean setOperationParameterImpl(android.hardware.SensorAdditionalInfo);
    descriptor: (Landroid/hardware/SensorAdditionalInfo;)Z
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      parameter  
}
SourceFile: "SensorManager.java"
NestMembers:
  android.hardware.SensorManager$DynamicSensorCallback
InnerClasses:
  public abstract DynamicSensorCallback = android.hardware.SensorManager$DynamicSensorCallback of android.hardware.SensorManager