public class com.android.internal.util.NotificationColorUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.android.internal.util.NotificationColorUtil
  super_class: java.lang.Object
{
  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "NotificationColorUtil"

  private static final boolean DEBUG;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final java.lang.Object sLock;
    descriptor: Ljava/lang/Object;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static com.android.internal.util.NotificationColorUtil sInstance;
    descriptor: Lcom/android/internal/util/NotificationColorUtil;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private final com.android.internal.util.ImageUtils mImageUtils;
    descriptor: Lcom/android/internal/util/ImageUtils;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.WeakHashMap<android.graphics.Bitmap, android.util.Pair<java.lang.Boolean, java.lang.Integer>> mGrayscaleBitmapCache;
    descriptor: Ljava/util/WeakHashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/WeakHashMap<Landroid/graphics/Bitmap;Landroid/util/Pair<Ljava/lang/Boolean;Ljava/lang/Integer;>;>;

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 56
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic com.android.internal.util.NotificationColorUtil.sLock:Ljava/lang/Object;
         1: .line 57
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.android.internal.util.NotificationColorUtil getInstance(android.content.Context);
    descriptor: (Landroid/content/Context;)Lcom/android/internal/util/NotificationColorUtil;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // android.content.Context context
         0: .line 66
            getstatic com.android.internal.util.NotificationColorUtil.sLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 67
            getstatic com.android.internal.util.NotificationColorUtil.sInstance:Lcom/android/internal/util/NotificationColorUtil;
            ifnonnull 3
         2: .line 68
            new com.android.internal.util.NotificationColorUtil
            dup
            aload 0 /* context */
            invokespecial com.android.internal.util.NotificationColorUtil.<init>:(Landroid/content/Context;)V
            putstatic com.android.internal.util.NotificationColorUtil.sInstance:Lcom/android/internal/util/NotificationColorUtil;
         3: .line 70
      StackMap locals: java.lang.Object
      StackMap stack:
            getstatic com.android.internal.util.NotificationColorUtil.sInstance:Lcom/android/internal/util/NotificationColorUtil;
            aload 1
            monitorexit
         4: areturn
         5: .line 66
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         6: athrow
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0  context  Landroid/content/Context;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    MethodParameters:
         Name  Flags
      context  

  private void <init>(android.content.Context);
    descriptor: (Landroid/content/Context;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.android.internal.util.NotificationColorUtil this
         0: .line 76
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tcom.android.internal.R.dimen cannot be resolved to a variable\n\tcom.android.internal.R.color cannot be resolved to a variable\n\tcom.android.internal.R.color cannot be resolved to a variable\n\tcom.android.internal.R.color cannot be resolved to a variable\n\tcom.android.internal.R.color cannot be resolved to a variable\n\tcom.android.internal.R.color cannot be resolved to a variable\n\tcom.android.internal.R.color cannot be resolved to a variable\n\tcom.android.internal.R.color cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.android.internal.util.NotificationColorUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/internal/util/NotificationColorUtil;
    MethodParameters:
         Name  Flags
      context  

  public boolean isGrayscaleIcon(android.graphics.Bitmap);
    descriptor: (Landroid/graphics/Bitmap;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.android.internal.util.NotificationColorUtil this
        start local 1 // android.graphics.Bitmap bitmap
         0: .line 88
            aload 1 /* bitmap */
            invokevirtual android.graphics.Bitmap.getWidth:()I
            aload 0 /* this */
            getfield com.android.internal.util.NotificationColorUtil.mGrayscaleIconMaxSize:I
            if_icmpgt 2
         1: .line 89
            aload 1 /* bitmap */
            invokevirtual android.graphics.Bitmap.getHeight:()I
            aload 0 /* this */
            getfield com.android.internal.util.NotificationColorUtil.mGrayscaleIconMaxSize:I
            if_icmple 3
         2: .line 90
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         3: .line 93
      StackMap locals:
      StackMap stack:
            getstatic com.android.internal.util.NotificationColorUtil.sLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         4: .line 94
            aload 0 /* this */
            getfield com.android.internal.util.NotificationColorUtil.mGrayscaleBitmapCache:Ljava/util/WeakHashMap;
            aload 1 /* bitmap */
            invokevirtual java.util.WeakHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.util.Pair
            astore 3 /* cached */
        start local 3 // android.util.Pair cached
         5: .line 95
            aload 3 /* cached */
            ifnull 9
         6: .line 96
            aload 3 /* cached */
            getfield android.util.Pair.second:Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            aload 1 /* bitmap */
            invokevirtual android.graphics.Bitmap.getGenerationId:()I
            if_icmpne 9
         7: .line 97
            aload 3 /* cached */
            getfield android.util.Pair.first:Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            aload 2
            monitorexit
         8: ireturn
        end local 3 // android.util.Pair cached
         9: .line 93
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2
            monitorexit
        10: goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 2
            monitorexit
        12: athrow
        13: .line 103
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.internal.util.NotificationColorUtil.mImageUtils:Lcom/android/internal/util/ImageUtils;
            dup
            astore 4
            monitorenter
        14: .line 104
            aload 0 /* this */
            getfield com.android.internal.util.NotificationColorUtil.mImageUtils:Lcom/android/internal/util/ImageUtils;
            aload 1 /* bitmap */
            invokevirtual com.android.internal.util.ImageUtils.isGrayscale:(Landroid/graphics/Bitmap;)Z
            istore 2 /* result */
        start local 2 // boolean result
        15: .line 109
            aload 1 /* bitmap */
            invokevirtual android.graphics.Bitmap.getGenerationId:()I
            istore 3 /* generationId */
        start local 3 // int generationId
        16: .line 103
            aload 4
            monitorexit
        17: goto 20
        end local 3 // int generationId
        end local 2 // boolean result
      StackMap locals: com.android.internal.util.NotificationColorUtil android.graphics.Bitmap top top com.android.internal.util.ImageUtils
      StackMap stack: java.lang.Throwable
        18: aload 4
            monitorexit
        19: athrow
        start local 2 // boolean result
        start local 3 // int generationId
        20: .line 111
      StackMap locals: com.android.internal.util.NotificationColorUtil android.graphics.Bitmap int int
      StackMap stack:
            getstatic com.android.internal.util.NotificationColorUtil.sLock:Ljava/lang/Object;
            dup
            astore 4
            monitorenter
        21: .line 112
            aload 0 /* this */
            getfield com.android.internal.util.NotificationColorUtil.mGrayscaleBitmapCache:Ljava/util/WeakHashMap;
            aload 1 /* bitmap */
            iload 2 /* result */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iload 3 /* generationId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic android.util.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Landroid/util/Pair;
            invokevirtual java.util.WeakHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 111
            aload 4
            monitorexit
        23: goto 26
      StackMap locals: com.android.internal.util.NotificationColorUtil android.graphics.Bitmap int int java.lang.Object
      StackMap stack: java.lang.Throwable
        24: aload 4
            monitorexit
        25: athrow
        26: .line 114
      StackMap locals:
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 3 // int generationId
        end local 2 // boolean result
        end local 1 // android.graphics.Bitmap bitmap
        end local 0 // com.android.internal.util.NotificationColorUtil this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   27     0          this  Lcom/android/internal/util/NotificationColorUtil;
            0   27     1        bitmap  Landroid/graphics/Bitmap;
            5    9     3        cached  Landroid/util/Pair<Ljava/lang/Boolean;Ljava/lang/Integer;>;
           15   18     2        result  Z
           20   27     2        result  Z
           16   18     3  generationId  I
           20   27     3  generationId  I
      Exception table:
        from    to  target  type
           4     8      11  any
           9    10      11  any
          11    12      11  any
          14    17      18  any
          18    19      18  any
          21    23      24  any
          24    25      24  any
    MethodParameters:
        Name  Flags
      bitmap  

  public boolean isGrayscaleIcon(android.graphics.drawable.Drawable);
    descriptor: (Landroid/graphics/drawable/Drawable;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.android.internal.util.NotificationColorUtil this
        start local 1 // android.graphics.drawable.Drawable d
         0: .line 125
            aload 1 /* d */
            ifnonnull 2
         1: .line 126
            iconst_0
            ireturn
         2: .line 127
      StackMap locals:
      StackMap stack:
            aload 1 /* d */
            instanceof android.graphics.drawable.BitmapDrawable
            ifeq 6
         3: .line 128
            aload 1 /* d */
            checkcast android.graphics.drawable.BitmapDrawable
            astore 2 /* bd */
        start local 2 // android.graphics.drawable.BitmapDrawable bd
         4: .line 129
            aload 2 /* bd */
            invokevirtual android.graphics.drawable.BitmapDrawable.getBitmap:()Landroid/graphics/Bitmap;
            ifnull 5
            aload 0 /* this */
            aload 2 /* bd */
            invokevirtual android.graphics.drawable.BitmapDrawable.getBitmap:()Landroid/graphics/Bitmap;
            invokevirtual com.android.internal.util.NotificationColorUtil.isGrayscaleIcon:(Landroid/graphics/Bitmap;)Z
            ifeq 5
            iconst_1
            ireturn
      StackMap locals: android.graphics.drawable.BitmapDrawable
      StackMap stack:
         5: iconst_0
            ireturn
        end local 2 // android.graphics.drawable.BitmapDrawable bd
         6: .line 130
      StackMap locals:
      StackMap stack:
            aload 1 /* d */
            instanceof android.graphics.drawable.AnimationDrawable
            ifeq 11
         7: .line 131
            aload 1 /* d */
            checkcast android.graphics.drawable.AnimationDrawable
            astore 2 /* ad */
        start local 2 // android.graphics.drawable.AnimationDrawable ad
         8: .line 132
            aload 2 /* ad */
            invokevirtual android.graphics.drawable.AnimationDrawable.getNumberOfFrames:()I
            istore 3 /* count */
        start local 3 // int count
         9: .line 133
            iload 3 /* count */
            ifle 10
            aload 0 /* this */
            aload 2 /* ad */
            iconst_0
            invokevirtual android.graphics.drawable.AnimationDrawable.getFrame:(I)Landroid/graphics/drawable/Drawable;
            invokevirtual com.android.internal.util.NotificationColorUtil.isGrayscaleIcon:(Landroid/graphics/drawable/Drawable;)Z
            ifeq 10
            iconst_1
            ireturn
      StackMap locals: android.graphics.drawable.AnimationDrawable int
      StackMap stack:
        10: iconst_0
            ireturn
        end local 3 // int count
        end local 2 // android.graphics.drawable.AnimationDrawable ad
        11: .line 134
      StackMap locals:
      StackMap stack:
            aload 1 /* d */
            instanceof android.graphics.drawable.VectorDrawable
            ifeq 13
        12: .line 136
            iconst_1
            ireturn
        13: .line 138
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // android.graphics.drawable.Drawable d
        end local 0 // com.android.internal.util.NotificationColorUtil this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Lcom/android/internal/util/NotificationColorUtil;
            0   14     1      d  Landroid/graphics/drawable/Drawable;
            4    6     2     bd  Landroid/graphics/drawable/BitmapDrawable;
            8   11     2     ad  Landroid/graphics/drawable/AnimationDrawable;
            9   11     3  count  I
    MethodParameters:
      Name  Flags
      d     

  public boolean isGrayscaleIcon(android.content.Context, android.graphics.drawable.Icon);
    descriptor: (Landroid/content/Context;Landroid/graphics/drawable/Icon;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.android.internal.util.NotificationColorUtil this
        start local 1 // android.content.Context context
        start local 2 // android.graphics.drawable.Icon icon
         0: .line 143
            aload 2 /* icon */
            ifnonnull 2
         1: .line 144
            iconst_0
            ireturn
         2: .line 146
      StackMap locals:
      StackMap stack:
            aload 2 /* icon */
            invokevirtual android.graphics.drawable.Icon.getType:()I
            tableswitch { // 1 - 2
                    1: 3
                    2: 4
              default: 5
          }
         3: .line 148
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* icon */
            invokevirtual android.graphics.drawable.Icon.getBitmap:()Landroid/graphics/Bitmap;
            invokevirtual com.android.internal.util.NotificationColorUtil.isGrayscaleIcon:(Landroid/graphics/Bitmap;)Z
            ireturn
         4: .line 150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* icon */
            invokevirtual android.graphics.drawable.Icon.getResId:()I
            invokevirtual com.android.internal.util.NotificationColorUtil.isGrayscaleIcon:(Landroid/content/Context;I)Z
            ireturn
         5: .line 152
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // android.graphics.drawable.Icon icon
        end local 1 // android.content.Context context
        end local 0 // com.android.internal.util.NotificationColorUtil this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lcom/android/internal/util/NotificationColorUtil;
            0    6     1  context  Landroid/content/Context;
            0    6     2     icon  Landroid/graphics/drawable/Icon;
    MethodParameters:
         Name  Flags
      context  
      icon     

  public boolean isGrayscaleIcon(android.content.Context, int);
    descriptor: (Landroid/content/Context;I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.android.internal.util.NotificationColorUtil this
        start local 1 // android.content.Context context
        start local 2 // int drawableResId
         0: .line 164
            iload 2 /* drawableResId */
            ifeq 6
         1: .line 166
            aload 0 /* this */
            aload 1 /* context */
            iload 2 /* drawableResId */
            invokevirtual android.content.Context.getDrawable:(I)Landroid/graphics/drawable/Drawable;
            invokevirtual com.android.internal.util.NotificationColorUtil.isGrayscaleIcon:(Landroid/graphics/drawable/Drawable;)Z
         2: ireturn
         3: .line 167
      StackMap locals:
      StackMap stack: android.content.res.Resources$NotFoundException
            pop
         4: .line 168
            ldc "NotificationColorUtil"
            new java.lang.StringBuilder
            dup
            ldc "Drawable not found: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* drawableResId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         5: .line 169
            iconst_0
            ireturn
         6: .line 172
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // int drawableResId
        end local 1 // android.content.Context context
        end local 0 // com.android.internal.util.NotificationColorUtil this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lcom/android/internal/util/NotificationColorUtil;
            0    7     1        context  Landroid/content/Context;
            0    7     2  drawableResId  I
      Exception table:
        from    to  target  type
           1     2       3  Class android.content.res.Resources$NotFoundException
    MethodParameters:
               Name  Flags
      context        
      drawableResId  

  public java.lang.CharSequence invertCharSequenceColors(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=12, args_size=2
        start local 0 // com.android.internal.util.NotificationColorUtil this
        start local 1 // java.lang.CharSequence charSequence
         0: .line 184
            aload 1 /* charSequence */
            instanceof android.text.Spanned
            ifeq 30
         1: .line 185
            aload 1 /* charSequence */
            checkcast android.text.Spanned
            astore 2 /* ss */
        start local 2 // android.text.Spanned ss
         2: .line 186
            aload 2 /* ss */
            iconst_0
            aload 2 /* ss */
            invokeinterface android.text.Spanned.length:()I
            ldc Ljava/lang/Object;
            invokeinterface android.text.Spanned.getSpans:(IILjava/lang/Class;)[Ljava/lang/Object;
            astore 3 /* spans */
        start local 3 // java.lang.Object[] spans
         3: .line 187
            new android.text.SpannableStringBuilder
            dup
            aload 2 /* ss */
            invokeinterface android.text.Spanned.toString:()Ljava/lang/String;
            invokespecial android.text.SpannableStringBuilder.<init>:(Ljava/lang/CharSequence;)V
            astore 4 /* builder */
        start local 4 // android.text.SpannableStringBuilder builder
         4: .line 188
            aload 3 /* spans */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 28
      StackMap locals: com.android.internal.util.NotificationColorUtil java.lang.CharSequence android.text.Spanned java.lang.Object[] android.text.SpannableStringBuilder top int int java.lang.Object[]
      StackMap stack:
         5: aload 8
            iload 6
            aaload
            astore 5 /* span */
        start local 5 // java.lang.Object span
         6: .line 189
            aload 5 /* span */
            astore 9 /* resultSpan */
        start local 9 // java.lang.Object resultSpan
         7: .line 190
            aload 9 /* resultSpan */
            instanceof android.text.style.CharacterStyle
            ifeq 9
         8: .line 191
            aload 5 /* span */
            checkcast android.text.style.CharacterStyle
            invokevirtual android.text.style.CharacterStyle.getUnderlying:()Landroid/text/style/CharacterStyle;
            astore 9 /* resultSpan */
         9: .line 193
      StackMap locals: com.android.internal.util.NotificationColorUtil java.lang.CharSequence android.text.Spanned java.lang.Object[] android.text.SpannableStringBuilder java.lang.Object int int java.lang.Object[] java.lang.Object
      StackMap stack:
            aload 9 /* resultSpan */
            instanceof android.text.style.TextAppearanceSpan
            ifeq 18
        10: .line 194
            aload 0 /* this */
        11: .line 195
            aload 5 /* span */
            checkcast android.text.style.TextAppearanceSpan
        12: .line 194
            invokevirtual com.android.internal.util.NotificationColorUtil.processTextAppearanceSpan:(Landroid/text/style/TextAppearanceSpan;)Landroid/text/style/TextAppearanceSpan;
            astore 10 /* processedSpan */
        start local 10 // android.text.style.TextAppearanceSpan processedSpan
        13: .line 196
            aload 10 /* processedSpan */
            aload 9 /* resultSpan */
            if_acmpeq 16
        14: .line 197
            aload 10 /* processedSpan */
            astore 9 /* resultSpan */
        15: .line 198
            goto 24
        16: .line 200
      StackMap locals: android.text.style.TextAppearanceSpan
      StackMap stack:
            aload 5 /* span */
            astore 9 /* resultSpan */
        end local 10 // android.text.style.TextAppearanceSpan processedSpan
        17: .line 202
            goto 24
      StackMap locals:
      StackMap stack:
        18: aload 9 /* resultSpan */
            instanceof android.text.style.ForegroundColorSpan
            ifeq 23
        19: .line 203
            aload 9 /* resultSpan */
            checkcast android.text.style.ForegroundColorSpan
            astore 10 /* originalSpan */
        start local 10 // android.text.style.ForegroundColorSpan originalSpan
        20: .line 204
            aload 10 /* originalSpan */
            invokevirtual android.text.style.ForegroundColorSpan.getForegroundColor:()I
            istore 11 /* foregroundColor */
        start local 11 // int foregroundColor
        21: .line 205
            new android.text.style.ForegroundColorSpan
            dup
            aload 0 /* this */
            iload 11 /* foregroundColor */
            invokevirtual com.android.internal.util.NotificationColorUtil.processColor:(I)I
            invokespecial android.text.style.ForegroundColorSpan.<init>:(I)V
            astore 9 /* resultSpan */
        end local 11 // int foregroundColor
        end local 10 // android.text.style.ForegroundColorSpan originalSpan
        22: .line 206
            goto 24
        23: .line 207
      StackMap locals:
      StackMap stack:
            aload 5 /* span */
            astore 9 /* resultSpan */
        24: .line 209
      StackMap locals:
      StackMap stack:
            aload 4 /* builder */
            aload 9 /* resultSpan */
            aload 2 /* ss */
            aload 5 /* span */
            invokeinterface android.text.Spanned.getSpanStart:(Ljava/lang/Object;)I
            aload 2 /* ss */
            aload 5 /* span */
            invokeinterface android.text.Spanned.getSpanEnd:(Ljava/lang/Object;)I
        25: .line 210
            aload 2 /* ss */
            aload 5 /* span */
            invokeinterface android.text.Spanned.getSpanFlags:(Ljava/lang/Object;)I
        26: .line 209
            invokevirtual android.text.SpannableStringBuilder.setSpan:(Ljava/lang/Object;III)V
        end local 9 // java.lang.Object resultSpan
        end local 5 // java.lang.Object span
        27: .line 188
            iinc 6 1
      StackMap locals: com.android.internal.util.NotificationColorUtil java.lang.CharSequence android.text.Spanned java.lang.Object[] android.text.SpannableStringBuilder top int int java.lang.Object[]
      StackMap stack:
        28: iload 6
            iload 7
            if_icmplt 5
        29: .line 212
            aload 4 /* builder */
            areturn
        end local 4 // android.text.SpannableStringBuilder builder
        end local 3 // java.lang.Object[] spans
        end local 2 // android.text.Spanned ss
        30: .line 214
      StackMap locals: com.android.internal.util.NotificationColorUtil java.lang.CharSequence
      StackMap stack:
            aload 1 /* charSequence */
            areturn
        end local 1 // java.lang.CharSequence charSequence
        end local 0 // com.android.internal.util.NotificationColorUtil this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   31     0             this  Lcom/android/internal/util/NotificationColorUtil;
            0   31     1     charSequence  Ljava/lang/CharSequence;
            2   30     2               ss  Landroid/text/Spanned;
            3   30     3            spans  [Ljava/lang/Object;
            4   30     4          builder  Landroid/text/SpannableStringBuilder;
            6   27     5             span  Ljava/lang/Object;
            7   27     9       resultSpan  Ljava/lang/Object;
           13   17    10    processedSpan  Landroid/text/style/TextAppearanceSpan;
           20   22    10     originalSpan  Landroid/text/style/ForegroundColorSpan;
           21   22    11  foregroundColor  I
    MethodParameters:
              Name  Flags
      charSequence  

  private android.text.style.TextAppearanceSpan processTextAppearanceSpan(android.text.style.TextAppearanceSpan);
    descriptor: (Landroid/text/style/TextAppearanceSpan;)Landroid/text/style/TextAppearanceSpan;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=6, args_size=2
        start local 0 // com.android.internal.util.NotificationColorUtil this
        start local 1 // android.text.style.TextAppearanceSpan span
         0: .line 218
            aload 1 /* span */
            invokevirtual android.text.style.TextAppearanceSpan.getTextColor:()Landroid/content/res/ColorStateList;
            astore 2 /* colorStateList */
        start local 2 // android.content.res.ColorStateList colorStateList
         1: .line 219
            aload 2 /* colorStateList */
            ifnull 19
         2: .line 220
            aload 2 /* colorStateList */
            invokevirtual android.content.res.ColorStateList.getColors:()[I
            astore 3 /* colors */
        start local 3 // int[] colors
         3: .line 221
            iconst_0
            istore 4 /* changed */
        start local 4 // boolean changed
         4: .line 222
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 12
         6: .line 223
      StackMap locals: com.android.internal.util.NotificationColorUtil android.text.style.TextAppearanceSpan android.content.res.ColorStateList int[] int int
      StackMap stack:
            aload 3 /* colors */
            iload 5 /* i */
            iaload
            invokestatic com.android.internal.util.ImageUtils.isGrayscale:(I)Z
            ifeq 11
         7: .line 227
            iload 4 /* changed */
            ifne 9
         8: .line 228
            aload 3 /* colors */
            aload 3 /* colors */
            arraylength
            invokestatic java.util.Arrays.copyOf:([II)[I
            astore 3 /* colors */
         9: .line 230
      StackMap locals:
      StackMap stack:
            aload 3 /* colors */
            iload 5 /* i */
            aload 0 /* this */
            aload 3 /* colors */
            iload 5 /* i */
            iaload
            invokevirtual com.android.internal.util.NotificationColorUtil.processColor:(I)I
            iastore
        10: .line 231
            iconst_1
            istore 4 /* changed */
        11: .line 222
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 5 /* i */
            aload 3 /* colors */
            arraylength
            if_icmplt 6
        end local 5 // int i
        13: .line 234
            iload 4 /* changed */
            ifeq 19
        14: .line 235
            new android.text.style.TextAppearanceSpan
            dup
        15: .line 236
            aload 1 /* span */
            invokevirtual android.text.style.TextAppearanceSpan.getFamily:()Ljava/lang/String;
            aload 1 /* span */
            invokevirtual android.text.style.TextAppearanceSpan.getTextStyle:()I
            aload 1 /* span */
            invokevirtual android.text.style.TextAppearanceSpan.getTextSize:()I
        16: .line 237
            new android.content.res.ColorStateList
            dup
            aload 2 /* colorStateList */
            invokevirtual android.content.res.ColorStateList.getStates:()[[I
            aload 3 /* colors */
            invokespecial android.content.res.ColorStateList.<init>:([[I[I)V
        17: .line 238
            aload 1 /* span */
            invokevirtual android.text.style.TextAppearanceSpan.getLinkTextColor:()Landroid/content/res/ColorStateList;
        18: .line 235
            invokespecial android.text.style.TextAppearanceSpan.<init>:(Ljava/lang/String;IILandroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;)V
            areturn
        end local 4 // boolean changed
        end local 3 // int[] colors
        19: .line 241
      StackMap locals:
      StackMap stack:
            aload 1 /* span */
            areturn
        end local 2 // android.content.res.ColorStateList colorStateList
        end local 1 // android.text.style.TextAppearanceSpan span
        end local 0 // com.android.internal.util.NotificationColorUtil this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   20     0            this  Lcom/android/internal/util/NotificationColorUtil;
            0   20     1            span  Landroid/text/style/TextAppearanceSpan;
            1   20     2  colorStateList  Landroid/content/res/ColorStateList;
            3   19     3          colors  [I
            4   19     4         changed  Z
            5   13     5               i  I
    MethodParameters:
      Name  Flags
      span  

  public static java.lang.CharSequence clearColorSpans(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=10, args_size=1
        start local 0 // java.lang.CharSequence charSequence
         0: .line 250
            aload 0 /* charSequence */
            instanceof android.text.Spanned
            ifeq 30
         1: .line 251
            aload 0 /* charSequence */
            checkcast android.text.Spanned
            astore 1 /* ss */
        start local 1 // android.text.Spanned ss
         2: .line 252
            aload 1 /* ss */
            iconst_0
            aload 1 /* ss */
            invokeinterface android.text.Spanned.length:()I
            ldc Ljava/lang/Object;
            invokeinterface android.text.Spanned.getSpans:(IILjava/lang/Class;)[Ljava/lang/Object;
            astore 2 /* spans */
        start local 2 // java.lang.Object[] spans
         3: .line 253
            new android.text.SpannableStringBuilder
            dup
            aload 1 /* ss */
            invokeinterface android.text.Spanned.toString:()Ljava/lang/String;
            invokespecial android.text.SpannableStringBuilder.<init>:(Ljava/lang/CharSequence;)V
            astore 3 /* builder */
        start local 3 // android.text.SpannableStringBuilder builder
         4: .line 254
            aload 2 /* spans */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 28
      StackMap locals: java.lang.CharSequence android.text.Spanned java.lang.Object[] android.text.SpannableStringBuilder top int int java.lang.Object[]
      StackMap stack:
         5: aload 7
            iload 5
            aaload
            astore 4 /* span */
        start local 4 // java.lang.Object span
         6: .line 255
            aload 4 /* span */
            astore 8 /* resultSpan */
        start local 8 // java.lang.Object resultSpan
         7: .line 256
            aload 8 /* resultSpan */
            instanceof android.text.style.CharacterStyle
            ifeq 9
         8: .line 257
            aload 4 /* span */
            checkcast android.text.style.CharacterStyle
            invokevirtual android.text.style.CharacterStyle.getUnderlying:()Landroid/text/style/CharacterStyle;
            astore 8 /* resultSpan */
         9: .line 259
      StackMap locals: java.lang.CharSequence android.text.Spanned java.lang.Object[] android.text.SpannableStringBuilder java.lang.Object int int java.lang.Object[] java.lang.Object
      StackMap stack:
            aload 8 /* resultSpan */
            instanceof android.text.style.TextAppearanceSpan
            ifeq 20
        10: .line 260
            aload 8 /* resultSpan */
            checkcast android.text.style.TextAppearanceSpan
            astore 9 /* originalSpan */
        start local 9 // android.text.style.TextAppearanceSpan originalSpan
        11: .line 261
            aload 9 /* originalSpan */
            invokevirtual android.text.style.TextAppearanceSpan.getTextColor:()Landroid/content/res/ColorStateList;
            ifnull 24
        12: .line 262
            new android.text.style.TextAppearanceSpan
            dup
        13: .line 263
            aload 9 /* originalSpan */
            invokevirtual android.text.style.TextAppearanceSpan.getFamily:()Ljava/lang/String;
        14: .line 264
            aload 9 /* originalSpan */
            invokevirtual android.text.style.TextAppearanceSpan.getTextStyle:()I
        15: .line 265
            aload 9 /* originalSpan */
            invokevirtual android.text.style.TextAppearanceSpan.getTextSize:()I
        16: .line 266
            aconst_null
        17: .line 267
            aload 9 /* originalSpan */
            invokevirtual android.text.style.TextAppearanceSpan.getLinkTextColor:()Landroid/content/res/ColorStateList;
        18: .line 262
            invokespecial android.text.style.TextAppearanceSpan.<init>:(Ljava/lang/String;IILandroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;)V
            astore 8 /* resultSpan */
        end local 9 // android.text.style.TextAppearanceSpan originalSpan
        19: .line 269
            goto 24
      StackMap locals:
      StackMap stack:
        20: aload 8 /* resultSpan */
            instanceof android.text.style.ForegroundColorSpan
            ifne 27
        21: .line 270
            aload 8 /* resultSpan */
            instanceof android.text.style.BackgroundColorSpan
            ifeq 23
        22: .line 271
            goto 27
        23: .line 273
      StackMap locals:
      StackMap stack:
            aload 4 /* span */
            astore 8 /* resultSpan */
        24: .line 275
      StackMap locals:
      StackMap stack:
            aload 3 /* builder */
            aload 8 /* resultSpan */
            aload 1 /* ss */
            aload 4 /* span */
            invokeinterface android.text.Spanned.getSpanStart:(Ljava/lang/Object;)I
            aload 1 /* ss */
            aload 4 /* span */
            invokeinterface android.text.Spanned.getSpanEnd:(Ljava/lang/Object;)I
        25: .line 276
            aload 1 /* ss */
            aload 4 /* span */
            invokeinterface android.text.Spanned.getSpanFlags:(Ljava/lang/Object;)I
        26: .line 275
            invokevirtual android.text.SpannableStringBuilder.setSpan:(Ljava/lang/Object;III)V
        end local 8 // java.lang.Object resultSpan
        end local 4 // java.lang.Object span
        27: .line 254
      StackMap locals: java.lang.CharSequence android.text.Spanned java.lang.Object[] android.text.SpannableStringBuilder top int int java.lang.Object[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        28: iload 5
            iload 6
            if_icmplt 5
        29: .line 278
            aload 3 /* builder */
            areturn
        end local 3 // android.text.SpannableStringBuilder builder
        end local 2 // java.lang.Object[] spans
        end local 1 // android.text.Spanned ss
        30: .line 280
      StackMap locals: java.lang.CharSequence
      StackMap stack:
            aload 0 /* charSequence */
            areturn
        end local 0 // java.lang.CharSequence charSequence
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   31     0  charSequence  Ljava/lang/CharSequence;
            2   30     1            ss  Landroid/text/Spanned;
            3   30     2         spans  [Ljava/lang/Object;
            4   30     3       builder  Landroid/text/SpannableStringBuilder;
            6   27     4          span  Ljava/lang/Object;
            7   27     8    resultSpan  Ljava/lang/Object;
           11   19     9  originalSpan  Landroid/text/style/TextAppearanceSpan;
    MethodParameters:
              Name  Flags
      charSequence  

  private int processColor(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.android.internal.util.NotificationColorUtil this
        start local 1 // int color
         0: .line 284
            iload 1 /* color */
            invokestatic android.graphics.Color.alpha:(I)I
         1: .line 285
            sipush 255
            iload 1 /* color */
            invokestatic android.graphics.Color.red:(I)I
            isub
         2: .line 286
            sipush 255
            iload 1 /* color */
            invokestatic android.graphics.Color.green:(I)I
            isub
         3: .line 287
            sipush 255
            iload 1 /* color */
            invokestatic android.graphics.Color.blue:(I)I
            isub
         4: .line 284
            invokestatic android.graphics.Color.argb:(IIII)I
            ireturn
        end local 1 // int color
        end local 0 // com.android.internal.util.NotificationColorUtil this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/android/internal/util/NotificationColorUtil;
            0    5     1  color  I
    MethodParameters:
       Name  Flags
      color  

  public static int findContrastColor(int, int, boolean, double);
    descriptor: (IIZD)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=19, args_size=4
        start local 0 // int color
        start local 1 // int other
        start local 2 // boolean findFg
        start local 3 // double minRatio
         0: .line 301
            iload 2 /* findFg */
            ifeq 1
            iload 0 /* color */
            goto 2
      StackMap locals:
      StackMap stack:
         1: iload 1 /* other */
      StackMap locals:
      StackMap stack: int
         2: istore 5 /* fg */
        start local 5 // int fg
         3: .line 302
            iload 2 /* findFg */
            ifeq 4
            iload 1 /* other */
            goto 5
      StackMap locals: int
      StackMap stack:
         4: iload 0 /* color */
      StackMap locals:
      StackMap stack: int
         5: istore 6 /* bg */
        start local 6 // int bg
         6: .line 303
            iload 5 /* fg */
            iload 6 /* bg */
            invokestatic com.android.internal.util.NotificationColorUtil$ColorUtilsFromCompat.calculateContrast:(II)D
            dload 3 /* minRatio */
            dcmpl
            iflt 8
         7: .line 304
            iload 0 /* color */
            ireturn
         8: .line 307
      StackMap locals: int
      StackMap stack:
            iconst_3
            newarray 7
            astore 7 /* lab */
        start local 7 // double[] lab
         9: .line 308
            iload 2 /* findFg */
            ifeq 10
            iload 5 /* fg */
            goto 11
      StackMap locals: double[]
      StackMap stack:
        10: iload 6 /* bg */
      StackMap locals:
      StackMap stack: int
        11: aload 7 /* lab */
            invokestatic com.android.internal.util.NotificationColorUtil$ColorUtilsFromCompat.colorToLAB:(I[D)V
        12: .line 310
            dconst_0
            dstore 8 /* low */
        start local 8 // double low
        13: aload 7 /* lab */
            iconst_0
            daload
            dstore 10 /* high */
        start local 10 // double high
        14: .line 311
            aload 7 /* lab */
            iconst_1
            daload
            dstore 12 /* a */
        start local 12 // double a
        15: aload 7 /* lab */
            iconst_2
            daload
            dstore 14 /* b */
        start local 14 // double b
        16: .line 312
            iconst_0
            istore 16 /* i */
        start local 16 // int i
        17: goto 28
        18: .line 313
      StackMap locals: int int int double int int double[] double double double double int
      StackMap stack:
            dload 8 /* low */
            dload 10 /* high */
            dadd
            ldc 2.0
            ddiv
            dstore 17 /* l */
        start local 17 // double l
        19: .line 314
            iload 2 /* findFg */
            ifeq 22
        20: .line 315
            dload 17 /* l */
            dload 12 /* a */
            dload 14 /* b */
            invokestatic com.android.internal.util.NotificationColorUtil$ColorUtilsFromCompat.LABToColor:(DDD)I
            istore 5 /* fg */
        21: .line 316
            goto 23
        22: .line 317
      StackMap locals: double
      StackMap stack:
            dload 17 /* l */
            dload 12 /* a */
            dload 14 /* b */
            invokestatic com.android.internal.util.NotificationColorUtil$ColorUtilsFromCompat.LABToColor:(DDD)I
            istore 6 /* bg */
        23: .line 319
      StackMap locals:
      StackMap stack:
            iload 5 /* fg */
            iload 6 /* bg */
            invokestatic com.android.internal.util.NotificationColorUtil$ColorUtilsFromCompat.calculateContrast:(II)D
            dload 3 /* minRatio */
            dcmpl
            ifle 26
        24: .line 320
            dload 17 /* l */
            dstore 8 /* low */
        25: .line 321
            goto 27
        26: .line 322
      StackMap locals:
      StackMap stack:
            dload 17 /* l */
            dstore 10 /* high */
        end local 17 // double l
        27: .line 312
      StackMap locals:
      StackMap stack:
            iinc 16 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 16 /* i */
            bipush 15
            if_icmpge 29
            dload 10 /* high */
            dload 8 /* low */
            dsub
            ldc 1.0E-5
            dcmpl
            ifgt 18
        end local 16 // int i
        29: .line 325
      StackMap locals:
      StackMap stack:
            dload 8 /* low */
            dload 12 /* a */
            dload 14 /* b */
            invokestatic com.android.internal.util.NotificationColorUtil$ColorUtilsFromCompat.LABToColor:(DDD)I
            ireturn
        end local 14 // double b
        end local 12 // double a
        end local 10 // double high
        end local 8 // double low
        end local 7 // double[] lab
        end local 6 // int bg
        end local 5 // int fg
        end local 3 // double minRatio
        end local 2 // boolean findFg
        end local 1 // int other
        end local 0 // int color
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   30     0     color  I
            0   30     1     other  I
            0   30     2    findFg  Z
            0   30     3  minRatio  D
            3   30     5        fg  I
            6   30     6        bg  I
            9   30     7       lab  [D
           13   30     8       low  D
           14   30    10      high  D
           15   30    12         a  D
           16   30    14         b  D
           17   29    16         i  I
           19   27    17         l  D
    MethodParameters:
          Name  Flags
      color     
      other     
      findFg    
      minRatio  

  public static int findAlphaToMeetContrast(int, int, double);
    descriptor: (IID)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=14, args_size=3
        start local 0 // int color
        start local 1 // int backgroundColor
        start local 2 // double minRatio
         0: .line 337
            iload 0 /* color */
            istore 4 /* fg */
        start local 4 // int fg
         1: .line 338
            iload 1 /* backgroundColor */
            istore 5 /* bg */
        start local 5 // int bg
         2: .line 339
            iload 4 /* fg */
            iload 5 /* bg */
            invokestatic com.android.internal.util.NotificationColorUtil$ColorUtilsFromCompat.calculateContrast:(II)D
            dload 2 /* minRatio */
            dcmpl
            iflt 4
         3: .line 340
            iload 0 /* color */
            ireturn
         4: .line 342
      StackMap locals: int int
      StackMap stack:
            iload 0 /* color */
            invokestatic android.graphics.Color.alpha:(I)I
            istore 6 /* startAlpha */
        start local 6 // int startAlpha
         5: .line 343
            iload 0 /* color */
            invokestatic android.graphics.Color.red:(I)I
            istore 7 /* r */
        start local 7 // int r
         6: .line 344
            iload 0 /* color */
            invokestatic android.graphics.Color.green:(I)I
            istore 8 /* g */
        start local 8 // int g
         7: .line 345
            iload 0 /* color */
            invokestatic android.graphics.Color.blue:(I)I
            istore 9 /* b */
        start local 9 // int b
         8: .line 347
            iload 6 /* startAlpha */
            istore 10 /* low */
        start local 10 // int low
         9: sipush 255
            istore 11 /* high */
        start local 11 // int high
        10: .line 348
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        11: goto 19
        12: .line 349
      StackMap locals: int int double int int int int int int int int int
      StackMap stack:
            iload 10 /* low */
            iload 11 /* high */
            iadd
            iconst_2
            idiv
            istore 13 /* alpha */
        start local 13 // int alpha
        13: .line 350
            iload 13 /* alpha */
            iload 7 /* r */
            iload 8 /* g */
            iload 9 /* b */
            invokestatic android.graphics.Color.argb:(IIII)I
            istore 4 /* fg */
        14: .line 351
            iload 4 /* fg */
            iload 5 /* bg */
            invokestatic com.android.internal.util.NotificationColorUtil$ColorUtilsFromCompat.calculateContrast:(II)D
            dload 2 /* minRatio */
            dcmpl
            ifle 17
        15: .line 352
            iload 13 /* alpha */
            istore 11 /* high */
        16: .line 353
            goto 18
        17: .line 354
      StackMap locals: int
      StackMap stack:
            iload 13 /* alpha */
            istore 10 /* low */
        end local 13 // int alpha
        18: .line 348
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 12 /* i */
            bipush 15
            if_icmpge 20
            iload 11 /* high */
            iload 10 /* low */
            isub
            ifgt 12
        end local 12 // int i
        20: .line 357
      StackMap locals:
      StackMap stack:
            iload 11 /* high */
            iload 7 /* r */
            iload 8 /* g */
            iload 9 /* b */
            invokestatic android.graphics.Color.argb:(IIII)I
            ireturn
        end local 11 // int high
        end local 10 // int low
        end local 9 // int b
        end local 8 // int g
        end local 7 // int r
        end local 6 // int startAlpha
        end local 5 // int bg
        end local 4 // int fg
        end local 2 // double minRatio
        end local 1 // int backgroundColor
        end local 0 // int color
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   21     0            color  I
            0   21     1  backgroundColor  I
            0   21     2         minRatio  D
            1   21     4               fg  I
            2   21     5               bg  I
            5   21     6       startAlpha  I
            6   21     7                r  I
            7   21     8                g  I
            8   21     9                b  I
            9   21    10              low  I
           10   21    11             high  I
           11   20    12                i  I
           13   18    13            alpha  I
    MethodParameters:
                 Name  Flags
      color            
      backgroundColor  
      minRatio         

  public static int findContrastColorAgainstDark(int, int, boolean, double);
    descriptor: (IIZD)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=12, args_size=4
        start local 0 // int color
        start local 1 // int other
        start local 2 // boolean findFg
        start local 3 // double minRatio
         0: .line 372
            iload 2 /* findFg */
            ifeq 1
            iload 0 /* color */
            goto 2
      StackMap locals:
      StackMap stack:
         1: iload 1 /* other */
      StackMap locals:
      StackMap stack: int
         2: istore 5 /* fg */
        start local 5 // int fg
         3: .line 373
            iload 2 /* findFg */
            ifeq 4
            iload 1 /* other */
            goto 5
      StackMap locals: int
      StackMap stack:
         4: iload 0 /* color */
      StackMap locals:
      StackMap stack: int
         5: istore 6 /* bg */
        start local 6 // int bg
         6: .line 374
            iload 5 /* fg */
            iload 6 /* bg */
            invokestatic com.android.internal.util.NotificationColorUtil$ColorUtilsFromCompat.calculateContrast:(II)D
            dload 3 /* minRatio */
            dcmpl
            iflt 8
         7: .line 375
            iload 0 /* color */
            ireturn
         8: .line 378
      StackMap locals: int
      StackMap stack:
            iconst_3
            newarray 6
            astore 7 /* hsl */
        start local 7 // float[] hsl
         9: .line 379
            iload 2 /* findFg */
            ifeq 10
            iload 5 /* fg */
            goto 11
      StackMap locals: float[]
      StackMap stack:
        10: iload 6 /* bg */
      StackMap locals:
      StackMap stack: int
        11: aload 7 /* hsl */
            invokestatic com.android.internal.util.NotificationColorUtil$ColorUtilsFromCompat.colorToHSL:(I[F)V
        12: .line 381
            aload 7 /* hsl */
            iconst_2
            faload
            fstore 8 /* low */
        start local 8 // float low
        13: fconst_1
            fstore 9 /* high */
        start local 9 // float high
        14: .line 382
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        15: goto 27
        16: .line 383
      StackMap locals: float float int
      StackMap stack:
            fload 8 /* low */
            fload 9 /* high */
            fadd
            fconst_2
            fdiv
            fstore 11 /* l */
        start local 11 // float l
        17: .line 384
            aload 7 /* hsl */
            iconst_2
            fload 11 /* l */
            fastore
        18: .line 385
            iload 2 /* findFg */
            ifeq 21
        19: .line 386
            aload 7 /* hsl */
            invokestatic com.android.internal.util.NotificationColorUtil$ColorUtilsFromCompat.HSLToColor:([F)I
            istore 5 /* fg */
        20: .line 387
            goto 22
        21: .line 388
      StackMap locals: float
      StackMap stack:
            aload 7 /* hsl */
            invokestatic com.android.internal.util.NotificationColorUtil$ColorUtilsFromCompat.HSLToColor:([F)I
            istore 6 /* bg */
        22: .line 390
      StackMap locals:
      StackMap stack:
            iload 5 /* fg */
            iload 6 /* bg */
            invokestatic com.android.internal.util.NotificationColorUtil$ColorUtilsFromCompat.calculateContrast:(II)D
            dload 3 /* minRatio */
            dcmpl
            ifle 25
        23: .line 391
            fload 11 /* l */
            fstore 9 /* high */
        24: .line 392
            goto 26
        25: .line 393
      StackMap locals:
      StackMap stack:
            fload 11 /* l */
            fstore 8 /* low */
        end local 11 // float l
        26: .line 382
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 10 /* i */
            bipush 15
            if_icmpge 28
            fload 9 /* high */
            fload 8 /* low */
            fsub
            f2d
            ldc 1.0E-5
            dcmpl
            ifgt 16
        end local 10 // int i
        28: .line 396
      StackMap locals:
      StackMap stack:
            iload 2 /* findFg */
            ifeq 29
            iload 5 /* fg */
            goto 30
      StackMap locals:
      StackMap stack:
        29: iload 6 /* bg */
      StackMap locals:
      StackMap stack: int
        30: ireturn
        end local 9 // float high
        end local 8 // float low
        end local 7 // float[] hsl
        end local 6 // int bg
        end local 5 // int fg
        end local 3 // double minRatio
        end local 2 // boolean findFg
        end local 1 // int other
        end local 0 // int color
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   31     0     color  I
            0   31     1     other  I
            0   31     2    findFg  Z
            0   31     3  minRatio  D
            3   31     5        fg  I
            6   31     6        bg  I
            9   31     7       hsl  [F
           13   31     8       low  F
           14   31     9      high  F
           15   28    10         i  I
           17   26    11         l  F
    MethodParameters:
          Name  Flags
      color     
      other     
      findFg    
      minRatio  

  public static int ensureTextContrastOnBlack(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // int color
         0: .line 400
            iload 0 /* color */
            ldc -16777216
            iconst_1
            ldc 12.0
            invokestatic com.android.internal.util.NotificationColorUtil.findContrastColorAgainstDark:(IIZD)I
            ireturn
        end local 0 // int color
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  color  I
    MethodParameters:
       Name  Flags
      color  

  public static int ensureLargeTextContrast(int, int, boolean);
    descriptor: (IIZ)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // int color
        start local 1 // int bg
        start local 2 // boolean isBgDarker
         0: .line 410
            iload 2 /* isBgDarker */
            ifeq 2
         1: .line 411
            iload 0 /* color */
            iload 1 /* bg */
            iconst_1
            ldc 3.0
            invokestatic com.android.internal.util.NotificationColorUtil.findContrastColorAgainstDark:(IIZD)I
            goto 3
         2: .line 412
      StackMap locals:
      StackMap stack:
            iload 0 /* color */
            iload 1 /* bg */
            iconst_1
            ldc 3.0
            invokestatic com.android.internal.util.NotificationColorUtil.findContrastColor:(IIZD)I
         3: .line 410
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 2 // boolean isBgDarker
        end local 1 // int bg
        end local 0 // int color
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0       color  I
            0    4     1          bg  I
            0    4     2  isBgDarker  Z
    MethodParameters:
            Name  Flags
      color       
      bg          
      isBgDarker  

  public static int ensureTextContrast(int, int, boolean);
    descriptor: (IIZ)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // int color
        start local 1 // int bg
        start local 2 // boolean isBgDarker
         0: .line 422
            iload 0 /* color */
            iload 1 /* bg */
            iload 2 /* isBgDarker */
            ldc 4.5
            invokestatic com.android.internal.util.NotificationColorUtil.ensureContrast:(IIZD)I
            ireturn
        end local 2 // boolean isBgDarker
        end local 1 // int bg
        end local 0 // int color
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0       color  I
            0    1     1          bg  I
            0    1     2  isBgDarker  Z
    MethodParameters:
            Name  Flags
      color       
      bg          
      isBgDarker  

  public static int ensureContrast(int, int, boolean, double);
    descriptor: (IIZD)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // int color
        start local 1 // int bg
        start local 2 // boolean isBgDarker
        start local 3 // double minRatio
         0: .line 435
            iload 2 /* isBgDarker */
            ifeq 2
         1: .line 436
            iload 0 /* color */
            iload 1 /* bg */
            iconst_1
            dload 3 /* minRatio */
            invokestatic com.android.internal.util.NotificationColorUtil.findContrastColorAgainstDark:(IIZD)I
            goto 3
         2: .line 437
      StackMap locals:
      StackMap stack:
            iload 0 /* color */
            iload 1 /* bg */
            iconst_1
            dload 3 /* minRatio */
            invokestatic com.android.internal.util.NotificationColorUtil.findContrastColor:(IIZD)I
         3: .line 435
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 3 // double minRatio
        end local 2 // boolean isBgDarker
        end local 1 // int bg
        end local 0 // int color
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0       color  I
            0    4     1          bg  I
            0    4     2  isBgDarker  Z
            0    4     3    minRatio  D
    MethodParameters:
            Name  Flags
      color       
      bg          
      isBgDarker  
      minRatio    

  public static int ensureTextBackgroundColor(int, int, int);
    descriptor: (III)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // int color
        start local 1 // int textColor
        start local 2 // int hintColor
         0: .line 444
            iload 0 /* color */
            iload 2 /* hintColor */
            iconst_0
            ldc 3.0
            invokestatic com.android.internal.util.NotificationColorUtil.findContrastColor:(IIZD)I
            istore 0 /* color */
         1: .line 445
            iload 0 /* color */
            iload 1 /* textColor */
            iconst_0
            ldc 4.5
            invokestatic com.android.internal.util.NotificationColorUtil.findContrastColor:(IIZD)I
            ireturn
        end local 2 // int hintColor
        end local 1 // int textColor
        end local 0 // int color
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0      color  I
            0    2     1  textColor  I
            0    2     2  hintColor  I
    MethodParameters:
           Name  Flags
      color      
      textColor  
      hintColor  

  private static java.lang.String contrastChange(int, int, int);
    descriptor: (III)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // int colorOld
        start local 1 // int colorNew
        start local 2 // int bg
         0: .line 449
            ldc "from %.2f:1 to %.2f:1"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         1: .line 450
            iload 0 /* colorOld */
            iload 2 /* bg */
            invokestatic com.android.internal.util.NotificationColorUtil$ColorUtilsFromCompat.calculateContrast:(II)D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            iconst_1
         2: .line 451
            iload 1 /* colorNew */
            iload 2 /* bg */
            invokestatic com.android.internal.util.NotificationColorUtil$ColorUtilsFromCompat.calculateContrast:(II)D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
         3: .line 449
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 2 // int bg
        end local 1 // int colorNew
        end local 0 // int colorOld
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  colorOld  I
            0    4     1  colorNew  I
            0    4     2        bg  I
    MethodParameters:
          Name  Flags
      colorOld  
      colorNew  
      bg        

  public static int resolveColor(android.content.Context, int);
    descriptor: (Landroid/content/Context;I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 459
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tcom.android.internal.R.color cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
         Name  Flags
      context  
      color    

  public static int resolveContrastColor(android.content.Context, int, int);
    descriptor: (Landroid/content/Context;II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.content.Context context
        start local 1 // int notificationColor
        start local 2 // int backgroundColor
         0: .line 473
            aload 0 /* context */
            iload 1 /* notificationColor */
         1: .line 474
            iload 2 /* backgroundColor */
            iconst_0
         2: .line 473
            invokestatic com.android.internal.util.NotificationColorUtil.resolveContrastColor:(Landroid/content/Context;IIZ)I
            ireturn
        end local 2 // int backgroundColor
        end local 1 // int notificationColor
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0            context  Landroid/content/Context;
            0    3     1  notificationColor  I
            0    3     2    backgroundColor  I
    MethodParameters:
                   Name  Flags
      context            
      notificationColor  
      backgroundColor    

  public static int resolveContrastColor(android.content.Context, int, int, boolean);
    descriptor: (Landroid/content/Context;IIZ)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // android.content.Context context
        start local 1 // int notificationColor
        start local 2 // int backgroundColor
        start local 3 // boolean isDark
         0: .line 489
            aload 0 /* context */
            iload 1 /* notificationColor */
            invokestatic com.android.internal.util.NotificationColorUtil.resolveColor:(Landroid/content/Context;I)I
            istore 4 /* resolvedColor */
        start local 4 // int resolvedColor
         1: .line 491
            iload 4 /* resolvedColor */
            istore 5 /* color */
        start local 5 // int color
         2: .line 492
            iload 5 /* color */
            iload 2 /* backgroundColor */
            iload 3 /* isDark */
            invokestatic com.android.internal.util.NotificationColorUtil.ensureTextContrast:(IIZ)I
            istore 5 /* color */
         3: .line 494
            iload 5 /* color */
            iload 4 /* resolvedColor */
            if_icmpeq 4
         4: .line 504
      StackMap locals: int int
      StackMap stack:
            iload 5 /* color */
            ireturn
        end local 5 // int color
        end local 4 // int resolvedColor
        end local 3 // boolean isDark
        end local 2 // int backgroundColor
        end local 1 // int notificationColor
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0            context  Landroid/content/Context;
            0    5     1  notificationColor  I
            0    5     2    backgroundColor  I
            0    5     3             isDark  Z
            1    5     4      resolvedColor  I
            2    5     5              color  I
    MethodParameters:
                   Name  Flags
      context            
      notificationColor  
      backgroundColor    
      isDark             

  public static int changeColorLightness(int, int);
    descriptor: (II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // int baseColor
        start local 1 // int amount
         0: .line 516
            invokestatic com.android.internal.util.NotificationColorUtil$ColorUtilsFromCompat.getTempDouble3Array:()[D
            astore 2 /* result */
        start local 2 // double[] result
         1: .line 517
            iload 0 /* baseColor */
            aload 2 /* result */
            invokestatic com.android.internal.util.NotificationColorUtil$ColorUtilsFromCompat.colorToLAB:(I[D)V
         2: .line 518
            aload 2 /* result */
            iconst_0
            ldc 100.0
            aload 2 /* result */
            iconst_0
            daload
            iload 1 /* amount */
            i2d
            dadd
            invokestatic java.lang.Math.min:(DD)D
            dconst_0
            invokestatic java.lang.Math.max:(DD)D
            dastore
         3: .line 519
            aload 2 /* result */
            iconst_0
            daload
            aload 2 /* result */
            iconst_1
            daload
            aload 2 /* result */
            iconst_2
            daload
            invokestatic com.android.internal.util.NotificationColorUtil$ColorUtilsFromCompat.LABToColor:(DDD)I
            ireturn
        end local 2 // double[] result
        end local 1 // int amount
        end local 0 // int baseColor
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0  baseColor  I
            0    4     1     amount  I
            1    4     2     result  [D
    MethodParameters:
           Name  Flags
      baseColor  
      amount     

  public static int resolveAmbientColor(android.content.Context, int);
    descriptor: (Landroid/content/Context;I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // android.content.Context context
        start local 1 // int notificationColor
         0: .line 523
            aload 0 /* context */
            iload 1 /* notificationColor */
            invokestatic com.android.internal.util.NotificationColorUtil.resolveColor:(Landroid/content/Context;I)I
            istore 2 /* resolvedColor */
        start local 2 // int resolvedColor
         1: .line 525
            iload 2 /* resolvedColor */
            istore 3 /* color */
        start local 3 // int color
         2: .line 526
            iload 3 /* color */
            invokestatic com.android.internal.util.NotificationColorUtil.ensureTextContrastOnBlack:(I)I
            istore 3 /* color */
         3: .line 528
            iload 3 /* color */
            iload 2 /* resolvedColor */
            if_icmpeq 4
         4: .line 538
      StackMap locals: int int
      StackMap stack:
            iload 3 /* color */
            ireturn
        end local 3 // int color
        end local 2 // int resolvedColor
        end local 1 // int notificationColor
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0            context  Landroid/content/Context;
            0    5     1  notificationColor  I
            1    5     2      resolvedColor  I
            2    5     3              color  I
    MethodParameters:
                   Name  Flags
      context            
      notificationColor  

  public static int resolvePrimaryColor(android.content.Context, int);
    descriptor: (Landroid/content/Context;I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 545
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tcom.android.internal.R.color cannot be resolved to a variable\n\tcom.android.internal.R.color cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
                 Name  Flags
      context          
      backgroundColor  

  public static int resolveSecondaryColor(android.content.Context, int);
    descriptor: (Landroid/content/Context;I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 556
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tcom.android.internal.R.color cannot be resolved to a variable\n\tcom.android.internal.R.color cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
                 Name  Flags
      context          
      backgroundColor  

  public static int resolveDefaultColor(android.content.Context, int);
    descriptor: (Landroid/content/Context;I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 567
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tcom.android.internal.R.color cannot be resolved to a variable\n\tcom.android.internal.R.color cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
                 Name  Flags
      context          
      backgroundColor  

  public static int getShiftedColor(int, int);
    descriptor: (II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // int color
        start local 1 // int amount
         0: .line 584
            invokestatic com.android.internal.util.NotificationColorUtil$ColorUtilsFromCompat.getTempDouble3Array:()[D
            astore 2 /* result */
        start local 2 // double[] result
         1: .line 585
            iload 0 /* color */
            aload 2 /* result */
            invokestatic com.android.internal.util.NotificationColorUtil$ColorUtilsFromCompat.colorToLAB:(I[D)V
         2: .line 586
            aload 2 /* result */
            iconst_0
            daload
            ldc 4.0
            dcmpl
            iflt 5
         3: .line 587
            aload 2 /* result */
            iconst_0
            dconst_0
            aload 2 /* result */
            iconst_0
            daload
            iload 1 /* amount */
            i2d
            dsub
            invokestatic java.lang.Math.max:(DD)D
            dastore
         4: .line 588
            goto 6
         5: .line 589
      StackMap locals: double[]
      StackMap stack:
            aload 2 /* result */
            iconst_0
            ldc 100.0
            aload 2 /* result */
            iconst_0
            daload
            iload 1 /* amount */
            i2d
            dadd
            invokestatic java.lang.Math.min:(DD)D
            dastore
         6: .line 591
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            iconst_0
            daload
            aload 2 /* result */
            iconst_1
            daload
            aload 2 /* result */
            iconst_2
            daload
            invokestatic com.android.internal.util.NotificationColorUtil$ColorUtilsFromCompat.LABToColor:(DDD)I
            ireturn
        end local 2 // double[] result
        end local 1 // int amount
        end local 0 // int color
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0   color  I
            0    7     1  amount  I
            1    7     2  result  [D
    MethodParameters:
        Name  Flags
      color   
      amount  

  private static boolean shouldUseDark(int);
    descriptor: (I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // int backgroundColor
         0: .line 595
            iload 0 /* backgroundColor */
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 1 /* useDark */
        start local 1 // boolean useDark
         3: .line 596
            iload 1 /* useDark */
            ifne 7
         4: .line 597
            iload 0 /* backgroundColor */
            invokestatic com.android.internal.util.NotificationColorUtil$ColorUtilsFromCompat.calculateLuminance:(I)D
            ldc 0.5
            dcmpl
            ifle 5
            iconst_1
            goto 6
      StackMap locals: int
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 1 /* useDark */
         7: .line 599
      StackMap locals:
      StackMap stack:
            iload 1 /* useDark */
            ireturn
        end local 1 // boolean useDark
        end local 0 // int backgroundColor
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0  backgroundColor  I
            3    8     1          useDark  Z
    MethodParameters:
                 Name  Flags
      backgroundColor  

  public static double calculateLuminance(int);
    descriptor: (I)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int backgroundColor
         0: .line 603
            iload 0 /* backgroundColor */
            invokestatic com.android.internal.util.NotificationColorUtil$ColorUtilsFromCompat.calculateLuminance:(I)D
            dreturn
        end local 0 // int backgroundColor
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0  backgroundColor  I
    MethodParameters:
                 Name  Flags
      backgroundColor  

  public static double calculateContrast(int, int);
    descriptor: (II)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int foregroundColor
        start local 1 // int backgroundColor
         0: .line 608
            iload 0 /* foregroundColor */
            iload 1 /* backgroundColor */
            invokestatic com.android.internal.util.NotificationColorUtil$ColorUtilsFromCompat.calculateContrast:(II)D
            dreturn
        end local 1 // int backgroundColor
        end local 0 // int foregroundColor
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0  foregroundColor  I
            0    1     1  backgroundColor  I
    MethodParameters:
                 Name  Flags
      foregroundColor  
      backgroundColor  

  public static boolean satisfiesTextContrast(int, int);
    descriptor: (II)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // int backgroundColor
        start local 1 // int foregroundColor
         0: .line 612
            iload 1 /* foregroundColor */
            iload 0 /* backgroundColor */
            invokestatic com.android.internal.util.NotificationColorUtil.calculateContrast:(II)D
            ldc 4.5
            dcmpl
            iflt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int foregroundColor
        end local 0 // int backgroundColor
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0  backgroundColor  I
            0    2     1  foregroundColor  I
    MethodParameters:
                 Name  Flags
      backgroundColor  
      foregroundColor  

  public static int compositeColors(int, int);
    descriptor: (II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int foreground
        start local 1 // int background
         0: .line 619
            iload 0 /* foreground */
            iload 1 /* background */
            invokestatic com.android.internal.util.NotificationColorUtil$ColorUtilsFromCompat.compositeColors:(II)I
            ireturn
        end local 1 // int background
        end local 0 // int foreground
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  foreground  I
            0    1     1  background  I
    MethodParameters:
            Name  Flags
      foreground  
      background  

  public static boolean isColorLight(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // int backgroundColor
         0: .line 623
            iload 0 /* backgroundColor */
            invokestatic com.android.internal.util.NotificationColorUtil.calculateLuminance:(I)D
            ldc 0.5
            dcmpl
            ifle 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int backgroundColor
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0  backgroundColor  I
    MethodParameters:
                 Name  Flags
      backgroundColor  
}
SourceFile: "NotificationColorUtil.java"
NestMembers:
  com.android.internal.util.NotificationColorUtil$ColorUtilsFromCompat
InnerClasses:
  public NotFoundException = android.content.res.Resources$NotFoundException of android.content.res.Resources
  private ColorUtilsFromCompat = com.android.internal.util.NotificationColorUtil$ColorUtilsFromCompat of com.android.internal.util.NotificationColorUtil