public class android.content.res.CompatibilityInfo implements android.os.Parcelable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.content.res.CompatibilityInfo
  super_class: java.lang.Object
{
  public static final android.content.res.CompatibilityInfo DEFAULT_COMPATIBILITY_INFO;
    descriptor: Landroid/content/res/CompatibilityInfo;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

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

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

  private final int mCompatibilityFlags;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final int SCALING_REQUIRED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int ALWAYS_NEEDS_COMPAT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int NEVER_NEEDS_COMPAT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final int NEEDS_SCREEN_COMPAT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int NEEDS_COMPAT_RES;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  public final int applicationDensity;
    descriptor: I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final float applicationScale;
    descriptor: F
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final float applicationInvertedScale;
    descriptor: F
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public static final android.os.Parcelable$Creator<android.content.res.CompatibilityInfo> CREATOR;
    descriptor: Landroid/os/Parcelable$Creator;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Landroid/os/Parcelable$Creator<Landroid/content/res/CompatibilityInfo;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 41
            new android.content.res.CompatibilityInfo$1
            dup
            invokespecial android.content.res.CompatibilityInfo$1.<init>:()V
            putstatic android.content.res.CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO:Landroid/content/res/CompatibilityInfo;
         1: .line 597
            new android.content.res.CompatibilityInfo$2
            dup
            invokespecial android.content.res.CompatibilityInfo$2.<init>:()V
         2: .line 596
            putstatic android.content.res.CompatibilityInfo.CREATOR:Landroid/os/Parcelable$Creator;
         3: .line 607
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(android.content.pm.ApplicationInfo, int, int, boolean);
    descriptor: (Landroid/content/pm/ApplicationInfo;IIZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=5
        start local 0 // android.content.res.CompatibilityInfo this
        start local 1 // android.content.pm.ApplicationInfo appInfo
        start local 2 // int screenLayout
        start local 3 // int sw
        start local 4 // boolean forceCompat
         0: .line 102
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 104
            iconst_0
            istore 5 /* compatFlags */
        start local 5 // int compatFlags
         2: .line 106
            aload 1 /* appInfo */
            getfield android.content.pm.ApplicationInfo.targetSdkVersion:I
            bipush 26
            if_icmpge 4
         3: .line 107
            iload 5 /* compatFlags */
            bipush 16
            ior
            istore 5 /* compatFlags */
         4: .line 109
      StackMap locals: android.content.res.CompatibilityInfo android.content.pm.ApplicationInfo int int int int
      StackMap stack:
            aload 1 /* appInfo */
            getfield android.content.pm.ApplicationInfo.requiresSmallestWidthDp:I
            ifne 6
            aload 1 /* appInfo */
            getfield android.content.pm.ApplicationInfo.compatibleWidthLimitDp:I
            ifne 6
         5: .line 110
            aload 1 /* appInfo */
            getfield android.content.pm.ApplicationInfo.largestWidthLimitDp:I
            ifeq 34
         6: .line 112
      StackMap locals:
      StackMap stack:
            aload 1 /* appInfo */
            getfield android.content.pm.ApplicationInfo.requiresSmallestWidthDp:I
            ifeq 8
         7: .line 113
            aload 1 /* appInfo */
            getfield android.content.pm.ApplicationInfo.requiresSmallestWidthDp:I
            goto 9
         8: .line 114
      StackMap locals:
      StackMap stack:
            aload 1 /* appInfo */
            getfield android.content.pm.ApplicationInfo.compatibleWidthLimitDp:I
         9: .line 112
      StackMap locals:
      StackMap stack: int
            istore 6 /* required */
        start local 6 // int required
        10: .line 115
            iload 6 /* required */
            ifne 12
        11: .line 116
            aload 1 /* appInfo */
            getfield android.content.pm.ApplicationInfo.largestWidthLimitDp:I
            istore 6 /* required */
        12: .line 118
      StackMap locals: int
      StackMap stack:
            aload 1 /* appInfo */
            getfield android.content.pm.ApplicationInfo.compatibleWidthLimitDp:I
            ifeq 14
        13: .line 119
            aload 1 /* appInfo */
            getfield android.content.pm.ApplicationInfo.compatibleWidthLimitDp:I
            goto 15
      StackMap locals:
      StackMap stack:
        14: iload 6 /* required */
        15: .line 118
      StackMap locals:
      StackMap stack: int
            istore 7 /* compat */
        start local 7 // int compat
        16: .line 120
            iload 7 /* compat */
            iload 6 /* required */
            if_icmpge 18
        17: .line 121
            iload 6 /* required */
            istore 7 /* compat */
        18: .line 123
      StackMap locals: int
      StackMap stack:
            aload 1 /* appInfo */
            getfield android.content.pm.ApplicationInfo.largestWidthLimitDp:I
            istore 8 /* largest */
        start local 8 // int largest
        19: .line 125
            iload 6 /* required */
            sipush 320
            if_icmple 22
        20: .line 132
            iload 5 /* compatFlags */
            iconst_4
            ior
            istore 5 /* compatFlags */
        21: .line 133
            goto 30
      StackMap locals: int
      StackMap stack:
        22: iload 8 /* largest */
            ifeq 25
            iload 3 /* sw */
            iload 8 /* largest */
            if_icmple 25
        23: .line 137
            iload 5 /* compatFlags */
            bipush 10
            ior
            istore 5 /* compatFlags */
        24: .line 138
            goto 30
      StackMap locals:
      StackMap stack:
        25: iload 7 /* compat */
            iload 3 /* sw */
            if_icmplt 28
        26: .line 141
            iload 5 /* compatFlags */
            iconst_4
            ior
            istore 5 /* compatFlags */
        27: .line 142
            goto 30
      StackMap locals:
      StackMap stack:
        28: iload 4 /* forceCompat */
            ifeq 30
        29: .line 145
            iload 5 /* compatFlags */
            bipush 8
            ior
            istore 5 /* compatFlags */
        30: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic android.util.DisplayMetrics.DENSITY_DEVICE:I
            putfield android.content.res.CompatibilityInfo.applicationDensity:I
        31: .line 150
            aload 0 /* this */
            fconst_1
            putfield android.content.res.CompatibilityInfo.applicationScale:F
        32: .line 151
            aload 0 /* this */
            fconst_1
            putfield android.content.res.CompatibilityInfo.applicationInvertedScale:F
        end local 8 // int largest
        end local 7 // int compat
        end local 6 // int required
        33: .line 153
            goto 81
        34: .line 172
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* sizeInfo */
        start local 6 // int sizeInfo
        35: .line 176
            iconst_0
            istore 7 /* anyResizeable */
        start local 7 // boolean anyResizeable
        36: .line 178
            aload 1 /* appInfo */
            getfield android.content.pm.ApplicationInfo.flags:I
            sipush 2048
            iand
            ifeq 41
        37: .line 179
            iload 6 /* sizeInfo */
            bipush 8
            ior
            istore 6 /* sizeInfo */
        38: .line 180
            iconst_1
            istore 7 /* anyResizeable */
        39: .line 181
            iload 4 /* forceCompat */
            ifne 41
        40: .line 185
            iload 6 /* sizeInfo */
            bipush 34
            ior
            istore 6 /* sizeInfo */
        41: .line 188
      StackMap locals: int int
      StackMap stack:
            aload 1 /* appInfo */
            getfield android.content.pm.ApplicationInfo.flags:I
            ldc 524288
            iand
            ifeq 45
        42: .line 189
            iconst_1
            istore 7 /* anyResizeable */
        43: .line 190
            iload 4 /* forceCompat */
            ifne 45
        44: .line 191
            iload 6 /* sizeInfo */
            bipush 34
            ior
            istore 6 /* sizeInfo */
        45: .line 194
      StackMap locals:
      StackMap stack:
            aload 1 /* appInfo */
            getfield android.content.pm.ApplicationInfo.flags:I
            sipush 4096
            iand
            ifeq 48
        46: .line 195
            iconst_1
            istore 7 /* anyResizeable */
        47: .line 196
            iload 6 /* sizeInfo */
            iconst_2
            ior
            istore 6 /* sizeInfo */
        48: .line 199
      StackMap locals:
      StackMap stack:
            iload 4 /* forceCompat */
            ifeq 50
        49: .line 204
            iload 6 /* sizeInfo */
            bipush -3
            iand
            istore 6 /* sizeInfo */
        50: .line 207
      StackMap locals:
      StackMap stack:
            iload 5 /* compatFlags */
            bipush 8
            ior
            istore 5 /* compatFlags */
        51: .line 208
            iload 2 /* screenLayout */
            bipush 15
            iand
            tableswitch { // 3 - 4
                    3: 57
                    4: 52
              default: 61
          }
        52: .line 210
      StackMap locals:
      StackMap stack:
            iload 6 /* sizeInfo */
            bipush 32
            iand
            ifeq 54
        53: .line 211
            iload 5 /* compatFlags */
            bipush -9
            iand
            istore 5 /* compatFlags */
        54: .line 213
      StackMap locals:
      StackMap stack:
            aload 1 /* appInfo */
            getfield android.content.pm.ApplicationInfo.flags:I
            ldc 524288
            iand
            ifeq 61
        55: .line 214
            iload 5 /* compatFlags */
            iconst_4
            ior
            istore 5 /* compatFlags */
        56: .line 216
            goto 61
        57: .line 218
      StackMap locals:
      StackMap stack:
            iload 6 /* sizeInfo */
            bipush 8
            iand
            ifeq 59
        58: .line 219
            iload 5 /* compatFlags */
            bipush -9
            iand
            istore 5 /* compatFlags */
        59: .line 221
      StackMap locals:
      StackMap stack:
            aload 1 /* appInfo */
            getfield android.content.pm.ApplicationInfo.flags:I
            sipush 2048
            iand
            ifeq 61
        60: .line 222
            iload 5 /* compatFlags */
            iconst_4
            ior
            istore 5 /* compatFlags */
        61: .line 227
      StackMap locals:
      StackMap stack:
            iload 2 /* screenLayout */
            ldc 268435456
            iand
            ifeq 68
        62: .line 228
            iload 6 /* sizeInfo */
            iconst_2
            iand
            ifeq 65
        63: .line 229
            iload 5 /* compatFlags */
            bipush -9
            iand
            istore 5 /* compatFlags */
        64: .line 230
            goto 70
      StackMap locals:
      StackMap stack:
        65: iload 7 /* anyResizeable */
            ifne 70
        66: .line 231
            iload 5 /* compatFlags */
            iconst_2
            ior
            istore 5 /* compatFlags */
        67: .line 233
            goto 70
        68: .line 234
      StackMap locals:
      StackMap stack:
            iload 5 /* compatFlags */
            bipush -9
            iand
            istore 5 /* compatFlags */
        69: .line 235
            iload 5 /* compatFlags */
            iconst_4
            ior
            istore 5 /* compatFlags */
        70: .line 238
      StackMap locals:
      StackMap stack:
            aload 1 /* appInfo */
            getfield android.content.pm.ApplicationInfo.flags:I
            sipush 8192
            iand
            ifeq 75
        71: .line 239
            aload 0 /* this */
            getstatic android.util.DisplayMetrics.DENSITY_DEVICE:I
            putfield android.content.res.CompatibilityInfo.applicationDensity:I
        72: .line 240
            aload 0 /* this */
            fconst_1
            putfield android.content.res.CompatibilityInfo.applicationScale:F
        73: .line 241
            aload 0 /* this */
            fconst_1
            putfield android.content.res.CompatibilityInfo.applicationInvertedScale:F
        74: .line 242
            goto 81
        75: .line 243
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            sipush 160
            putfield android.content.res.CompatibilityInfo.applicationDensity:I
        76: .line 244
            aload 0 /* this */
            getstatic android.util.DisplayMetrics.DENSITY_DEVICE:I
            i2f
        77: .line 245
            ldc 160.0
            fdiv
        78: .line 244
            putfield android.content.res.CompatibilityInfo.applicationScale:F
        79: .line 246
            aload 0 /* this */
            fconst_1
            aload 0 /* this */
            getfield android.content.res.CompatibilityInfo.applicationScale:F
            fdiv
            putfield android.content.res.CompatibilityInfo.applicationInvertedScale:F
        80: .line 247
            iload 5 /* compatFlags */
            iconst_1
            ior
            istore 5 /* compatFlags */
        end local 7 // boolean anyResizeable
        end local 6 // int sizeInfo
        81: .line 251
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* compatFlags */
            putfield android.content.res.CompatibilityInfo.mCompatibilityFlags:I
        82: .line 252
            return
        end local 5 // int compatFlags
        end local 4 // boolean forceCompat
        end local 3 // int sw
        end local 2 // int screenLayout
        end local 1 // android.content.pm.ApplicationInfo appInfo
        end local 0 // android.content.res.CompatibilityInfo this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   83     0           this  Landroid/content/res/CompatibilityInfo;
            0   83     1        appInfo  Landroid/content/pm/ApplicationInfo;
            0   83     2   screenLayout  I
            0   83     3             sw  I
            0   83     4    forceCompat  Z
            2   83     5    compatFlags  I
           10   33     6       required  I
           16   33     7         compat  I
           19   33     8        largest  I
           35   81     6       sizeInfo  I
           36   81     7  anyResizeable  Z
    MethodParameters:
              Name  Flags
      appInfo       
      screenLayout  
      sw            
      forceCompat   

  private void <init>(int, int, float, float);
    descriptor: (IIFF)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // android.content.res.CompatibilityInfo this
        start local 1 // int compFlags
        start local 2 // int dens
        start local 3 // float scale
        start local 4 // float invertedScale
         0: .line 254
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 256
            aload 0 /* this */
            iload 1 /* compFlags */
            putfield android.content.res.CompatibilityInfo.mCompatibilityFlags:I
         2: .line 257
            aload 0 /* this */
            iload 2 /* dens */
            putfield android.content.res.CompatibilityInfo.applicationDensity:I
         3: .line 258
            aload 0 /* this */
            fload 3 /* scale */
            putfield android.content.res.CompatibilityInfo.applicationScale:F
         4: .line 259
            aload 0 /* this */
            fload 4 /* invertedScale */
            putfield android.content.res.CompatibilityInfo.applicationInvertedScale:F
         5: .line 260
            return
        end local 4 // float invertedScale
        end local 3 // float scale
        end local 2 // int dens
        end local 1 // int compFlags
        end local 0 // android.content.res.CompatibilityInfo this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Landroid/content/res/CompatibilityInfo;
            0    6     1      compFlags  I
            0    6     2           dens  I
            0    6     3          scale  F
            0    6     4  invertedScale  F
    MethodParameters:
               Name  Flags
      compFlags      
      dens           
      scale          
      invertedScale  

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // android.content.res.CompatibilityInfo this
         0: .line 263
            aload 0 /* this */
            iconst_4
            getstatic android.util.DisplayMetrics.DENSITY_DEVICE:I
         1: .line 264
            fconst_1
         2: .line 265
            fconst_1
            invokespecial android.content.res.CompatibilityInfo.<init>:(IIFF)V
         3: .line 266
            return
        end local 0 // android.content.res.CompatibilityInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/content/res/CompatibilityInfo;

  public boolean isScalingRequired();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.content.res.CompatibilityInfo this
         0: .line 272
            aload 0 /* this */
            getfield android.content.res.CompatibilityInfo.mCompatibilityFlags:I
            iconst_1
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.content.res.CompatibilityInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/content/res/CompatibilityInfo;

  public boolean supportsScreen();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.content.res.CompatibilityInfo this
         0: .line 276
            aload 0 /* this */
            getfield android.content.res.CompatibilityInfo.mCompatibilityFlags:I
            bipush 8
            iand
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.content.res.CompatibilityInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/content/res/CompatibilityInfo;

  public boolean neverSupportsScreen();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.content.res.CompatibilityInfo this
         0: .line 280
            aload 0 /* this */
            getfield android.content.res.CompatibilityInfo.mCompatibilityFlags:I
            iconst_2
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.content.res.CompatibilityInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/content/res/CompatibilityInfo;

  public boolean alwaysSupportsScreen();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.content.res.CompatibilityInfo this
         0: .line 284
            aload 0 /* this */
            getfield android.content.res.CompatibilityInfo.mCompatibilityFlags:I
            iconst_4
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.content.res.CompatibilityInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/content/res/CompatibilityInfo;

  public boolean needsCompatResources();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.content.res.CompatibilityInfo this
         0: .line 288
            aload 0 /* this */
            getfield android.content.res.CompatibilityInfo.mCompatibilityFlags:I
            bipush 16
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.content.res.CompatibilityInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/content/res/CompatibilityInfo;

  public android.content.res.CompatibilityInfo$Translator getTranslator();
    descriptor: ()Landroid/content/res/CompatibilityInfo$Translator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.content.res.CompatibilityInfo this
         0: .line 296
            aload 0 /* this */
            invokevirtual android.content.res.CompatibilityInfo.isScalingRequired:()Z
            ifeq 1
            new android.content.res.CompatibilityInfo$Translator
            dup
            aload 0 /* this */
            invokespecial android.content.res.CompatibilityInfo$Translator.<init>:(Landroid/content/res/CompatibilityInfo;)V
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: android.content.res.CompatibilityInfo$Translator
         2: areturn
        end local 0 // android.content.res.CompatibilityInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/content/res/CompatibilityInfo;

  public void applyToDisplayMetrics(android.util.DisplayMetrics);
    descriptor: (Landroid/util/DisplayMetrics;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.content.res.CompatibilityInfo this
        start local 1 // android.util.DisplayMetrics inoutDm
         0: .line 444
            aload 0 /* this */
            invokevirtual android.content.res.CompatibilityInfo.supportsScreen:()Z
            ifne 3
         1: .line 447
            aload 1 /* inoutDm */
            aload 1 /* inoutDm */
            invokestatic android.content.res.CompatibilityInfo.computeCompatibleScaling:(Landroid/util/DisplayMetrics;Landroid/util/DisplayMetrics;)F
            pop
         2: .line 448
            goto 5
         3: .line 449
      StackMap locals:
      StackMap stack:
            aload 1 /* inoutDm */
            aload 1 /* inoutDm */
            getfield android.util.DisplayMetrics.noncompatWidthPixels:I
            putfield android.util.DisplayMetrics.widthPixels:I
         4: .line 450
            aload 1 /* inoutDm */
            aload 1 /* inoutDm */
            getfield android.util.DisplayMetrics.noncompatHeightPixels:I
            putfield android.util.DisplayMetrics.heightPixels:I
         5: .line 453
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.content.res.CompatibilityInfo.isScalingRequired:()Z
            ifeq 14
         6: .line 454
            aload 0 /* this */
            getfield android.content.res.CompatibilityInfo.applicationInvertedScale:F
            fstore 2 /* invertedRatio */
        start local 2 // float invertedRatio
         7: .line 455
            aload 1 /* inoutDm */
            aload 1 /* inoutDm */
            getfield android.util.DisplayMetrics.noncompatDensity:F
            fload 2 /* invertedRatio */
            fmul
            putfield android.util.DisplayMetrics.density:F
         8: .line 456
            aload 1 /* inoutDm */
            aload 1 /* inoutDm */
            getfield android.util.DisplayMetrics.noncompatDensityDpi:I
            i2f
            fload 2 /* invertedRatio */
            fmul
            ldc 0.5
            fadd
            f2i
            putfield android.util.DisplayMetrics.densityDpi:I
         9: .line 457
            aload 1 /* inoutDm */
            aload 1 /* inoutDm */
            getfield android.util.DisplayMetrics.noncompatScaledDensity:F
            fload 2 /* invertedRatio */
            fmul
            putfield android.util.DisplayMetrics.scaledDensity:F
        10: .line 458
            aload 1 /* inoutDm */
            aload 1 /* inoutDm */
            getfield android.util.DisplayMetrics.noncompatXdpi:F
            fload 2 /* invertedRatio */
            fmul
            putfield android.util.DisplayMetrics.xdpi:F
        11: .line 459
            aload 1 /* inoutDm */
            aload 1 /* inoutDm */
            getfield android.util.DisplayMetrics.noncompatYdpi:F
            fload 2 /* invertedRatio */
            fmul
            putfield android.util.DisplayMetrics.ydpi:F
        12: .line 460
            aload 1 /* inoutDm */
            aload 1 /* inoutDm */
            getfield android.util.DisplayMetrics.widthPixels:I
            i2f
            fload 2 /* invertedRatio */
            fmul
            ldc 0.5
            fadd
            f2i
            putfield android.util.DisplayMetrics.widthPixels:I
        13: .line 461
            aload 1 /* inoutDm */
            aload 1 /* inoutDm */
            getfield android.util.DisplayMetrics.heightPixels:I
            i2f
            fload 2 /* invertedRatio */
            fmul
            ldc 0.5
            fadd
            f2i
            putfield android.util.DisplayMetrics.heightPixels:I
        end local 2 // float invertedRatio
        14: .line 463
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.util.DisplayMetrics inoutDm
        end local 0 // android.content.res.CompatibilityInfo this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0           this  Landroid/content/res/CompatibilityInfo;
            0   15     1        inoutDm  Landroid/util/DisplayMetrics;
            7   14     2  invertedRatio  F
    MethodParameters:
         Name  Flags
      inoutDm  

  public void applyToConfiguration(int, android.content.res.Configuration);
    descriptor: (ILandroid/content/res/Configuration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // android.content.res.CompatibilityInfo this
        start local 1 // int displayDensity
        start local 2 // android.content.res.Configuration inoutConfig
         0: .line 466
            aload 0 /* this */
            invokevirtual android.content.res.CompatibilityInfo.supportsScreen:()Z
            ifne 9
         1: .line 470
            aload 2 /* inoutConfig */
         2: .line 471
            aload 2 /* inoutConfig */
            getfield android.content.res.Configuration.screenLayout:I
            bipush -16
            iand
         3: .line 472
            iconst_2
         4: .line 471
            ior
         5: .line 470
            putfield android.content.res.Configuration.screenLayout:I
         6: .line 473
            aload 2 /* inoutConfig */
            aload 2 /* inoutConfig */
            getfield android.content.res.Configuration.compatScreenWidthDp:I
            putfield android.content.res.Configuration.screenWidthDp:I
         7: .line 474
            aload 2 /* inoutConfig */
            aload 2 /* inoutConfig */
            getfield android.content.res.Configuration.compatScreenHeightDp:I
            putfield android.content.res.Configuration.screenHeightDp:I
         8: .line 475
            aload 2 /* inoutConfig */
            aload 2 /* inoutConfig */
            getfield android.content.res.Configuration.compatSmallestScreenWidthDp:I
            putfield android.content.res.Configuration.smallestScreenWidthDp:I
         9: .line 477
      StackMap locals:
      StackMap stack:
            aload 2 /* inoutConfig */
            iload 1 /* displayDensity */
            putfield android.content.res.Configuration.densityDpi:I
        10: .line 478
            aload 0 /* this */
            invokevirtual android.content.res.CompatibilityInfo.isScalingRequired:()Z
            ifeq 13
        11: .line 479
            aload 0 /* this */
            getfield android.content.res.CompatibilityInfo.applicationInvertedScale:F
            fstore 3 /* invertedRatio */
        start local 3 // float invertedRatio
        12: .line 480
            aload 2 /* inoutConfig */
            aload 2 /* inoutConfig */
            getfield android.content.res.Configuration.densityDpi:I
            i2f
            fload 3 /* invertedRatio */
            fmul
            ldc 0.5
            fadd
            f2i
            putfield android.content.res.Configuration.densityDpi:I
        end local 3 // float invertedRatio
        13: .line 482
      StackMap locals:
      StackMap stack:
            return
        end local 2 // android.content.res.Configuration inoutConfig
        end local 1 // int displayDensity
        end local 0 // android.content.res.CompatibilityInfo this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Landroid/content/res/CompatibilityInfo;
            0   14     1  displayDensity  I
            0   14     2     inoutConfig  Landroid/content/res/Configuration;
           12   13     3   invertedRatio  F
    MethodParameters:
                Name  Flags
      displayDensity  
      inoutConfig     

  public static float computeCompatibleScaling(android.util.DisplayMetrics, android.util.DisplayMetrics);
    descriptor: (Landroid/util/DisplayMetrics;Landroid/util/DisplayMetrics;)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=14, args_size=2
        start local 0 // android.util.DisplayMetrics dm
        start local 1 // android.util.DisplayMetrics outDm
         0: .line 492
            aload 0 /* dm */
            getfield android.util.DisplayMetrics.noncompatWidthPixels:I
            istore 2 /* width */
        start local 2 // int width
         1: .line 493
            aload 0 /* dm */
            getfield android.util.DisplayMetrics.noncompatHeightPixels:I
            istore 3 /* height */
        start local 3 // int height
         2: .line 495
            iload 2 /* width */
            iload 3 /* height */
            if_icmpge 6
         3: .line 496
            iload 2 /* width */
            istore 4 /* shortSize */
        start local 4 // int shortSize
         4: .line 497
            iload 3 /* height */
            istore 5 /* longSize */
        start local 5 // int longSize
         5: .line 498
            goto 8
        end local 5 // int longSize
        end local 4 // int shortSize
         6: .line 499
      StackMap locals: int int
      StackMap stack:
            iload 3 /* height */
            istore 4 /* shortSize */
        start local 4 // int shortSize
         7: .line 500
            iload 2 /* width */
            istore 5 /* longSize */
        start local 5 // int longSize
         8: .line 502
      StackMap locals: int int
      StackMap stack:
            ldc 320.0
            aload 0 /* dm */
            getfield android.util.DisplayMetrics.density:F
            fmul
            ldc 0.5
            fadd
            f2i
            istore 6 /* newShortSize */
        start local 6 // int newShortSize
         9: .line 503
            iload 5 /* longSize */
            i2f
            iload 4 /* shortSize */
            i2f
            fdiv
            fstore 7 /* aspect */
        start local 7 // float aspect
        10: .line 504
            fload 7 /* aspect */
            ldc 1.7791667
            fcmpl
            ifle 12
        11: .line 505
            ldc 1.7791667
            fstore 7 /* aspect */
        12: .line 507
      StackMap locals: int float
      StackMap stack:
            iload 6 /* newShortSize */
            i2f
            fload 7 /* aspect */
            fmul
            ldc 0.5
            fadd
            f2i
            istore 8 /* newLongSize */
        start local 8 // int newLongSize
        13: .line 509
            iload 2 /* width */
            iload 3 /* height */
            if_icmpge 17
        14: .line 510
            iload 6 /* newShortSize */
            istore 9 /* newWidth */
        start local 9 // int newWidth
        15: .line 511
            iload 8 /* newLongSize */
            istore 10 /* newHeight */
        start local 10 // int newHeight
        16: .line 512
            goto 19
        end local 10 // int newHeight
        end local 9 // int newWidth
        17: .line 513
      StackMap locals: int
      StackMap stack:
            iload 8 /* newLongSize */
            istore 9 /* newWidth */
        start local 9 // int newWidth
        18: .line 514
            iload 6 /* newShortSize */
            istore 10 /* newHeight */
        start local 10 // int newHeight
        19: .line 517
      StackMap locals: int int
      StackMap stack:
            iload 2 /* width */
            i2f
            iload 9 /* newWidth */
            i2f
            fdiv
            fstore 11 /* sw */
        start local 11 // float sw
        20: .line 518
            iload 3 /* height */
            i2f
            iload 10 /* newHeight */
            i2f
            fdiv
            fstore 12 /* sh */
        start local 12 // float sh
        21: .line 519
            fload 11 /* sw */
            fload 12 /* sh */
            fcmpg
            ifge 22
            fload 11 /* sw */
            goto 23
      StackMap locals: float float
      StackMap stack:
        22: fload 12 /* sh */
      StackMap locals:
      StackMap stack: float
        23: fstore 13 /* scale */
        start local 13 // float scale
        24: .line 520
            fload 13 /* scale */
            fconst_1
            fcmpg
            ifge 26
        25: .line 521
            fconst_1
            fstore 13 /* scale */
        26: .line 524
      StackMap locals: float
      StackMap stack:
            aload 1 /* outDm */
            ifnull 29
        27: .line 525
            aload 1 /* outDm */
            iload 9 /* newWidth */
            putfield android.util.DisplayMetrics.widthPixels:I
        28: .line 526
            aload 1 /* outDm */
            iload 10 /* newHeight */
            putfield android.util.DisplayMetrics.heightPixels:I
        29: .line 529
      StackMap locals:
      StackMap stack:
            fload 13 /* scale */
            freturn
        end local 13 // float scale
        end local 12 // float sh
        end local 11 // float sw
        end local 10 // int newHeight
        end local 9 // int newWidth
        end local 8 // int newLongSize
        end local 7 // float aspect
        end local 6 // int newShortSize
        end local 5 // int longSize
        end local 4 // int shortSize
        end local 3 // int height
        end local 2 // int width
        end local 1 // android.util.DisplayMetrics outDm
        end local 0 // android.util.DisplayMetrics dm
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   30     0            dm  Landroid/util/DisplayMetrics;
            0   30     1         outDm  Landroid/util/DisplayMetrics;
            1   30     2         width  I
            2   30     3        height  I
            4    6     4     shortSize  I
            7   30     4     shortSize  I
            5    6     5      longSize  I
            8   30     5      longSize  I
            9   30     6  newShortSize  I
           10   30     7        aspect  F
           13   30     8   newLongSize  I
           15   17     9      newWidth  I
           18   30     9      newWidth  I
           16   17    10     newHeight  I
           19   30    10     newHeight  I
           20   30    11            sw  F
           21   30    12            sh  F
           24   30    13         scale  F
    MethodParameters:
       Name  Flags
      dm     
      outDm  

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.content.res.CompatibilityInfo this
        start local 1 // java.lang.Object o
         0: .line 534
            aload 0 /* this */
            aload 1 /* o */
            if_acmpne 2
         1: .line 535
            iconst_1
            ireturn
         2: .line 538
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast android.content.res.CompatibilityInfo
            astore 2 /* oc */
        start local 2 // android.content.res.CompatibilityInfo oc
         3: .line 539
            aload 0 /* this */
            getfield android.content.res.CompatibilityInfo.mCompatibilityFlags:I
            aload 2 /* oc */
            getfield android.content.res.CompatibilityInfo.mCompatibilityFlags:I
            if_icmpeq 5
         4: iconst_0
            ireturn
         5: .line 540
      StackMap locals: android.content.res.CompatibilityInfo
      StackMap stack:
            aload 0 /* this */
            getfield android.content.res.CompatibilityInfo.applicationDensity:I
            aload 2 /* oc */
            getfield android.content.res.CompatibilityInfo.applicationDensity:I
            if_icmpeq 7
         6: iconst_0
            ireturn
         7: .line 541
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.content.res.CompatibilityInfo.applicationScale:F
            aload 2 /* oc */
            getfield android.content.res.CompatibilityInfo.applicationScale:F
            fcmpl
            ifeq 9
         8: iconst_0
            ireturn
         9: .line 542
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.content.res.CompatibilityInfo.applicationInvertedScale:F
            aload 2 /* oc */
            getfield android.content.res.CompatibilityInfo.applicationInvertedScale:F
            fcmpl
            ifeq 11
        10: iconst_0
            ireturn
        11: .line 543
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // android.content.res.CompatibilityInfo oc
        12: .line 544
      StackMap locals: android.content.res.CompatibilityInfo java.lang.Object
      StackMap stack: java.lang.ClassCastException
            pop
        13: .line 545
            iconst_0
            ireturn
        end local 1 // java.lang.Object o
        end local 0 // android.content.res.CompatibilityInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Landroid/content/res/CompatibilityInfo;
            0   14     1     o  Ljava/lang/Object;
            3   12     2    oc  Landroid/content/res/CompatibilityInfo;
      Exception table:
        from    to  target  type
           2     4      12  Class java.lang.ClassCastException
           5     6      12  Class java.lang.ClassCastException
           7     8      12  Class java.lang.ClassCastException
           9    10      12  Class java.lang.ClassCastException
    MethodParameters:
      Name  Flags
      o     

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // android.content.res.CompatibilityInfo this
         0: .line 551
            new java.lang.StringBuilder
            dup
            sipush 128
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 552
            aload 1 /* sb */
            ldc "{"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 553
            aload 1 /* sb */
            aload 0 /* this */
            getfield android.content.res.CompatibilityInfo.applicationDensity:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
         3: .line 554
            aload 1 /* sb */
            ldc "dpi"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 555
            aload 0 /* this */
            invokevirtual android.content.res.CompatibilityInfo.isScalingRequired:()Z
            ifeq 8
         5: .line 556
            aload 1 /* sb */
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 557
            aload 1 /* sb */
            aload 0 /* this */
            getfield android.content.res.CompatibilityInfo.applicationScale:F
            invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
            pop
         7: .line 558
            aload 1 /* sb */
            ldc "x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 560
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.content.res.CompatibilityInfo.supportsScreen:()Z
            ifne 10
         9: .line 561
            aload 1 /* sb */
            ldc " resizing"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 563
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.content.res.CompatibilityInfo.neverSupportsScreen:()Z
            ifeq 12
        11: .line 564
            aload 1 /* sb */
            ldc " never-compat"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 566
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.content.res.CompatibilityInfo.alwaysSupportsScreen:()Z
            ifeq 14
        13: .line 567
            aload 1 /* sb */
            ldc " always-compat"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        14: .line 569
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            ldc "}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 570
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // android.content.res.CompatibilityInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Landroid/content/res/CompatibilityInfo;
            1   16     1    sb  Ljava/lang/StringBuilder;

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.content.res.CompatibilityInfo this
         0: .line 575
            bipush 17
            istore 1 /* result */
        start local 1 // int result
         1: .line 576
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield android.content.res.CompatibilityInfo.mCompatibilityFlags:I
            iadd
            istore 1 /* result */
         2: .line 577
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield android.content.res.CompatibilityInfo.applicationDensity:I
            iadd
            istore 1 /* result */
         3: .line 578
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield android.content.res.CompatibilityInfo.applicationScale:F
            invokestatic java.lang.Float.floatToIntBits:(F)I
            iadd
            istore 1 /* result */
         4: .line 579
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield android.content.res.CompatibilityInfo.applicationInvertedScale:F
            invokestatic java.lang.Float.floatToIntBits:(F)I
            iadd
            istore 1 /* result */
         5: .line 580
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // android.content.res.CompatibilityInfo this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Landroid/content/res/CompatibilityInfo;
            1    6     1  result  I

  public int describeContents();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.content.res.CompatibilityInfo this
         0: .line 585
            iconst_0
            ireturn
        end local 0 // android.content.res.CompatibilityInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/content/res/CompatibilityInfo;

  public void writeToParcel(android.os.Parcel, int);
    descriptor: (Landroid/os/Parcel;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.content.res.CompatibilityInfo this
        start local 1 // android.os.Parcel dest
        start local 2 // int flags
         0: .line 590
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.content.res.CompatibilityInfo.mCompatibilityFlags:I
            invokevirtual android.os.Parcel.writeInt:(I)V
         1: .line 591
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.content.res.CompatibilityInfo.applicationDensity:I
            invokevirtual android.os.Parcel.writeInt:(I)V
         2: .line 592
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.content.res.CompatibilityInfo.applicationScale:F
            invokevirtual android.os.Parcel.writeFloat:(F)V
         3: .line 593
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.content.res.CompatibilityInfo.applicationInvertedScale:F
            invokevirtual android.os.Parcel.writeFloat:(F)V
         4: .line 594
            return
        end local 2 // int flags
        end local 1 // android.os.Parcel dest
        end local 0 // android.content.res.CompatibilityInfo this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Landroid/content/res/CompatibilityInfo;
            0    5     1   dest  Landroid/os/Parcel;
            0    5     2  flags  I
    MethodParameters:
       Name  Flags
      dest   
      flags  

  private void <init>(android.os.Parcel);
    descriptor: (Landroid/os/Parcel;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.content.res.CompatibilityInfo this
        start local 1 // android.os.Parcel source
         0: .line 609
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 610
            aload 0 /* this */
            aload 1 /* source */
            invokevirtual android.os.Parcel.readInt:()I
            putfield android.content.res.CompatibilityInfo.mCompatibilityFlags:I
         2: .line 611
            aload 0 /* this */
            aload 1 /* source */
            invokevirtual android.os.Parcel.readInt:()I
            putfield android.content.res.CompatibilityInfo.applicationDensity:I
         3: .line 612
            aload 0 /* this */
            aload 1 /* source */
            invokevirtual android.os.Parcel.readFloat:()F
            putfield android.content.res.CompatibilityInfo.applicationScale:F
         4: .line 613
            aload 0 /* this */
            aload 1 /* source */
            invokevirtual android.os.Parcel.readFloat:()F
            putfield android.content.res.CompatibilityInfo.applicationInvertedScale:F
         5: .line 614
            return
        end local 1 // android.os.Parcel source
        end local 0 // android.content.res.CompatibilityInfo this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Landroid/content/res/CompatibilityInfo;
            0    6     1  source  Landroid/os/Parcel;
    MethodParameters:
        Name  Flags
      source  
}
SourceFile: "CompatibilityInfo.java"
NestMembers:
  android.content.res.CompatibilityInfo$1  android.content.res.CompatibilityInfo$2  android.content.res.CompatibilityInfo$Translator
InnerClasses:
  android.content.res.CompatibilityInfo$1
  android.content.res.CompatibilityInfo$2
  public Translator = android.content.res.CompatibilityInfo$Translator of android.content.res.CompatibilityInfo
  public abstract Creator = android.os.Parcelable$Creator of android.os.Parcelable