final class android.widget.SmartSelectSprite$RoundedRectangleShape extends android.graphics.drawable.shapes.Shape
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: android.widget.SmartSelectSprite$RoundedRectangleShape
  super_class: android.graphics.drawable.shapes.Shape
{
  private static final java.lang.String PROPERTY_ROUND_RATIO;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "roundRatio"

  private final android.graphics.RectF mBoundingRectangle;
    descriptor: Landroid/graphics/RectF;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private final android.graphics.RectF mDrawRect;
    descriptor: Landroid/graphics/RectF;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.graphics.Path mClipPath;
    descriptor: Landroid/graphics/Path;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private final boolean mInverted;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final float mBoundingWidth;
    descriptor: F
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static int invert(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int expansionDirection
         0: .line 116
            iload 0 /* expansionDirection */
            iconst_m1
            imul
            ireturn
        end local 0 // int expansionDirection
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0  expansionDirection  I
    MethodParameters:
                    Name  Flags
      expansionDirection  

  private void <init>(android.graphics.RectF, int, boolean);
    descriptor: (Landroid/graphics/RectF;IZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // android.widget.SmartSelectSprite$RoundedRectangleShape this
        start local 1 // android.graphics.RectF boundingRectangle
        start local 2 // int expansionDirection
        start local 3 // boolean inverted
         0: .line 136
            aload 0 /* this */
            invokespecial android.graphics.drawable.shapes.Shape.<init>:()V
         1: .line 120
            aload 0 /* this */
            fconst_1
            putfield android.widget.SmartSelectSprite$RoundedRectangleShape.mRoundRatio:F
         2: .line 123
            aload 0 /* this */
            new android.graphics.RectF
            dup
            invokespecial android.graphics.RectF.<init>:()V
            putfield android.widget.SmartSelectSprite$RoundedRectangleShape.mDrawRect:Landroid/graphics/RectF;
         3: .line 124
            aload 0 /* this */
            new android.graphics.Path
            dup
            invokespecial android.graphics.Path.<init>:()V
            putfield android.widget.SmartSelectSprite$RoundedRectangleShape.mClipPath:Landroid/graphics/Path;
         4: .line 127
            aload 0 /* this */
            fconst_0
            putfield android.widget.SmartSelectSprite$RoundedRectangleShape.mLeftBoundary:F
         5: .line 129
            aload 0 /* this */
            fconst_0
            putfield android.widget.SmartSelectSprite$RoundedRectangleShape.mRightBoundary:F
         6: .line 140
            aload 0 /* this */
            new android.graphics.RectF
            dup
            aload 1 /* boundingRectangle */
            invokespecial android.graphics.RectF.<init>:(Landroid/graphics/RectF;)V
            putfield android.widget.SmartSelectSprite$RoundedRectangleShape.mBoundingRectangle:Landroid/graphics/RectF;
         7: .line 141
            aload 0 /* this */
            aload 1 /* boundingRectangle */
            invokevirtual android.graphics.RectF.width:()F
            putfield android.widget.SmartSelectSprite$RoundedRectangleShape.mBoundingWidth:F
         8: .line 142
            aload 0 /* this */
            iload 3 /* inverted */
            ifeq 9
            iload 2 /* expansionDirection */
            ifeq 9
            iconst_1
            goto 10
      StackMap locals: android.widget.SmartSelectSprite$RoundedRectangleShape android.graphics.RectF int int
      StackMap stack: android.widget.SmartSelectSprite$RoundedRectangleShape
         9: iconst_0
      StackMap locals: android.widget.SmartSelectSprite$RoundedRectangleShape android.graphics.RectF int int
      StackMap stack: android.widget.SmartSelectSprite$RoundedRectangleShape int
        10: putfield android.widget.SmartSelectSprite$RoundedRectangleShape.mInverted:Z
        11: .line 144
            iload 3 /* inverted */
            ifeq 14
        12: .line 145
            aload 0 /* this */
            iload 2 /* expansionDirection */
            invokestatic android.widget.SmartSelectSprite$RoundedRectangleShape.invert:(I)I
            putfield android.widget.SmartSelectSprite$RoundedRectangleShape.mExpansionDirection:I
        13: .line 146
            goto 15
        14: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* expansionDirection */
            putfield android.widget.SmartSelectSprite$RoundedRectangleShape.mExpansionDirection:I
        15: .line 150
      StackMap locals:
      StackMap stack:
            aload 1 /* boundingRectangle */
            invokevirtual android.graphics.RectF.height:()F
            aload 1 /* boundingRectangle */
            invokevirtual android.graphics.RectF.width:()F
            fcmpl
            ifle 18
        16: .line 151
            aload 0 /* this */
            fconst_0
            invokevirtual android.widget.SmartSelectSprite$RoundedRectangleShape.setRoundRatio:(F)V
        17: .line 152
            goto 19
        18: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            fconst_1
            invokevirtual android.widget.SmartSelectSprite$RoundedRectangleShape.setRoundRatio:(F)V
        19: .line 155
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean inverted
        end local 2 // int expansionDirection
        end local 1 // android.graphics.RectF boundingRectangle
        end local 0 // android.widget.SmartSelectSprite$RoundedRectangleShape this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   20     0                this  Landroid/widget/SmartSelectSprite$RoundedRectangleShape;
            0   20     1   boundingRectangle  Landroid/graphics/RectF;
            0   20     2  expansionDirection  I
            0   20     3            inverted  Z
    MethodParameters:
                    Name  Flags
      boundingRectangle   final
      expansionDirection  final
      inverted            final

  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.widget.SmartSelectSprite$RoundedRectangleShape this
        start local 1 // android.graphics.Canvas canvas
        start local 2 // android.graphics.Paint paint
         0: .line 163
            aload 0 /* this */
            getfield android.widget.SmartSelectSprite$RoundedRectangleShape.mLeftBoundary:F
            aload 0 /* this */
            getfield android.widget.SmartSelectSprite$RoundedRectangleShape.mRightBoundary:F
            fcmpl
            ifne 2
         1: .line 164
            return
         2: .line 167
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.SmartSelectSprite$RoundedRectangleShape.getCornerRadius:()F
            fstore 3 /* cornerRadius */
        start local 3 // float cornerRadius
         3: .line 168
            aload 0 /* this */
            invokevirtual android.widget.SmartSelectSprite$RoundedRectangleShape.getAdjustedCornerRadius:()F
            fstore 4 /* adjustedCornerRadius */
        start local 4 // float adjustedCornerRadius
         4: .line 170
            aload 0 /* this */
            getfield android.widget.SmartSelectSprite$RoundedRectangleShape.mDrawRect:Landroid/graphics/RectF;
            aload 0 /* this */
            getfield android.widget.SmartSelectSprite$RoundedRectangleShape.mBoundingRectangle:Landroid/graphics/RectF;
            invokevirtual android.graphics.RectF.set:(Landroid/graphics/RectF;)V
         5: .line 171
            aload 0 /* this */
            getfield android.widget.SmartSelectSprite$RoundedRectangleShape.mDrawRect:Landroid/graphics/RectF;
            aload 0 /* this */
            getfield android.widget.SmartSelectSprite$RoundedRectangleShape.mBoundingRectangle:Landroid/graphics/RectF;
            getfield android.graphics.RectF.left:F
            aload 0 /* this */
            getfield android.widget.SmartSelectSprite$RoundedRectangleShape.mLeftBoundary:F
            fadd
            fload 3 /* cornerRadius */
            fconst_2
            fdiv
            fsub
            putfield android.graphics.RectF.left:F
         6: .line 172
            aload 0 /* this */
            getfield android.widget.SmartSelectSprite$RoundedRectangleShape.mDrawRect:Landroid/graphics/RectF;
            aload 0 /* this */
            getfield android.widget.SmartSelectSprite$RoundedRectangleShape.mBoundingRectangle:Landroid/graphics/RectF;
            getfield android.graphics.RectF.left:F
            aload 0 /* this */
            getfield android.widget.SmartSelectSprite$RoundedRectangleShape.mRightBoundary:F
            fadd
            fload 3 /* cornerRadius */
            fconst_2
            fdiv
            fadd
            putfield android.graphics.RectF.right:F
         7: .line 174
            aload 1 /* canvas */
            invokevirtual android.graphics.Canvas.save:()I
            pop
         8: .line 175
            aload 0 /* this */
            getfield android.widget.SmartSelectSprite$RoundedRectangleShape.mClipPath:Landroid/graphics/Path;
            invokevirtual android.graphics.Path.reset:()V
         9: .line 176
            aload 0 /* this */
            getfield android.widget.SmartSelectSprite$RoundedRectangleShape.mClipPath:Landroid/graphics/Path;
        10: .line 177
            aload 0 /* this */
            getfield android.widget.SmartSelectSprite$RoundedRectangleShape.mDrawRect:Landroid/graphics/RectF;
        11: .line 178
            fload 4 /* adjustedCornerRadius */
        12: .line 179
            fload 4 /* adjustedCornerRadius */
        13: .line 180
            getstatic android.graphics.Path$Direction.CW:Landroid/graphics/Path$Direction;
        14: .line 176
            invokevirtual android.graphics.Path.addRoundRect:(Landroid/graphics/RectF;FFLandroid/graphics/Path$Direction;)V
        15: .line 181
            aload 1 /* canvas */
            aload 0 /* this */
            getfield android.widget.SmartSelectSprite$RoundedRectangleShape.mClipPath:Landroid/graphics/Path;
            invokevirtual android.graphics.Canvas.clipPath:(Landroid/graphics/Path;)Z
            pop
        16: .line 182
            aload 1 /* canvas */
            aload 0 /* this */
            getfield android.widget.SmartSelectSprite$RoundedRectangleShape.mBoundingRectangle:Landroid/graphics/RectF;
            aload 2 /* paint */
            invokevirtual android.graphics.Canvas.drawRect:(Landroid/graphics/RectF;Landroid/graphics/Paint;)V
        17: .line 183
            aload 1 /* canvas */
            invokevirtual android.graphics.Canvas.restore:()V
        18: .line 184
            return
        end local 4 // float adjustedCornerRadius
        end local 3 // float cornerRadius
        end local 2 // android.graphics.Paint paint
        end local 1 // android.graphics.Canvas canvas
        end local 0 // android.widget.SmartSelectSprite$RoundedRectangleShape this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   19     0                  this  Landroid/widget/SmartSelectSprite$RoundedRectangleShape;
            0   19     1                canvas  Landroid/graphics/Canvas;
            0   19     2                 paint  Landroid/graphics/Paint;
            3   19     3          cornerRadius  F
            4   19     4  adjustedCornerRadius  F
    MethodParameters:
        Name  Flags
      canvas  
      paint   

  void setRoundRatio(float);
    descriptor: (F)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.SmartSelectSprite$RoundedRectangleShape this
        start local 1 // float roundRatio
         0: .line 187
            aload 0 /* this */
            fload 1 /* roundRatio */
            putfield android.widget.SmartSelectSprite$RoundedRectangleShape.mRoundRatio:F
         1: .line 188
            return
        end local 1 // float roundRatio
        end local 0 // android.widget.SmartSelectSprite$RoundedRectangleShape this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Landroid/widget/SmartSelectSprite$RoundedRectangleShape;
            0    2     1  roundRatio  F
    MethodParameters:
            Name  Flags
      roundRatio  final

  float getRoundRatio();
    descriptor: ()F
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.SmartSelectSprite$RoundedRectangleShape this
         0: .line 191
            aload 0 /* this */
            getfield android.widget.SmartSelectSprite$RoundedRectangleShape.mRoundRatio:F
            freturn
        end local 0 // android.widget.SmartSelectSprite$RoundedRectangleShape this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/SmartSelectSprite$RoundedRectangleShape;

  private void setStartBoundary(float);
    descriptor: (F)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.widget.SmartSelectSprite$RoundedRectangleShape this
        start local 1 // float startBoundary
         0: .line 195
            aload 0 /* this */
            getfield android.widget.SmartSelectSprite$RoundedRectangleShape.mInverted:Z
            ifeq 3
         1: .line 196
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.SmartSelectSprite$RoundedRectangleShape.mBoundingWidth:F
            fload 1 /* startBoundary */
            fsub
            putfield android.widget.SmartSelectSprite$RoundedRectangleShape.mRightBoundary:F
         2: .line 197
            goto 4
         3: .line 198
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            fload 1 /* startBoundary */
            putfield android.widget.SmartSelectSprite$RoundedRectangleShape.mLeftBoundary:F
         4: .line 200
      StackMap locals:
      StackMap stack:
            return
        end local 1 // float startBoundary
        end local 0 // android.widget.SmartSelectSprite$RoundedRectangleShape this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Landroid/widget/SmartSelectSprite$RoundedRectangleShape;
            0    5     1  startBoundary  F
    MethodParameters:
               Name  Flags
      startBoundary  final

  private void setEndBoundary(float);
    descriptor: (F)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.widget.SmartSelectSprite$RoundedRectangleShape this
        start local 1 // float endBoundary
         0: .line 203
            aload 0 /* this */
            getfield android.widget.SmartSelectSprite$RoundedRectangleShape.mInverted:Z
            ifeq 3
         1: .line 204
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.SmartSelectSprite$RoundedRectangleShape.mBoundingWidth:F
            fload 1 /* endBoundary */
            fsub
            putfield android.widget.SmartSelectSprite$RoundedRectangleShape.mLeftBoundary:F
         2: .line 205
            goto 4
         3: .line 206
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            fload 1 /* endBoundary */
            putfield android.widget.SmartSelectSprite$RoundedRectangleShape.mRightBoundary:F
         4: .line 208
      StackMap locals:
      StackMap stack:
            return
        end local 1 // float endBoundary
        end local 0 // android.widget.SmartSelectSprite$RoundedRectangleShape this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Landroid/widget/SmartSelectSprite$RoundedRectangleShape;
            0    5     1  endBoundary  F
    MethodParameters:
             Name  Flags
      endBoundary  final

  private float getCornerRadius();
    descriptor: ()F
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.widget.SmartSelectSprite$RoundedRectangleShape this
         0: .line 211
            aload 0 /* this */
            getfield android.widget.SmartSelectSprite$RoundedRectangleShape.mBoundingRectangle:Landroid/graphics/RectF;
            invokevirtual android.graphics.RectF.width:()F
            aload 0 /* this */
            getfield android.widget.SmartSelectSprite$RoundedRectangleShape.mBoundingRectangle:Landroid/graphics/RectF;
            invokevirtual android.graphics.RectF.height:()F
            invokestatic java.lang.Math.min:(FF)F
            freturn
        end local 0 // android.widget.SmartSelectSprite$RoundedRectangleShape this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/SmartSelectSprite$RoundedRectangleShape;

  private float getAdjustedCornerRadius();
    descriptor: ()F
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.widget.SmartSelectSprite$RoundedRectangleShape this
         0: .line 215
            aload 0 /* this */
            invokevirtual android.widget.SmartSelectSprite$RoundedRectangleShape.getCornerRadius:()F
            aload 0 /* this */
            getfield android.widget.SmartSelectSprite$RoundedRectangleShape.mRoundRatio:F
            fmul
            freturn
        end local 0 // android.widget.SmartSelectSprite$RoundedRectangleShape this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/SmartSelectSprite$RoundedRectangleShape;

  private float getBoundingWidth();
    descriptor: ()F
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.widget.SmartSelectSprite$RoundedRectangleShape this
         0: .line 219
            aload 0 /* this */
            getfield android.widget.SmartSelectSprite$RoundedRectangleShape.mBoundingRectangle:Landroid/graphics/RectF;
            invokevirtual android.graphics.RectF.width:()F
            aload 0 /* this */
            invokevirtual android.widget.SmartSelectSprite$RoundedRectangleShape.getCornerRadius:()F
            fadd
            f2i
            i2f
            freturn
        end local 0 // android.widget.SmartSelectSprite$RoundedRectangleShape this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/SmartSelectSprite$RoundedRectangleShape;
}
SourceFile: "SmartSelectSprite.java"
NestHost: android.widget.SmartSelectSprite
InnerClasses:
  public final Direction = android.graphics.Path$Direction of android.graphics.Path
  private final RoundedRectangleShape = android.widget.SmartSelectSprite$RoundedRectangleShape of android.widget.SmartSelectSprite
  private abstract ExpansionDirection = android.widget.SmartSelectSprite$RoundedRectangleShape$ExpansionDirection of android.widget.SmartSelectSprite$RoundedRectangleShape