final class android.hardware.LegacySensorManager$LegacyListener implements android.hardware.SensorEventListener
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: android.hardware.LegacySensorManager$LegacyListener
  super_class: java.lang.Object
{
  private float[] mValues;
    descriptor: [F
    flags: (0x0002) ACC_PRIVATE

  private android.hardware.SensorListener mTarget;
    descriptor: Landroid/hardware/SensorListener;
    flags: (0x0002) ACC_PRIVATE

  private int mSensors;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private final android.hardware.LegacySensorManager$LmsFilter mYawfilter;
    descriptor: Landroid/hardware/LegacySensorManager$LmsFilter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>(android.hardware.SensorListener);
    descriptor: (Landroid/hardware/SensorListener;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.hardware.LegacySensorManager$LegacyListener this
        start local 1 // android.hardware.SensorListener target
         0: .line 212
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 207
            aload 0 /* this */
            bipush 6
            newarray 6
            putfield android.hardware.LegacySensorManager$LegacyListener.mValues:[F
         2: .line 210
            aload 0 /* this */
            new android.hardware.LegacySensorManager$LmsFilter
            dup
            invokespecial android.hardware.LegacySensorManager$LmsFilter.<init>:()V
            putfield android.hardware.LegacySensorManager$LegacyListener.mYawfilter:Landroid/hardware/LegacySensorManager$LmsFilter;
         3: .line 213
            aload 0 /* this */
            aload 1 /* target */
            putfield android.hardware.LegacySensorManager$LegacyListener.mTarget:Landroid/hardware/SensorListener;
         4: .line 214
            aload 0 /* this */
            iconst_0
            putfield android.hardware.LegacySensorManager$LegacyListener.mSensors:I
         5: .line 215
            return
        end local 1 // android.hardware.SensorListener target
        end local 0 // android.hardware.LegacySensorManager$LegacyListener this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Landroid/hardware/LegacySensorManager$LegacyListener;
            0    6     1  target  Landroid/hardware/SensorListener;
    MethodParameters:
        Name  Flags
      target  

  boolean registerSensor(int);
    descriptor: (I)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.hardware.LegacySensorManager$LegacyListener this
        start local 1 // int legacyType
         0: .line 218
            aload 0 /* this */
            getfield android.hardware.LegacySensorManager$LegacyListener.mSensors:I
            iload 1 /* legacyType */
            iand
            ifeq 2
         1: .line 219
            iconst_0
            ireturn
         2: .line 221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.LegacySensorManager$LegacyListener.mSensors:I
            invokestatic android.hardware.LegacySensorManager$LegacyListener.hasOrientationSensor:(I)Z
            istore 2 /* alreadyHasOrientationSensor */
        start local 2 // boolean alreadyHasOrientationSensor
         3: .line 222
            aload 0 /* this */
            dup
            getfield android.hardware.LegacySensorManager$LegacyListener.mSensors:I
            iload 1 /* legacyType */
            ior
            putfield android.hardware.LegacySensorManager$LegacyListener.mSensors:I
         4: .line 223
            iload 2 /* alreadyHasOrientationSensor */
            ifeq 6
            iload 1 /* legacyType */
            invokestatic android.hardware.LegacySensorManager$LegacyListener.hasOrientationSensor:(I)Z
            ifeq 6
         5: .line 224
            iconst_0
            ireturn
         6: .line 226
      StackMap locals: int
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // boolean alreadyHasOrientationSensor
        end local 1 // int legacyType
        end local 0 // android.hardware.LegacySensorManager$LegacyListener this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    7     0                         this  Landroid/hardware/LegacySensorManager$LegacyListener;
            0    7     1                   legacyType  I
            3    7     2  alreadyHasOrientationSensor  Z
    MethodParameters:
            Name  Flags
      legacyType  

  boolean unregisterSensor(int);
    descriptor: (I)Z
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.hardware.LegacySensorManager$LegacyListener this
        start local 1 // int legacyType
         0: .line 230
            aload 0 /* this */
            getfield android.hardware.LegacySensorManager$LegacyListener.mSensors:I
            iload 1 /* legacyType */
            iand
            ifne 2
         1: .line 231
            iconst_0
            ireturn
         2: .line 233
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield android.hardware.LegacySensorManager$LegacyListener.mSensors:I
            iload 1 /* legacyType */
            iconst_m1
            ixor
            iand
            putfield android.hardware.LegacySensorManager$LegacyListener.mSensors:I
         3: .line 234
            iload 1 /* legacyType */
            invokestatic android.hardware.LegacySensorManager$LegacyListener.hasOrientationSensor:(I)Z
            ifeq 5
            aload 0 /* this */
            getfield android.hardware.LegacySensorManager$LegacyListener.mSensors:I
            invokestatic android.hardware.LegacySensorManager$LegacyListener.hasOrientationSensor:(I)Z
            ifeq 5
         4: .line 235
            iconst_0
            ireturn
         5: .line 237
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // int legacyType
        end local 0 // android.hardware.LegacySensorManager$LegacyListener this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Landroid/hardware/LegacySensorManager$LegacyListener;
            0    6     1  legacyType  I
    MethodParameters:
            Name  Flags
      legacyType  

  boolean hasSensors();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.hardware.LegacySensorManager$LegacyListener this
         0: .line 241
            aload 0 /* this */
            getfield android.hardware.LegacySensorManager$LegacyListener.mSensors:I
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.hardware.LegacySensorManager$LegacyListener this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/hardware/LegacySensorManager$LegacyListener;

  private static boolean hasOrientationSensor(int);
    descriptor: (I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int sensors
         0: .line 245
            iload 0 /* sensors */
            sipush 129
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int sensors
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  sensors  I
    MethodParameters:
         Name  Flags
      sensors  

  public void onAccuracyChanged(android.hardware.Sensor, int);
    descriptor: (Landroid/hardware/Sensor;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.hardware.LegacySensorManager$LegacyListener this
        start local 1 // android.hardware.Sensor sensor
        start local 2 // int accuracy
         0: .line 251
            aload 0 /* this */
            getfield android.hardware.LegacySensorManager$LegacyListener.mTarget:Landroid/hardware/SensorListener;
            aload 1 /* sensor */
            invokevirtual android.hardware.Sensor.getType:()I
            invokestatic android.hardware.LegacySensorManager$LegacyListener.getLegacySensorType:(I)I
            iload 2 /* accuracy */
            invokeinterface android.hardware.SensorListener.onAccuracyChanged:(II)V
         1: .line 252
            goto 3
      StackMap locals:
      StackMap stack: java.lang.AbstractMethodError
         2: pop
         3: .line 256
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int accuracy
        end local 1 // android.hardware.Sensor sensor
        end local 0 // android.hardware.LegacySensorManager$LegacyListener this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Landroid/hardware/LegacySensorManager$LegacyListener;
            0    4     1    sensor  Landroid/hardware/Sensor;
            0    4     2  accuracy  I
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.AbstractMethodError
    MethodParameters:
          Name  Flags
      sensor    
      accuracy  

  public void onSensorChanged(android.hardware.SensorEvent);
    descriptor: (Landroid/hardware/SensorEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // android.hardware.LegacySensorManager$LegacyListener this
        start local 1 // android.hardware.SensorEvent event
         0: .line 259
            aload 0 /* this */
            getfield android.hardware.LegacySensorManager$LegacyListener.mValues:[F
            astore 2 /* v */
        start local 2 // float[] v
         1: .line 260
            aload 2 /* v */
            iconst_0
            aload 1 /* event */
            getfield android.hardware.SensorEvent.values:[F
            iconst_0
            faload
            fastore
         2: .line 261
            aload 2 /* v */
            iconst_1
            aload 1 /* event */
            getfield android.hardware.SensorEvent.values:[F
            iconst_1
            faload
            fastore
         3: .line 262
            aload 2 /* v */
            iconst_2
            aload 1 /* event */
            getfield android.hardware.SensorEvent.values:[F
            iconst_2
            faload
            fastore
         4: .line 263
            aload 1 /* event */
            getfield android.hardware.SensorEvent.sensor:Landroid/hardware/Sensor;
            invokevirtual android.hardware.Sensor.getType:()I
            istore 3 /* type */
        start local 3 // int type
         5: .line 264
            iload 3 /* type */
            invokestatic android.hardware.LegacySensorManager$LegacyListener.getLegacySensorType:(I)I
            istore 4 /* legacyType */
        start local 4 // int legacyType
         6: .line 265
            aload 0 /* this */
            iload 4 /* legacyType */
            aload 2 /* v */
            invokestatic android.hardware.LegacySensorManager.getRotation:()I
            invokevirtual android.hardware.LegacySensorManager$LegacyListener.mapSensorDataToWindow:(I[FI)V
         7: .line 266
            iload 3 /* type */
            iconst_3
            if_icmpne 14
         8: .line 267
            aload 0 /* this */
            getfield android.hardware.LegacySensorManager$LegacyListener.mSensors:I
            sipush 128
            iand
            ifeq 10
         9: .line 268
            aload 0 /* this */
            getfield android.hardware.LegacySensorManager$LegacyListener.mTarget:Landroid/hardware/SensorListener;
            sipush 128
            aload 2 /* v */
            invokeinterface android.hardware.SensorListener.onSensorChanged:(I[F)V
        10: .line 270
      StackMap locals: float[] int int
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.LegacySensorManager$LegacyListener.mSensors:I
            iconst_1
            iand
            ifeq 15
        11: .line 271
            aload 2 /* v */
            iconst_0
            aload 0 /* this */
            getfield android.hardware.LegacySensorManager$LegacyListener.mYawfilter:Landroid/hardware/LegacySensorManager$LmsFilter;
            aload 1 /* event */
            getfield android.hardware.SensorEvent.timestamp:J
            aload 2 /* v */
            iconst_0
            faload
            invokevirtual android.hardware.LegacySensorManager$LmsFilter.filter:(JF)F
            fastore
        12: .line 272
            aload 0 /* this */
            getfield android.hardware.LegacySensorManager$LegacyListener.mTarget:Landroid/hardware/SensorListener;
            iconst_1
            aload 2 /* v */
            invokeinterface android.hardware.SensorListener.onSensorChanged:(I[F)V
        13: .line 274
            goto 15
        14: .line 275
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.LegacySensorManager$LegacyListener.mTarget:Landroid/hardware/SensorListener;
            iload 4 /* legacyType */
            aload 2 /* v */
            invokeinterface android.hardware.SensorListener.onSensorChanged:(I[F)V
        15: .line 277
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int legacyType
        end local 3 // int type
        end local 2 // float[] v
        end local 1 // android.hardware.SensorEvent event
        end local 0 // android.hardware.LegacySensorManager$LegacyListener this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Landroid/hardware/LegacySensorManager$LegacyListener;
            0   16     1       event  Landroid/hardware/SensorEvent;
            1   16     2           v  [F
            5   16     3        type  I
            6   16     4  legacyType  I
    MethodParameters:
       Name  Flags
      event  

  private void mapSensorDataToWindow(int, float[], int);
    descriptor: (I[FI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // android.hardware.LegacySensorManager$LegacyListener this
        start local 1 // int sensor
        start local 2 // float[] values
        start local 3 // int orientation
         0: .line 289
            aload 2 /* values */
            iconst_0
            faload
            fstore 4 /* x */
        start local 4 // float x
         1: .line 290
            aload 2 /* values */
            iconst_1
            faload
            fstore 5 /* y */
        start local 5 // float y
         2: .line 291
            aload 2 /* values */
            iconst_2
            faload
            fstore 6 /* z */
        start local 6 // float z
         3: .line 293
            iload 1 /* sensor */
            lookupswitch { // 4
                    1: 4
                    2: 6
                    8: 10
                  128: 4
              default: 12
          }
         4: .line 296
      StackMap locals: float float float
      StackMap stack:
            fload 6 /* z */
            fneg
            fstore 6 /* z */
         5: .line 297
            goto 12
         6: .line 299
      StackMap locals:
      StackMap stack:
            fload 4 /* x */
            fneg
            fstore 4 /* x */
         7: .line 300
            fload 5 /* y */
            fneg
            fstore 5 /* y */
         8: .line 301
            fload 6 /* z */
            fneg
            fstore 6 /* z */
         9: .line 302
            goto 12
        10: .line 304
      StackMap locals:
      StackMap stack:
            fload 4 /* x */
            fneg
            fstore 4 /* x */
        11: .line 305
            fload 5 /* y */
            fneg
            fstore 5 /* y */
        12: .line 308
      StackMap locals:
      StackMap stack:
            aload 2 /* values */
            iconst_0
            fload 4 /* x */
            fastore
        13: .line 309
            aload 2 /* values */
            iconst_1
            fload 5 /* y */
            fastore
        14: .line 310
            aload 2 /* values */
            iconst_2
            fload 6 /* z */
            fastore
        15: .line 311
            aload 2 /* values */
            iconst_3
            fload 4 /* x */
            fastore
        16: .line 312
            aload 2 /* values */
            iconst_4
            fload 5 /* y */
            fastore
        17: .line 313
            aload 2 /* values */
            iconst_5
            fload 6 /* z */
            fastore
        18: .line 315
            iload 3 /* orientation */
            iconst_1
            iand
            ifeq 29
        19: .line 317
            iload 1 /* sensor */
            lookupswitch { // 4
                    1: 24
                    2: 20
                    8: 20
                  128: 24
              default: 29
          }
        20: .line 320
      StackMap locals:
      StackMap stack:
            aload 2 /* values */
            iconst_0
            fload 5 /* y */
            fneg
            fastore
        21: .line 321
            aload 2 /* values */
            iconst_1
            fload 4 /* x */
            fastore
        22: .line 322
            aload 2 /* values */
            iconst_2
            fload 6 /* z */
            fastore
        23: .line 323
            goto 29
        24: .line 326
      StackMap locals:
      StackMap stack:
            aload 2 /* values */
            iconst_0
            fload 4 /* x */
            fload 4 /* x */
            ldc 270.0
            fcmpg
            ifge 25
            bipush 90
            goto 26
      StackMap locals: android.hardware.LegacySensorManager$LegacyListener int float[] int float float float
      StackMap stack: float[] int float
        25: sipush -270
      StackMap locals: android.hardware.LegacySensorManager$LegacyListener int float[] int float float float
      StackMap stack: float[] int float int
        26: i2f
            fadd
            fastore
        27: .line 327
            aload 2 /* values */
            iconst_1
            fload 6 /* z */
            fastore
        28: .line 328
            aload 2 /* values */
            iconst_2
            fload 5 /* y */
            fastore
        29: .line 332
      StackMap locals:
      StackMap stack:
            iload 3 /* orientation */
            iconst_2
            iand
            ifeq 43
        30: .line 333
            aload 2 /* values */
            iconst_0
            faload
            fstore 4 /* x */
        31: .line 334
            aload 2 /* values */
            iconst_1
            faload
            fstore 5 /* y */
        32: .line 335
            aload 2 /* values */
            iconst_2
            faload
            fstore 6 /* z */
        33: .line 337
            iload 1 /* sensor */
            lookupswitch { // 4
                    1: 38
                    2: 34
                    8: 34
                  128: 38
              default: 43
          }
        34: .line 340
      StackMap locals:
      StackMap stack:
            aload 2 /* values */
            iconst_0
            fload 4 /* x */
            fneg
            fastore
        35: .line 341
            aload 2 /* values */
            iconst_1
            fload 5 /* y */
            fneg
            fastore
        36: .line 342
            aload 2 /* values */
            iconst_2
            fload 6 /* z */
            fastore
        37: .line 343
            goto 43
        38: .line 346
      StackMap locals:
      StackMap stack:
            aload 2 /* values */
            iconst_0
            fload 4 /* x */
            ldc 180.0
            fcmpl
            iflt 39
            fload 4 /* x */
            ldc 180.0
            fsub
            goto 40
      StackMap locals: android.hardware.LegacySensorManager$LegacyListener int float[] int float float float
      StackMap stack: float[] int
        39: fload 4 /* x */
            ldc 180.0
            fadd
      StackMap locals: android.hardware.LegacySensorManager$LegacyListener int float[] int float float float
      StackMap stack: float[] int float
        40: fastore
        41: .line 347
            aload 2 /* values */
            iconst_1
            fload 5 /* y */
            fneg
            fastore
        42: .line 348
            aload 2 /* values */
            iconst_2
            fload 6 /* z */
            fneg
            fastore
        43: .line 352
      StackMap locals:
      StackMap stack:
            return
        end local 6 // float z
        end local 5 // float y
        end local 4 // float x
        end local 3 // int orientation
        end local 2 // float[] values
        end local 1 // int sensor
        end local 0 // android.hardware.LegacySensorManager$LegacyListener this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   44     0         this  Landroid/hardware/LegacySensorManager$LegacyListener;
            0   44     1       sensor  I
            0   44     2       values  [F
            0   44     3  orientation  I
            1   44     4            x  F
            2   44     5            y  F
            3   44     6            z  F
    MethodParameters:
             Name  Flags
      sensor       
      values       
      orientation  

  private static int getLegacySensorType(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int type
         0: .line 355
            iload 0 /* type */
            tableswitch { // 1 - 7
                    1: 1
                    2: 2
                    3: 3
                    4: 5
                    5: 5
                    6: 5
                    7: 4
              default: 5
          }
         1: .line 357
      StackMap locals:
      StackMap stack:
            iconst_2
            ireturn
         2: .line 359
      StackMap locals:
      StackMap stack:
            bipush 8
            ireturn
         3: .line 361
      StackMap locals:
      StackMap stack:
            sipush 128
            ireturn
         4: .line 363
      StackMap locals:
      StackMap stack:
            iconst_4
            ireturn
         5: .line 365
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  type  I
    MethodParameters:
      Name  Flags
      type  
}
SourceFile: "LegacySensorManager.java"
NestHost: android.hardware.LegacySensorManager
InnerClasses:
  private final LegacyListener = android.hardware.LegacySensorManager$LegacyListener of android.hardware.LegacySensorManager
  private final LmsFilter = android.hardware.LegacySensorManager$LmsFilter of android.hardware.LegacySensorManager