class android.graphics.drawable.RippleBackground extends android.graphics.drawable.RippleComponent
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: android.graphics.drawable.RippleBackground
  super_class: android.graphics.drawable.RippleComponent
{
  private static final android.animation.TimeInterpolator LINEAR_INTERPOLATOR;
    descriptor: Landroid/animation/TimeInterpolator;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  private android.animation.ObjectAnimator mAnimator;
    descriptor: Landroid/animation/ObjectAnimator;
    flags: (0x0002) ACC_PRIVATE

  private float mOpacity;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private boolean mIsBounded;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean mFocused;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean mHovered;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private static final android.graphics.drawable.RippleBackground$BackgroundProperty OPACITY;
    descriptor: Landroid/graphics/drawable/RippleBackground$BackgroundProperty;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 32
            new android.view.animation.LinearInterpolator
            dup
            invokespecial android.view.animation.LinearInterpolator.<init>:()V
            putstatic android.graphics.drawable.RippleBackground.LINEAR_INTERPOLATOR:Landroid/animation/TimeInterpolator;
         1: .line 108
            new android.graphics.drawable.RippleBackground$1
            dup
            ldc "opacity"
            invokespecial android.graphics.drawable.RippleBackground$1.<init>:(Ljava/lang/String;)V
            putstatic android.graphics.drawable.RippleBackground.OPACITY:Landroid/graphics/drawable/RippleBackground$BackgroundProperty;
         2: .line 119
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(android.graphics.drawable.RippleDrawable, android.graphics.Rect, boolean);
    descriptor: (Landroid/graphics/drawable/RippleDrawable;Landroid/graphics/Rect;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // android.graphics.drawable.RippleBackground this
        start local 1 // android.graphics.drawable.RippleDrawable owner
        start local 2 // android.graphics.Rect bounds
        start local 3 // boolean isBounded
         0: .line 47
            aload 0 /* this */
            aload 1 /* owner */
            aload 2 /* bounds */
            invokespecial android.graphics.drawable.RippleComponent.<init>:(Landroid/graphics/drawable/RippleDrawable;Landroid/graphics/Rect;)V
         1: .line 38
            aload 0 /* this */
            fconst_0
            putfield android.graphics.drawable.RippleBackground.mOpacity:F
         2: .line 43
            aload 0 /* this */
            iconst_0
            putfield android.graphics.drawable.RippleBackground.mFocused:Z
         3: .line 44
            aload 0 /* this */
            iconst_0
            putfield android.graphics.drawable.RippleBackground.mHovered:Z
         4: .line 49
            aload 0 /* this */
            iload 3 /* isBounded */
            putfield android.graphics.drawable.RippleBackground.mIsBounded:Z
         5: .line 50
            return
        end local 3 // boolean isBounded
        end local 2 // android.graphics.Rect bounds
        end local 1 // android.graphics.drawable.RippleDrawable owner
        end local 0 // android.graphics.drawable.RippleBackground this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Landroid/graphics/drawable/RippleBackground;
            0    6     1      owner  Landroid/graphics/drawable/RippleDrawable;
            0    6     2     bounds  Landroid/graphics/Rect;
            0    6     3  isBounded  Z
    MethodParameters:
           Name  Flags
      owner      
      bounds     
      isBounded  

  public boolean isVisible();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.graphics.drawable.RippleBackground this
         0: .line 53
            aload 0 /* this */
            getfield android.graphics.drawable.RippleBackground.mOpacity:F
            fconst_0
            fcmpl
            ifle 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.graphics.drawable.RippleBackground this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/graphics/drawable/RippleBackground;

  public void draw(android.graphics.Canvas, android.graphics.Paint);
    descriptor: (Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // android.graphics.drawable.RippleBackground this
        start local 1 // android.graphics.Canvas c
        start local 2 // android.graphics.Paint p
         0: .line 57
            aload 2 /* p */
            invokevirtual android.graphics.Paint.getAlpha:()I
            istore 3 /* origAlpha */
        start local 3 // int origAlpha
         1: .line 58
            iload 3 /* origAlpha */
            i2f
            aload 0 /* this */
            getfield android.graphics.drawable.RippleBackground.mOpacity:F
            fmul
            ldc 0.5
            fadd
            f2i
            sipush 255
            invokestatic java.lang.Math.min:(II)I
            istore 4 /* alpha */
        start local 4 // int alpha
         2: .line 59
            iload 4 /* alpha */
            ifle 6
         3: .line 60
            aload 2 /* p */
            iload 4 /* alpha */
            invokevirtual android.graphics.Paint.setAlpha:(I)V
         4: .line 61
            aload 1 /* c */
            fconst_0
            fconst_0
            aload 0 /* this */
            getfield android.graphics.drawable.RippleBackground.mTargetRadius:F
            aload 2 /* p */
            invokevirtual android.graphics.Canvas.drawCircle:(FFFLandroid/graphics/Paint;)V
         5: .line 62
            aload 2 /* p */
            iload 3 /* origAlpha */
            invokevirtual android.graphics.Paint.setAlpha:(I)V
         6: .line 64
      StackMap locals: int int
      StackMap stack:
            return
        end local 4 // int alpha
        end local 3 // int origAlpha
        end local 2 // android.graphics.Paint p
        end local 1 // android.graphics.Canvas c
        end local 0 // android.graphics.drawable.RippleBackground this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Landroid/graphics/drawable/RippleBackground;
            0    7     1          c  Landroid/graphics/Canvas;
            0    7     2          p  Landroid/graphics/Paint;
            1    7     3  origAlpha  I
            2    7     4      alpha  I
    MethodParameters:
      Name  Flags
      c     
      p     

  public void setState(boolean, boolean, boolean);
    descriptor: (ZZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // android.graphics.drawable.RippleBackground this
        start local 1 // boolean focused
        start local 2 // boolean hovered
        start local 3 // boolean pressed
         0: .line 67
            aload 0 /* this */
            getfield android.graphics.drawable.RippleBackground.mFocused:Z
            ifne 4
         1: .line 68
            iload 1 /* focused */
            ifeq 2
            iload 3 /* pressed */
            ifne 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 1 /* focused */
         4: .line 70
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.graphics.drawable.RippleBackground.mHovered:Z
            ifne 8
         5: .line 71
            iload 2 /* hovered */
            ifeq 6
            iload 3 /* pressed */
            ifne 6
            iconst_1
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 2 /* hovered */
         8: .line 73
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.graphics.drawable.RippleBackground.mHovered:Z
            iload 2 /* hovered */
            if_icmpne 9
            aload 0 /* this */
            getfield android.graphics.drawable.RippleBackground.mFocused:Z
            iload 1 /* focused */
            if_icmpeq 12
         9: .line 74
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* hovered */
            putfield android.graphics.drawable.RippleBackground.mHovered:Z
        10: .line 75
            aload 0 /* this */
            iload 1 /* focused */
            putfield android.graphics.drawable.RippleBackground.mFocused:Z
        11: .line 76
            aload 0 /* this */
            invokevirtual android.graphics.drawable.RippleBackground.onStateChanged:()V
        12: .line 78
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean pressed
        end local 2 // boolean hovered
        end local 1 // boolean focused
        end local 0 // android.graphics.drawable.RippleBackground this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Landroid/graphics/drawable/RippleBackground;
            0   13     1  focused  Z
            0   13     2  hovered  Z
            0   13     3  pressed  Z
    MethodParameters:
         Name  Flags
      focused  
      hovered  
      pressed  

  private void onStateChanged();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // android.graphics.drawable.RippleBackground this
         0: .line 84
            aload 0 /* this */
            getfield android.graphics.drawable.RippleBackground.mFocused:Z
            ifeq 1
            ldc 0.6
            goto 3
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield android.graphics.drawable.RippleBackground.mHovered:Z
            ifeq 2
            ldc 0.2
            goto 3
      StackMap locals:
      StackMap stack:
         2: fconst_0
      StackMap locals:
      StackMap stack: float
         3: fstore 1 /* newOpacity */
        start local 1 // float newOpacity
         4: .line 85
            aload 0 /* this */
            getfield android.graphics.drawable.RippleBackground.mAnimator:Landroid/animation/ObjectAnimator;
            ifnull 7
         5: .line 86
            aload 0 /* this */
            getfield android.graphics.drawable.RippleBackground.mAnimator:Landroid/animation/ObjectAnimator;
            invokevirtual android.animation.ObjectAnimator.cancel:()V
         6: .line 87
            aload 0 /* this */
            aconst_null
            putfield android.graphics.drawable.RippleBackground.mAnimator:Landroid/animation/ObjectAnimator;
         7: .line 89
      StackMap locals: float
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getstatic android.graphics.drawable.RippleBackground.OPACITY:Landroid/graphics/drawable/RippleBackground$BackgroundProperty;
            iconst_1
            newarray 6
            dup
            iconst_0
            fload 1 /* newOpacity */
            fastore
            invokestatic android.animation.ObjectAnimator.ofFloat:(Ljava/lang/Object;Landroid/util/Property;[F)Landroid/animation/ObjectAnimator;
            putfield android.graphics.drawable.RippleBackground.mAnimator:Landroid/animation/ObjectAnimator;
         8: .line 90
            aload 0 /* this */
            getfield android.graphics.drawable.RippleBackground.mAnimator:Landroid/animation/ObjectAnimator;
            ldc 80
            invokevirtual android.animation.ObjectAnimator.setDuration:(J)Landroid/animation/ObjectAnimator;
            pop
         9: .line 91
            aload 0 /* this */
            getfield android.graphics.drawable.RippleBackground.mAnimator:Landroid/animation/ObjectAnimator;
            getstatic android.graphics.drawable.RippleBackground.LINEAR_INTERPOLATOR:Landroid/animation/TimeInterpolator;
            invokevirtual android.animation.ObjectAnimator.setInterpolator:(Landroid/animation/TimeInterpolator;)V
        10: .line 92
            aload 0 /* this */
            getfield android.graphics.drawable.RippleBackground.mAnimator:Landroid/animation/ObjectAnimator;
            invokevirtual android.animation.ObjectAnimator.start:()V
        11: .line 93
            return
        end local 1 // float newOpacity
        end local 0 // android.graphics.drawable.RippleBackground this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Landroid/graphics/drawable/RippleBackground;
            4   12     1  newOpacity  F

  public void jumpToFinal();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.graphics.drawable.RippleBackground this
         0: .line 96
            aload 0 /* this */
            getfield android.graphics.drawable.RippleBackground.mAnimator:Landroid/animation/ObjectAnimator;
            ifnull 3
         1: .line 97
            aload 0 /* this */
            getfield android.graphics.drawable.RippleBackground.mAnimator:Landroid/animation/ObjectAnimator;
            invokevirtual android.animation.ObjectAnimator.end:()V
         2: .line 98
            aload 0 /* this */
            aconst_null
            putfield android.graphics.drawable.RippleBackground.mAnimator:Landroid/animation/ObjectAnimator;
         3: .line 100
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.graphics.drawable.RippleBackground this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/graphics/drawable/RippleBackground;
}
SourceFile: "RippleBackground.java"
NestMembers:
  android.graphics.drawable.RippleBackground$1  android.graphics.drawable.RippleBackground$BackgroundProperty
InnerClasses:
  android.graphics.drawable.RippleBackground$1
  private abstract BackgroundProperty = android.graphics.drawable.RippleBackground$BackgroundProperty of android.graphics.drawable.RippleBackground