final class android.widget.SmartSelectSprite
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: android.widget.SmartSelectSprite
super_class: java.lang.Object
{
private static final int EXPAND_DURATION;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 300
private static final int CORNER_DURATION;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 50
private final android.view.animation.Interpolator mExpandInterpolator;
descriptor: Landroid/view/animation/Interpolator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.view.animation.Interpolator mCornerInterpolator;
descriptor: Landroid/view/animation/Interpolator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private android.animation.Animator mActiveAnimator;
descriptor: Landroid/animation/Animator;
flags: (0x0002) ACC_PRIVATE
private final java.lang.Runnable mInvalidator;
descriptor: Ljava/lang/Runnable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int mFillColor;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final java.util.Comparator<android.graphics.RectF> RECTANGLE_COMPARATOR;
descriptor: Ljava/util/Comparator;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Comparator<Landroid/graphics/RectF;>;
private android.graphics.drawable.Drawable mExistingDrawable;
descriptor: Landroid/graphics/drawable/Drawable;
flags: (0x0002) ACC_PRIVATE
private android.widget.SmartSelectSprite$RectangleList mExistingRectangleList;
descriptor: Landroid/widget/SmartSelectSprite$RectangleList;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: invokedynamic applyAsDouble()Ljava/util/function/ToDoubleFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)D
android/widget/SmartSelectSprite.lambda$0(Landroid/graphics/RectF;)D (6)
(Landroid/graphics/RectF;)D
invokestatic java.util.Comparator.comparingDouble:(Ljava/util/function/ToDoubleFunction;)Ljava/util/Comparator;
1: invokedynamic applyAsDouble()Ljava/util/function/ToDoubleFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)D
android/widget/SmartSelectSprite.lambda$1(Landroid/graphics/RectF;)D (6)
(Landroid/graphics/RectF;)D
invokeinterface java.util.Comparator.thenComparingDouble:(Ljava/util/function/ToDoubleFunction;)Ljava/util/Comparator;
2: putstatic android.widget.SmartSelectSprite.RECTANGLE_COMPARATOR:Ljava/util/Comparator;
3: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(android.content.Context, int, java.lang.Runnable);
descriptor: (Landroid/content/Context;ILjava/lang/Runnable;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tandroid.R.interpolator cannot be resolved to a type\n\tandroid.R.interpolator cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/SmartSelectSprite;
MethodParameters:
Name Flags
context final
highlightColor
invalidator final
public void startAnimation(android.graphics.PointF, java.util.List<android.widget.SmartSelectSprite$RectangleWithTextSelectionLayout>, java.lang.Runnable);
descriptor: (Landroid/graphics/PointF;Ljava/util/List;Ljava/lang/Runnable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=15, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual android.widget.SmartSelectSprite.cancelAnimation:()V
1: aload 0
invokedynamic onAnimationUpdate(Landroid/widget/SmartSelectSprite;)Landroid/animation/ValueAnimator$AnimatorUpdateListener;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Landroid/animation/ValueAnimator;)V
android/widget/SmartSelectSprite.lambda$2(Landroid/animation/ValueAnimator;)V (7)
(Landroid/animation/ValueAnimator;)V
2: astore 4
start local 4 3: aload 2
invokeinterface java.util.List.size:()I
istore 5
start local 5 4: new java.util.ArrayList
dup
iload 5
invokespecial java.util.ArrayList.<init>:(I)V
astore 6
start local 6 5: new java.util.ArrayList
dup
iload 5
invokespecial java.util.ArrayList.<init>:(I)V
astore 7
start local 7 6: aconst_null
astore 8
start local 8 7: iconst_0
istore 9
start local 9 8: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 11
goto 15
StackMap locals: android.widget.SmartSelectSprite android.graphics.PointF java.util.List java.lang.Runnable android.animation.ValueAnimator$AnimatorUpdateListener int java.util.List java.util.List android.widget.SmartSelectSprite$RectangleWithTextSelectionLayout int top java.util.Iterator
StackMap stack:
9: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.widget.SmartSelectSprite$RectangleWithTextSelectionLayout
astore 10
start local 10 10: aload 10
invokevirtual android.widget.SmartSelectSprite$RectangleWithTextSelectionLayout.getRectangle:()Landroid/graphics/RectF;
astore 12
start local 12 11: aload 12
aload 1
invokestatic android.widget.SmartSelectSprite.contains:(Landroid/graphics/RectF;Landroid/graphics/PointF;)Z
ifeq 14
12: aload 10
astore 8
13: goto 16
14: StackMap locals: android.widget.SmartSelectSprite android.graphics.PointF java.util.List java.lang.Runnable android.animation.ValueAnimator$AnimatorUpdateListener int java.util.List java.util.List android.widget.SmartSelectSprite$RectangleWithTextSelectionLayout int android.widget.SmartSelectSprite$RectangleWithTextSelectionLayout java.util.Iterator android.graphics.RectF
StackMap stack:
iload 9
i2f
aload 12
invokevirtual android.graphics.RectF.width:()F
fadd
f2i
istore 9
end local 12 end local 10 15: StackMap locals: android.widget.SmartSelectSprite android.graphics.PointF java.util.List java.lang.Runnable android.animation.ValueAnimator$AnimatorUpdateListener int java.util.List java.util.List android.widget.SmartSelectSprite$RectangleWithTextSelectionLayout int top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
16: StackMap locals: android.widget.SmartSelectSprite android.graphics.PointF java.util.List java.lang.Runnable android.animation.ValueAnimator$AnimatorUpdateListener int java.util.List java.util.List android.widget.SmartSelectSprite$RectangleWithTextSelectionLayout int
StackMap stack:
aload 8
ifnonnull 18
17: new java.lang.IllegalArgumentException
dup
ldc "Center point is not inside any of the rectangles!"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack:
iload 9
i2f
aload 1
getfield android.graphics.PointF.x:F
aload 8
invokevirtual android.widget.SmartSelectSprite$RectangleWithTextSelectionLayout.getRectangle:()Landroid/graphics/RectF;
getfield android.graphics.RectF.left:F
fsub
fadd
f2i
istore 9
19: aload 8
aload 2
invokestatic android.widget.SmartSelectSprite.generateDirections:(Landroid/widget/SmartSelectSprite$RectangleWithTextSelectionLayout;Ljava/util/List;)[I
20: astore 10
start local 10 21: iconst_0
istore 11
start local 11 22: goto 35
23: StackMap locals: int[] int
StackMap stack:
aload 2
iload 11
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast android.widget.SmartSelectSprite$RectangleWithTextSelectionLayout
24: astore 12
start local 12 25: aload 12
invokevirtual android.widget.SmartSelectSprite$RectangleWithTextSelectionLayout.getRectangle:()Landroid/graphics/RectF;
astore 13
start local 13 26: new android.widget.SmartSelectSprite$RoundedRectangleShape
dup
27: aload 13
28: aload 10
iload 11
iaload
29: aload 12
invokevirtual android.widget.SmartSelectSprite$RectangleWithTextSelectionLayout.getTextSelectionLayout:()I
ifne 30
iconst_1
goto 31
StackMap locals: android.widget.SmartSelectSprite android.graphics.PointF java.util.List java.lang.Runnable android.animation.ValueAnimator$AnimatorUpdateListener int java.util.List java.util.List android.widget.SmartSelectSprite$RectangleWithTextSelectionLayout int int[] int android.widget.SmartSelectSprite$RectangleWithTextSelectionLayout android.graphics.RectF
StackMap stack: new 26 new 26 android.graphics.RectF int
30: iconst_0
31: StackMap locals: android.widget.SmartSelectSprite android.graphics.PointF java.util.List java.lang.Runnable android.animation.ValueAnimator$AnimatorUpdateListener int java.util.List java.util.List android.widget.SmartSelectSprite$RectangleWithTextSelectionLayout int int[] int android.widget.SmartSelectSprite$RectangleWithTextSelectionLayout android.graphics.RectF
StackMap stack: new 26 new 26 android.graphics.RectF int int
invokespecial android.widget.SmartSelectSprite$RoundedRectangleShape.<init>:(Landroid/graphics/RectF;IZ)V
astore 14
start local 14 32: aload 7
aload 0
aload 14
aload 4
invokevirtual android.widget.SmartSelectSprite.createCornerAnimator:(Landroid/widget/SmartSelectSprite$RoundedRectangleShape;Landroid/animation/ValueAnimator$AnimatorUpdateListener;)Landroid/animation/ObjectAnimator;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
33: aload 6
aload 14
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 14 end local 13 end local 12 34: iinc 11 1
StackMap locals:
StackMap stack:
35: iload 11
iload 5
if_icmplt 23
end local 11 36: new android.widget.SmartSelectSprite$RectangleList
dup
aload 6
invokespecial android.widget.SmartSelectSprite$RectangleList.<init>:(Ljava/util/List;)V
astore 11
start local 11 37: new android.graphics.drawable.ShapeDrawable
dup
aload 11
invokespecial android.graphics.drawable.ShapeDrawable.<init>:(Landroid/graphics/drawable/shapes/Shape;)V
astore 12
start local 12 38: aload 12
invokevirtual android.graphics.drawable.ShapeDrawable.getPaint:()Landroid/graphics/Paint;
astore 13
start local 13 39: aload 13
aload 0
getfield android.widget.SmartSelectSprite.mFillColor:I
invokevirtual android.graphics.Paint.setColor:(I)V
40: aload 13
getstatic android.graphics.Paint$Style.FILL:Landroid/graphics/Paint$Style;
invokevirtual android.graphics.Paint.setStyle:(Landroid/graphics/Paint$Style;)V
41: aload 0
aload 11
putfield android.widget.SmartSelectSprite.mExistingRectangleList:Landroid/widget/SmartSelectSprite$RectangleList;
42: aload 0
aload 12
putfield android.widget.SmartSelectSprite.mExistingDrawable:Landroid/graphics/drawable/Drawable;
43: aload 0
aload 0
aload 11
iload 9
i2f
iload 9
i2f
44: aload 7
aload 4
aload 3
45: invokevirtual android.widget.SmartSelectSprite.createAnimator:(Landroid/widget/SmartSelectSprite$RectangleList;FFLjava/util/List;Landroid/animation/ValueAnimator$AnimatorUpdateListener;Ljava/lang/Runnable;)Landroid/animation/Animator;
putfield android.widget.SmartSelectSprite.mActiveAnimator:Landroid/animation/Animator;
46: aload 0
getfield android.widget.SmartSelectSprite.mActiveAnimator:Landroid/animation/Animator;
invokevirtual android.animation.Animator.start:()V
47: return
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 48 0 this Landroid/widget/SmartSelectSprite;
0 48 1 start Landroid/graphics/PointF;
0 48 2 destinationRectangles Ljava/util/List<Landroid/widget/SmartSelectSprite$RectangleWithTextSelectionLayout;>;
0 48 3 onAnimationEnd Ljava/lang/Runnable;
3 48 4 updateListener Landroid/animation/ValueAnimator$AnimatorUpdateListener;
4 48 5 rectangleCount I
5 48 6 shapes Ljava/util/List<Landroid/widget/SmartSelectSprite$RoundedRectangleShape;>;
6 48 7 cornerAnimators Ljava/util/List<Landroid/animation/Animator;>;
7 48 8 centerRectangle Landroid/widget/SmartSelectSprite$RectangleWithTextSelectionLayout;
8 48 9 startingOffset I
10 15 10 rectangleWithTextSelectionLayout Landroid/widget/SmartSelectSprite$RectangleWithTextSelectionLayout;
11 15 12 rectangle Landroid/graphics/RectF;
21 48 10 expansionDirections [I
22 36 11 index I
25 34 12 rectangleWithTextSelectionLayout Landroid/widget/SmartSelectSprite$RectangleWithTextSelectionLayout;
26 34 13 rectangle Landroid/graphics/RectF;
32 34 14 shape Landroid/widget/SmartSelectSprite$RoundedRectangleShape;
37 48 11 rectangleList Landroid/widget/SmartSelectSprite$RectangleList;
38 48 12 shapeDrawable Landroid/graphics/drawable/ShapeDrawable;
39 48 13 paint Landroid/graphics/Paint;
Signature: (Landroid/graphics/PointF;Ljava/util/List<Landroid/widget/SmartSelectSprite$RectangleWithTextSelectionLayout;>;Ljava/lang/Runnable;)V
MethodParameters:
Name Flags
start final
destinationRectangles final
onAnimationEnd final
public boolean isAnimationActive();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.SmartSelectSprite.mActiveAnimator:Landroid/animation/Animator;
ifnull 1
aload 0
getfield android.widget.SmartSelectSprite.mActiveAnimator:Landroid/animation/Animator;
invokevirtual android.animation.Animator.isRunning:()Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/widget/SmartSelectSprite;
private android.animation.Animator createAnimator(android.widget.SmartSelectSprite$RectangleList, float, float, java.util.List<android.animation.Animator>, android.animation.ValueAnimator$AnimatorUpdateListener, java.lang.Runnable);
descriptor: (Landroid/widget/SmartSelectSprite$RectangleList;FFLjava/util/List;Landroid/animation/ValueAnimator$AnimatorUpdateListener;Ljava/lang/Runnable;)Landroid/animation/Animator;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=12, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 1
1: ldc "rightBoundary"
iconst_2
newarray 6
dup
iconst_0
2: fload 3
fastore
dup
iconst_1
3: aload 1
invokevirtual android.widget.SmartSelectSprite$RectangleList.getTotalWidth:()I
i2f
fastore
4: invokestatic android.animation.ObjectAnimator.ofFloat:(Ljava/lang/Object;Ljava/lang/String;[F)Landroid/animation/ObjectAnimator;
astore 7
start local 7 5: aload 1
6: ldc "leftBoundary"
iconst_2
newarray 6
dup
iconst_0
7: fload 2
fastore
dup
iconst_1
8: fconst_0
fastore
9: invokestatic android.animation.ObjectAnimator.ofFloat:(Ljava/lang/Object;Ljava/lang/String;[F)Landroid/animation/ObjectAnimator;
astore 8
start local 8 10: aload 7
ldc 300
invokevirtual android.animation.ObjectAnimator.setDuration:(J)Landroid/animation/ObjectAnimator;
pop
11: aload 8
ldc 300
invokevirtual android.animation.ObjectAnimator.setDuration:(J)Landroid/animation/ObjectAnimator;
pop
12: aload 7
aload 5
invokevirtual android.animation.ObjectAnimator.addUpdateListener:(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V
13: aload 8
aload 5
invokevirtual android.animation.ObjectAnimator.addUpdateListener:(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V
14: aload 7
aload 0
getfield android.widget.SmartSelectSprite.mExpandInterpolator:Landroid/view/animation/Interpolator;
invokevirtual android.animation.ObjectAnimator.setInterpolator:(Landroid/animation/TimeInterpolator;)V
15: aload 8
aload 0
getfield android.widget.SmartSelectSprite.mExpandInterpolator:Landroid/view/animation/Interpolator;
invokevirtual android.animation.ObjectAnimator.setInterpolator:(Landroid/animation/TimeInterpolator;)V
16: new android.animation.AnimatorSet
dup
invokespecial android.animation.AnimatorSet.<init>:()V
astore 9
start local 9 17: aload 9
aload 4
invokevirtual android.animation.AnimatorSet.playTogether:(Ljava/util/Collection;)V
18: new android.animation.AnimatorSet
dup
invokespecial android.animation.AnimatorSet.<init>:()V
astore 10
start local 10 19: aload 10
iconst_2
anewarray android.animation.Animator
dup
iconst_0
aload 8
aastore
dup
iconst_1
aload 7
aastore
invokevirtual android.animation.AnimatorSet.playTogether:([Landroid/animation/Animator;)V
20: new android.animation.AnimatorSet
dup
invokespecial android.animation.AnimatorSet.<init>:()V
astore 11
start local 11 21: aload 11
iconst_2
anewarray android.animation.Animator
dup
iconst_0
aload 10
aastore
dup
iconst_1
aload 9
aastore
invokevirtual android.animation.AnimatorSet.playSequentially:([Landroid/animation/Animator;)V
22: aload 0
aload 11
aload 6
invokevirtual android.widget.SmartSelectSprite.setUpAnimatorListener:(Landroid/animation/Animator;Ljava/lang/Runnable;)V
23: aload 11
areturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Landroid/widget/SmartSelectSprite;
0 24 1 rectangleList Landroid/widget/SmartSelectSprite$RectangleList;
0 24 2 startingOffsetLeft F
0 24 3 startingOffsetRight F
0 24 4 cornerAnimators Ljava/util/List<Landroid/animation/Animator;>;
0 24 5 updateListener Landroid/animation/ValueAnimator$AnimatorUpdateListener;
0 24 6 onAnimationEnd Ljava/lang/Runnable;
5 24 7 rightBoundaryAnimator Landroid/animation/ObjectAnimator;
10 24 8 leftBoundaryAnimator Landroid/animation/ObjectAnimator;
17 24 9 cornerAnimator Landroid/animation/AnimatorSet;
19 24 10 boundaryAnimator Landroid/animation/AnimatorSet;
21 24 11 animatorSet Landroid/animation/AnimatorSet;
Signature: (Landroid/widget/SmartSelectSprite$RectangleList;FFLjava/util/List<Landroid/animation/Animator;>;Landroid/animation/ValueAnimator$AnimatorUpdateListener;Ljava/lang/Runnable;)Landroid/animation/Animator;
MethodParameters:
Name Flags
rectangleList final
startingOffsetLeft final
startingOffsetRight final
cornerAnimators final
updateListener final
onAnimationEnd final
private void setUpAnimatorListener(android.animation.Animator, java.lang.Runnable);
descriptor: (Landroid/animation/Animator;Ljava/lang/Runnable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
new android.widget.SmartSelectSprite$1
dup
aload 0
aload 2
invokespecial android.widget.SmartSelectSprite$1.<init>:(Landroid/widget/SmartSelectSprite;Ljava/lang/Runnable;)V
invokevirtual android.animation.Animator.addListener:(Landroid/animation/Animator$AnimatorListener;)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;
0 2 1 animator Landroid/animation/Animator;
0 2 2 onAnimationEnd Ljava/lang/Runnable;
MethodParameters:
Name Flags
animator final
onAnimationEnd final
private android.animation.ObjectAnimator createCornerAnimator(android.widget.SmartSelectSprite$RoundedRectangleShape, android.animation.ValueAnimator$AnimatorUpdateListener);
descriptor: (Landroid/widget/SmartSelectSprite$RoundedRectangleShape;Landroid/animation/ValueAnimator$AnimatorUpdateListener;)Landroid/animation/ObjectAnimator;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
1: ldc "roundRatio"
iconst_2
newarray 6
dup
iconst_0
2: aload 1
invokevirtual android.widget.SmartSelectSprite$RoundedRectangleShape.getRoundRatio:()F
fastore
dup
iconst_1
fconst_0
fastore
3: invokestatic android.animation.ObjectAnimator.ofFloat:(Ljava/lang/Object;Ljava/lang/String;[F)Landroid/animation/ObjectAnimator;
astore 3
start local 3 4: aload 3
ldc 50
invokevirtual android.animation.ObjectAnimator.setDuration:(J)Landroid/animation/ObjectAnimator;
pop
5: aload 3
aload 2
invokevirtual android.animation.ObjectAnimator.addUpdateListener:(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V
6: aload 3
aload 0
getfield android.widget.SmartSelectSprite.mCornerInterpolator:Landroid/view/animation/Interpolator;
invokevirtual android.animation.ObjectAnimator.setInterpolator:(Landroid/animation/TimeInterpolator;)V
7: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/widget/SmartSelectSprite;
0 8 1 shape Landroid/widget/SmartSelectSprite$RoundedRectangleShape;
0 8 2 listener Landroid/animation/ValueAnimator$AnimatorUpdateListener;
4 8 3 animator Landroid/animation/ObjectAnimator;
MethodParameters:
Name Flags
shape final
listener final
private static int[] generateDirections(android.widget.SmartSelectSprite$RectangleWithTextSelectionLayout, java.util.List<android.widget.SmartSelectSprite$RectangleWithTextSelectionLayout>);
descriptor: (Landroid/widget/SmartSelectSprite$RectangleWithTextSelectionLayout;Ljava/util/List;)[I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.List.size:()I
newarray 10
astore 2
start local 2 1: aload 1
aload 0
invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 6
4: StackMap locals: int[] int int
StackMap stack:
aload 2
iload 4
iconst_m1
iastore
5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
iload 3
iconst_1
isub
if_icmplt 4
end local 4 7: aload 1
invokeinterface java.util.List.size:()I
iconst_1
if_icmpne 10
8: aload 2
iload 3
iconst_0
iastore
9: goto 17
StackMap locals:
StackMap stack:
10: iload 3
ifne 13
11: aload 2
iload 3
iconst_m1
iastore
12: goto 17
StackMap locals:
StackMap stack:
13: iload 3
aload 1
invokeinterface java.util.List.size:()I
iconst_1
isub
if_icmpne 16
14: aload 2
iload 3
iconst_1
iastore
15: goto 17
16: StackMap locals:
StackMap stack:
aload 2
iload 3
iconst_0
iastore
17: StackMap locals:
StackMap stack:
iload 3
iconst_1
iadd
istore 4
start local 4 18: goto 21
19: StackMap locals: int
StackMap stack:
aload 2
iload 4
iconst_1
iastore
20: iinc 4 1
StackMap locals:
StackMap stack:
21: iload 4
aload 2
arraylength
if_icmplt 19
end local 4 22: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 centerRectangle Landroid/widget/SmartSelectSprite$RectangleWithTextSelectionLayout;
0 23 1 rectangles Ljava/util/List<Landroid/widget/SmartSelectSprite$RectangleWithTextSelectionLayout;>;
1 23 2 result [I
2 23 3 centerRectangleIndex I
3 7 4 i I
18 22 4 i I
Signature: (Landroid/widget/SmartSelectSprite$RectangleWithTextSelectionLayout;Ljava/util/List<Landroid/widget/SmartSelectSprite$RectangleWithTextSelectionLayout;>;)[I
MethodParameters:
Name Flags
centerRectangle final
rectangles final
private static boolean contains(android.graphics.RectF, android.graphics.PointF);
descriptor: (Landroid/graphics/RectF;Landroid/graphics/PointF;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getfield android.graphics.PointF.x:F
fstore 2
start local 2 1: aload 1
getfield android.graphics.PointF.y:F
fstore 3
start local 3 2: fload 2
aload 0
getfield android.graphics.RectF.left:F
fcmpl
iflt 5
fload 2
aload 0
getfield android.graphics.RectF.right:F
fcmpg
ifgt 5
fload 3
aload 0
getfield android.graphics.RectF.top:F
fcmpl
iflt 5
3: fload 3
aload 0
getfield android.graphics.RectF.bottom:F
4: fcmpg
ifgt 5
iconst_1
ireturn
StackMap locals: float float
StackMap stack:
5: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 rectangle Landroid/graphics/RectF;
0 6 1 point Landroid/graphics/PointF;
1 6 2 x F
2 6 3 y F
MethodParameters:
Name Flags
rectangle final
point final
private void removeExistingDrawables();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield android.widget.SmartSelectSprite.mExistingDrawable:Landroid/graphics/drawable/Drawable;
1: aload 0
aconst_null
putfield android.widget.SmartSelectSprite.mExistingRectangleList:Landroid/widget/SmartSelectSprite$RectangleList;
2: aload 0
getfield android.widget.SmartSelectSprite.mInvalidator:Ljava/lang/Runnable;
invokeinterface java.lang.Runnable.run:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/widget/SmartSelectSprite;
public void cancelAnimation();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.SmartSelectSprite.mActiveAnimator:Landroid/animation/Animator;
ifnull 4
1: aload 0
getfield android.widget.SmartSelectSprite.mActiveAnimator:Landroid/animation/Animator;
invokevirtual android.animation.Animator.cancel:()V
2: aload 0
aconst_null
putfield android.widget.SmartSelectSprite.mActiveAnimator:Landroid/animation/Animator;
3: aload 0
invokevirtual android.widget.SmartSelectSprite.removeExistingDrawables:()V
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/widget/SmartSelectSprite;
public void draw(android.graphics.Canvas);
descriptor: (Landroid/graphics/Canvas;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.widget.SmartSelectSprite.mExistingDrawable:Landroid/graphics/drawable/Drawable;
ifnull 2
1: aload 0
getfield android.widget.SmartSelectSprite.mExistingDrawable:Landroid/graphics/drawable/Drawable;
aload 1
invokevirtual android.graphics.drawable.Drawable.draw:(Landroid/graphics/Canvas;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/widget/SmartSelectSprite;
0 3 1 canvas Landroid/graphics/Canvas;
MethodParameters:
Name Flags
canvas
private static double lambda$0(android.graphics.RectF);
descriptor: (Landroid/graphics/RectF;)D
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.graphics.RectF.bottom:F
f2d
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 e Landroid/graphics/RectF;
private static double lambda$1(android.graphics.RectF);
descriptor: (Landroid/graphics/RectF;)D
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.graphics.RectF.left:F
f2d
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 e Landroid/graphics/RectF;
private void lambda$2(android.animation.ValueAnimator);
descriptor: (Landroid/animation/ValueAnimator;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.widget.SmartSelectSprite.mInvalidator:Ljava/lang/Runnable;
invokeinterface java.lang.Runnable.run:()V
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/SmartSelectSprite;
0 1 1 valueAnimator Landroid/animation/ValueAnimator;
}
SourceFile: "SmartSelectSprite.java"
NestMembers:
android.widget.SmartSelectSprite$1 android.widget.SmartSelectSprite$RectangleList android.widget.SmartSelectSprite$RectangleList$DisplayType android.widget.SmartSelectSprite$RectangleWithTextSelectionLayout android.widget.SmartSelectSprite$RoundedRectangleShape android.widget.SmartSelectSprite$RoundedRectangleShape$ExpansionDirection
InnerClasses:
public abstract AnimatorListener = android.animation.Animator$AnimatorListener of android.animation.Animator
public abstract AnimatorUpdateListener = android.animation.ValueAnimator$AnimatorUpdateListener of android.animation.ValueAnimator
public final Style = android.graphics.Paint$Style of android.graphics.Paint
android.widget.SmartSelectSprite$1
private final RectangleList = android.widget.SmartSelectSprite$RectangleList of android.widget.SmartSelectSprite
final RectangleWithTextSelectionLayout = android.widget.SmartSelectSprite$RectangleWithTextSelectionLayout of android.widget.SmartSelectSprite
private final RoundedRectangleShape = android.widget.SmartSelectSprite$RoundedRectangleShape of android.widget.SmartSelectSprite
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles