final class android.widget.SmartSelectSprite$RectangleList extends android.graphics.drawable.shapes.Shape
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: android.widget.SmartSelectSprite$RectangleList
super_class: android.graphics.drawable.shapes.Shape
{
private static final java.lang.String PROPERTY_RIGHT_BOUNDARY;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "rightBoundary"
private static final java.lang.String PROPERTY_LEFT_BOUNDARY;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "leftBoundary"
private final java.util.List<android.widget.SmartSelectSprite$RoundedRectangleShape> mRectangles;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Landroid/widget/SmartSelectSprite$RoundedRectangleShape;>;
private final java.util.List<android.widget.SmartSelectSprite$RoundedRectangleShape> mReversedRectangles;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Landroid/widget/SmartSelectSprite$RoundedRectangleShape;>;
private final android.graphics.Path mOutlinePolygonPath;
descriptor: Landroid/graphics/Path;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int mDisplayType;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private void <init>(java.util.List<android.widget.SmartSelectSprite$RoundedRectangleShape>);
descriptor: (Ljava/util/List;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial android.graphics.drawable.shapes.Shape.<init>:()V
1: aload 0
iconst_0
putfield android.widget.SmartSelectSprite$RectangleList.mDisplayType:I
2: aload 0
new java.util.ArrayList
dup
aload 1
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
putfield android.widget.SmartSelectSprite$RectangleList.mRectangles:Ljava/util/List;
3: aload 0
new java.util.ArrayList
dup
aload 1
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
putfield android.widget.SmartSelectSprite$RectangleList.mReversedRectangles:Ljava/util/List;
4: aload 0
getfield android.widget.SmartSelectSprite$RectangleList.mReversedRectangles:Ljava/util/List;
invokestatic java.util.Collections.reverse:(Ljava/util/List;)V
5: aload 0
aload 1
invokestatic android.widget.SmartSelectSprite$RectangleList.generateOutlinePolygonPath:(Ljava/util/List;)Landroid/graphics/Path;
putfield android.widget.SmartSelectSprite$RectangleList.mOutlinePolygonPath:Landroid/graphics/Path;
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/widget/SmartSelectSprite$RectangleList;
0 7 1 rectangles Ljava/util/List<Landroid/widget/SmartSelectSprite$RoundedRectangleShape;>;
Signature: (Ljava/util/List<Landroid/widget/SmartSelectSprite$RoundedRectangleShape;>;)V
MethodParameters:
Name Flags
rectangles final
private void setLeftBoundary(float);
descriptor: (F)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual android.widget.SmartSelectSprite$RectangleList.getTotalWidth:()I
i2f
fstore 2
start local 2 1: aload 0
getfield android.widget.SmartSelectSprite$RectangleList.mReversedRectangles:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 14
StackMap locals: android.widget.SmartSelectSprite$RectangleList float float top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.widget.SmartSelectSprite$RoundedRectangleShape
astore 3
start local 3 3: fload 2
aload 3
invokevirtual android.widget.SmartSelectSprite$RoundedRectangleShape.getBoundingWidth:()F
fsub
fstore 5
start local 5 4: fload 1
fload 5
fcmpg
ifge 7
5: aload 3
fconst_0
invokevirtual android.widget.SmartSelectSprite$RoundedRectangleShape.setStartBoundary:(F)V
6: goto 13
StackMap locals: android.widget.SmartSelectSprite$RectangleList float float android.widget.SmartSelectSprite$RoundedRectangleShape java.util.Iterator float
StackMap stack:
7: fload 1
fload 2
fcmpl
ifle 10
8: aload 3
aload 3
invokevirtual android.widget.SmartSelectSprite$RoundedRectangleShape.getBoundingWidth:()F
invokevirtual android.widget.SmartSelectSprite$RoundedRectangleShape.setStartBoundary:(F)V
9: goto 13
10: StackMap locals:
StackMap stack:
aload 3
11: aload 3
invokevirtual android.widget.SmartSelectSprite$RoundedRectangleShape.getBoundingWidth:()F
fload 2
fsub
fload 1
fadd
12: invokevirtual android.widget.SmartSelectSprite$RoundedRectangleShape.setStartBoundary:(F)V
13: StackMap locals:
StackMap stack:
fload 5
fstore 2
end local 5 end local 3 14: StackMap locals: android.widget.SmartSelectSprite$RectangleList float float top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
15: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Landroid/widget/SmartSelectSprite$RectangleList;
0 16 1 leftBoundary F
1 16 2 boundarySoFar F
3 14 3 rectangle Landroid/widget/SmartSelectSprite$RoundedRectangleShape;
4 14 5 rectangleLeftBoundary F
MethodParameters:
Name Flags
leftBoundary final
private void setRightBoundary(float);
descriptor: (F)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: fconst_0
fstore 2
start local 2 1: aload 0
getfield android.widget.SmartSelectSprite$RectangleList.mRectangles:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 12
StackMap locals: android.widget.SmartSelectSprite$RectangleList float float top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.widget.SmartSelectSprite$RoundedRectangleShape
astore 3
start local 3 3: aload 3
invokevirtual android.widget.SmartSelectSprite$RoundedRectangleShape.getBoundingWidth:()F
fload 2
fadd
fstore 5
start local 5 4: fload 5
fload 1
fcmpg
ifge 7
5: aload 3
aload 3
invokevirtual android.widget.SmartSelectSprite$RoundedRectangleShape.getBoundingWidth:()F
invokevirtual android.widget.SmartSelectSprite$RoundedRectangleShape.setEndBoundary:(F)V
6: goto 11
StackMap locals: android.widget.SmartSelectSprite$RectangleList float float android.widget.SmartSelectSprite$RoundedRectangleShape java.util.Iterator float
StackMap stack:
7: fload 2
fload 1
fcmpl
ifle 10
8: aload 3
fconst_0
invokevirtual android.widget.SmartSelectSprite$RoundedRectangleShape.setEndBoundary:(F)V
9: goto 11
10: StackMap locals:
StackMap stack:
aload 3
fload 1
fload 2
fsub
invokevirtual android.widget.SmartSelectSprite$RoundedRectangleShape.setEndBoundary:(F)V
11: StackMap locals:
StackMap stack:
fload 5
fstore 2
end local 5 end local 3 12: StackMap locals: android.widget.SmartSelectSprite$RectangleList float float top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
13: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/widget/SmartSelectSprite$RectangleList;
0 14 1 rightBoundary F
1 14 2 boundarySoFar F
3 12 3 rectangle Landroid/widget/SmartSelectSprite$RoundedRectangleShape;
4 12 5 rectangleRightBoundary F
MethodParameters:
Name Flags
rightBoundary final
void setDisplayType(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield android.widget.SmartSelectSprite$RectangleList.mDisplayType:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/widget/SmartSelectSprite$RectangleList;
0 2 1 displayType I
MethodParameters:
Name Flags
displayType
private int getTotalWidth();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
getfield android.widget.SmartSelectSprite$RectangleList.mRectangles:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: android.widget.SmartSelectSprite$RectangleList int top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.widget.SmartSelectSprite$RoundedRectangleShape
astore 2
start local 2 3: iload 1
i2f
aload 2
invokevirtual android.widget.SmartSelectSprite$RoundedRectangleShape.getBoundingWidth:()F
fadd
f2i
istore 1
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/widget/SmartSelectSprite$RectangleList;
1 6 1 sum I
3 4 2 rectangle Landroid/widget/SmartSelectSprite$RoundedRectangleShape;
public void draw(android.graphics.Canvas, android.graphics.Paint);
descriptor: (Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.widget.SmartSelectSprite$RectangleList.mDisplayType:I
iconst_1
if_icmpne 3
1: aload 0
aload 1
aload 2
invokevirtual android.widget.SmartSelectSprite$RectangleList.drawPolygon:(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual android.widget.SmartSelectSprite$RectangleList.drawRectangles:(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/widget/SmartSelectSprite$RectangleList;
0 5 1 canvas Landroid/graphics/Canvas;
0 5 2 paint Landroid/graphics/Paint;
MethodParameters:
Name Flags
canvas
paint
private void drawRectangles(android.graphics.Canvas, android.graphics.Paint);
descriptor: (Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.widget.SmartSelectSprite$RectangleList.mRectangles:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 3
StackMap locals: android.widget.SmartSelectSprite$RectangleList android.graphics.Canvas android.graphics.Paint top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.widget.SmartSelectSprite$RoundedRectangleShape
astore 3
start local 3 2: aload 3
aload 1
aload 2
invokevirtual android.widget.SmartSelectSprite$RoundedRectangleShape.draw:(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
end local 3 3: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/widget/SmartSelectSprite$RectangleList;
0 5 1 canvas Landroid/graphics/Canvas;
0 5 2 paint Landroid/graphics/Paint;
2 3 3 rectangle Landroid/widget/SmartSelectSprite$RoundedRectangleShape;
MethodParameters:
Name Flags
canvas final
paint final
private void drawPolygon(android.graphics.Canvas, android.graphics.Paint);
descriptor: (Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getfield android.widget.SmartSelectSprite$RectangleList.mOutlinePolygonPath:Landroid/graphics/Path;
aload 2
invokevirtual android.graphics.Canvas.drawPath:(Landroid/graphics/Path;Landroid/graphics/Paint;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/widget/SmartSelectSprite$RectangleList;
0 2 1 canvas Landroid/graphics/Canvas;
0 2 2 paint Landroid/graphics/Paint;
MethodParameters:
Name Flags
canvas final
paint final
private static android.graphics.Path generateOutlinePolygonPath(java.util.List<android.widget.SmartSelectSprite$RoundedRectangleShape>);
descriptor: (Ljava/util/List;)Landroid/graphics/Path;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: new android.graphics.Path
dup
invokespecial android.graphics.Path.<init>:()V
astore 1
start local 1 1: aload 0
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 6
StackMap locals: java.util.List android.graphics.Path top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.widget.SmartSelectSprite$RoundedRectangleShape
astore 2
start local 2 3: new android.graphics.Path
dup
invokespecial android.graphics.Path.<init>:()V
astore 4
start local 4 4: aload 4
aload 2
getfield android.widget.SmartSelectSprite$RoundedRectangleShape.mBoundingRectangle:Landroid/graphics/RectF;
getstatic android.graphics.Path$Direction.CW:Landroid/graphics/Path$Direction;
invokevirtual android.graphics.Path.addRect:(Landroid/graphics/RectF;Landroid/graphics/Path$Direction;)V
5: aload 1
aload 4
getstatic android.graphics.Path$Op.UNION:Landroid/graphics/Path$Op;
invokevirtual android.graphics.Path.op:(Landroid/graphics/Path;Landroid/graphics/Path$Op;)Z
pop
end local 4 end local 2 6: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 rectangles Ljava/util/List<Landroid/widget/SmartSelectSprite$RoundedRectangleShape;>;
1 8 1 path Landroid/graphics/Path;
3 6 2 shape Landroid/widget/SmartSelectSprite$RoundedRectangleShape;
4 6 4 rectanglePath Landroid/graphics/Path;
Signature: (Ljava/util/List<Landroid/widget/SmartSelectSprite$RoundedRectangleShape;>;)Landroid/graphics/Path;
MethodParameters:
Name Flags
rectangles final
}
SourceFile: "SmartSelectSprite.java"
NestHost: android.widget.SmartSelectSprite
InnerClasses:
public final Direction = android.graphics.Path$Direction of android.graphics.Path
public final Op = android.graphics.Path$Op of android.graphics.Path
private final RectangleList = android.widget.SmartSelectSprite$RectangleList of android.widget.SmartSelectSprite
private abstract DisplayType = android.widget.SmartSelectSprite$RectangleList$DisplayType of android.widget.SmartSelectSprite$RectangleList
private final RoundedRectangleShape = android.widget.SmartSelectSprite$RoundedRectangleShape of android.widget.SmartSelectSprite