public class android.animation.PathKeyframes implements android.animation.Keyframes
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.animation.PathKeyframes
super_class: java.lang.Object
{
private static final int FRACTION_OFFSET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int X_OFFSET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int Y_OFFSET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int NUM_COMPONENTS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final java.util.ArrayList<android.animation.Keyframe> EMPTY_KEYFRAMES;
descriptor: Ljava/util/ArrayList;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/ArrayList<Landroid/animation/Keyframe;>;
private android.graphics.PointF mTempPointF;
descriptor: Landroid/graphics/PointF;
flags: (0x0002) ACC_PRIVATE
private float[] mKeyframeData;
descriptor: [F
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putstatic android.animation.PathKeyframes.EMPTY_KEYFRAMES:Ljava/util/ArrayList;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(android.graphics.Path);
descriptor: (Landroid/graphics/Path;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc 0.5
invokespecial android.animation.PathKeyframes.<init>:(Landroid/graphics/Path;F)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/animation/PathKeyframes;
0 2 1 path Landroid/graphics/Path;
MethodParameters:
Name Flags
path
public void <init>(android.graphics.Path, float);
descriptor: (Landroid/graphics/Path;F)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
invokespecial java.lang.Object.<init>:()V
1: aload 0
new android.graphics.PointF
dup
invokespecial android.graphics.PointF.<init>:()V
putfield android.animation.PathKeyframes.mTempPointF:Landroid/graphics/PointF;
2: aload 1
ifnull 3
aload 1
invokevirtual android.graphics.Path.isEmpty:()Z
ifeq 4
3: StackMap locals: android.animation.PathKeyframes android.graphics.Path float
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "The path must not be null or empty"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 1
fload 2
invokevirtual android.graphics.Path.approximate:(F)[F
putfield android.animation.PathKeyframes.mKeyframeData:[F
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/animation/PathKeyframes;
0 6 1 path Landroid/graphics/Path;
0 6 2 error F
MethodParameters:
Name Flags
path
error
public java.util.ArrayList<android.animation.Keyframe> getKeyframes();
descriptor: ()Ljava/util/ArrayList;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic android.animation.PathKeyframes.EMPTY_KEYFRAMES:Ljava/util/ArrayList;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/animation/PathKeyframes;
Signature: ()Ljava/util/ArrayList<Landroid/animation/Keyframe;>;
public java.lang.Object getValue(float);
descriptor: (F)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield android.animation.PathKeyframes.mKeyframeData:[F
arraylength
iconst_3
idiv
istore 2
start local 2 1: fload 1
fconst_0
fcmpg
ifge 3
2: aload 0
fload 1
iconst_0
iconst_1
invokevirtual android.animation.PathKeyframes.interpolateInRange:(FII)Landroid/graphics/PointF;
areturn
3: StackMap locals: int
StackMap stack:
fload 1
fconst_1
fcmpl
ifle 5
4: aload 0
fload 1
iload 2
iconst_2
isub
iload 2
iconst_1
isub
invokevirtual android.animation.PathKeyframes.interpolateInRange:(FII)Landroid/graphics/PointF;
areturn
5: StackMap locals:
StackMap stack:
fload 1
fconst_0
fcmpl
ifne 7
6: aload 0
iconst_0
invokevirtual android.animation.PathKeyframes.pointForIndex:(I)Landroid/graphics/PointF;
areturn
7: StackMap locals:
StackMap stack:
fload 1
fconst_1
fcmpl
ifne 9
8: aload 0
iload 2
iconst_1
isub
invokevirtual android.animation.PathKeyframes.pointForIndex:(I)Landroid/graphics/PointF;
areturn
9: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 10: iload 2
iconst_1
isub
istore 4
start local 4 11: goto 21
12: StackMap locals: int int
StackMap stack:
iload 3
iload 4
iadd
iconst_2
idiv
istore 5
start local 5 13: aload 0
getfield android.animation.PathKeyframes.mKeyframeData:[F
iload 5
iconst_3
imul
iconst_0
iadd
faload
fstore 6
start local 6 14: fload 1
fload 6
fcmpg
ifge 17
15: iload 5
iconst_1
isub
istore 4
16: goto 21
StackMap locals: int float
StackMap stack:
17: fload 1
fload 6
fcmpl
ifle 20
18: iload 5
iconst_1
iadd
istore 3
19: goto 21
20: StackMap locals:
StackMap stack:
aload 0
iload 5
invokevirtual android.animation.PathKeyframes.pointForIndex:(I)Landroid/graphics/PointF;
areturn
end local 6 end local 5 21: StackMap locals:
StackMap stack:
iload 3
iload 4
if_icmple 12
22: aload 0
fload 1
iload 4
iload 3
invokevirtual android.animation.PathKeyframes.interpolateInRange:(FII)Landroid/graphics/PointF;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Landroid/animation/PathKeyframes;
0 23 1 fraction F
1 23 2 numPoints I
10 23 3 low I
11 23 4 high I
13 21 5 mid I
14 21 6 midFraction F
MethodParameters:
Name Flags
fraction
private android.graphics.PointF interpolateInRange(float, int, int);
descriptor: (FII)Landroid/graphics/PointF;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=15, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
iconst_3
imul
istore 4
start local 4 1: iload 3
iconst_3
imul
istore 5
start local 5 2: aload 0
getfield android.animation.PathKeyframes.mKeyframeData:[F
iload 4
iconst_0
iadd
faload
fstore 6
start local 6 3: aload 0
getfield android.animation.PathKeyframes.mKeyframeData:[F
iload 5
iconst_0
iadd
faload
fstore 7
start local 7 4: fload 1
fload 6
fsub
fload 7
fload 6
fsub
fdiv
fstore 8
start local 8 5: aload 0
getfield android.animation.PathKeyframes.mKeyframeData:[F
iload 4
iconst_1
iadd
faload
fstore 9
start local 9 6: aload 0
getfield android.animation.PathKeyframes.mKeyframeData:[F
iload 5
iconst_1
iadd
faload
fstore 10
start local 10 7: aload 0
getfield android.animation.PathKeyframes.mKeyframeData:[F
iload 4
iconst_2
iadd
faload
fstore 11
start local 11 8: aload 0
getfield android.animation.PathKeyframes.mKeyframeData:[F
iload 5
iconst_2
iadd
faload
fstore 12
start local 12 9: fload 8
fload 9
fload 10
invokestatic android.animation.PathKeyframes.interpolate:(FFF)F
fstore 13
start local 13 10: fload 8
fload 11
fload 12
invokestatic android.animation.PathKeyframes.interpolate:(FFF)F
fstore 14
start local 14 11: aload 0
getfield android.animation.PathKeyframes.mTempPointF:Landroid/graphics/PointF;
fload 13
fload 14
invokevirtual android.graphics.PointF.set:(FF)V
12: aload 0
getfield android.animation.PathKeyframes.mTempPointF:Landroid/graphics/PointF;
areturn
end local 14 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 13 0 this Landroid/animation/PathKeyframes;
0 13 1 fraction F
0 13 2 startIndex I
0 13 3 endIndex I
1 13 4 startBase I
2 13 5 endBase I
3 13 6 startFraction F
4 13 7 endFraction F
5 13 8 intervalFraction F
6 13 9 startX F
7 13 10 endX F
8 13 11 startY F
9 13 12 endY F
10 13 13 x F
11 13 14 y F
MethodParameters:
Name Flags
fraction
startIndex
endIndex
public void setEvaluator(android.animation.TypeEvaluator);
descriptor: (Landroid/animation/TypeEvaluator;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/animation/PathKeyframes;
0 1 1 evaluator Landroid/animation/TypeEvaluator;
MethodParameters:
Name Flags
evaluator
public java.lang.Class getType();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc Landroid/graphics/PointF;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/animation/PathKeyframes;
public android.animation.Keyframes clone();
descriptor: ()Landroid/animation/Keyframes;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
invokespecial java.lang.Object.clone:()Ljava/lang/Object;
checkcast android.animation.Keyframes
astore 1
2: goto 4
StackMap locals: android.animation.PathKeyframes android.animation.Keyframes
StackMap stack: java.lang.CloneNotSupportedException
3: pop
4: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/animation/PathKeyframes;
1 5 1 clone Landroid/animation/Keyframes;
Exception table:
from to target type
1 2 3 Class java.lang.CloneNotSupportedException
private android.graphics.PointF pointForIndex(int);
descriptor: (I)Landroid/graphics/PointF;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: iload 1
iconst_3
imul
istore 2
start local 2 1: iload 2
iconst_1
iadd
istore 3
start local 3 2: iload 2
iconst_2
iadd
istore 4
start local 4 3: aload 0
getfield android.animation.PathKeyframes.mTempPointF:Landroid/graphics/PointF;
aload 0
getfield android.animation.PathKeyframes.mKeyframeData:[F
iload 3
faload
aload 0
getfield android.animation.PathKeyframes.mKeyframeData:[F
iload 4
faload
invokevirtual android.graphics.PointF.set:(FF)V
4: aload 0
getfield android.animation.PathKeyframes.mTempPointF:Landroid/graphics/PointF;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/animation/PathKeyframes;
0 5 1 index I
1 5 2 base I
2 5 3 xOffset I
3 5 4 yOffset I
MethodParameters:
Name Flags
index
private static float interpolate(float, float, float);
descriptor: (FFF)F
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: fload 2
fload 1
fsub
fstore 3
start local 3 1: fload 1
fload 3
fload 0
fmul
fadd
freturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 fraction F
0 2 1 startValue F
0 2 2 endValue F
1 2 3 diff F
MethodParameters:
Name Flags
fraction
startValue
endValue
public android.animation.Keyframes$FloatKeyframes createXFloatKeyframes();
descriptor: ()Landroid/animation/Keyframes$FloatKeyframes;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new android.animation.PathKeyframes$1
dup
aload 0
invokespecial android.animation.PathKeyframes$1.<init>:(Landroid/animation/PathKeyframes;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/animation/PathKeyframes;
public android.animation.Keyframes$FloatKeyframes createYFloatKeyframes();
descriptor: ()Landroid/animation/Keyframes$FloatKeyframes;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new android.animation.PathKeyframes$2
dup
aload 0
invokespecial android.animation.PathKeyframes$2.<init>:(Landroid/animation/PathKeyframes;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/animation/PathKeyframes;
public android.animation.Keyframes$IntKeyframes createXIntKeyframes();
descriptor: ()Landroid/animation/Keyframes$IntKeyframes;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new android.animation.PathKeyframes$3
dup
aload 0
invokespecial android.animation.PathKeyframes$3.<init>:(Landroid/animation/PathKeyframes;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/animation/PathKeyframes;
public android.animation.Keyframes$IntKeyframes createYIntKeyframes();
descriptor: ()Landroid/animation/Keyframes$IntKeyframes;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new android.animation.PathKeyframes$4
dup
aload 0
invokespecial android.animation.PathKeyframes$4.<init>:(Landroid/animation/PathKeyframes;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/animation/PathKeyframes;
public java.util.List getKeyframes();
descriptor: ()Ljava/util/List;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual android.animation.PathKeyframes.getKeyframes:()Ljava/util/ArrayList;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object clone();
descriptor: ()Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual android.animation.PathKeyframes.clone:()Landroid/animation/Keyframes;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.CloneNotSupportedException
}
SourceFile: "PathKeyframes.java"
NestMembers:
android.animation.PathKeyframes$1 android.animation.PathKeyframes$2 android.animation.PathKeyframes$3 android.animation.PathKeyframes$4 android.animation.PathKeyframes$FloatKeyframesBase android.animation.PathKeyframes$IntKeyframesBase android.animation.PathKeyframes$SimpleKeyframes
InnerClasses:
public abstract FloatKeyframes = android.animation.Keyframes$FloatKeyframes of android.animation.Keyframes
public abstract IntKeyframes = android.animation.Keyframes$IntKeyframes of android.animation.Keyframes
android.animation.PathKeyframes$1
android.animation.PathKeyframes$2
android.animation.PathKeyframes$3
android.animation.PathKeyframes$4
abstract FloatKeyframesBase = android.animation.PathKeyframes$FloatKeyframesBase of android.animation.PathKeyframes
abstract IntKeyframesBase = android.animation.PathKeyframes$IntKeyframesBase of android.animation.PathKeyframes
private abstract SimpleKeyframes = android.animation.PathKeyframes$SimpleKeyframes of android.animation.PathKeyframes