public class android.transition.CircularPropagation extends android.transition.VisibilityPropagation
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.transition.CircularPropagation
super_class: android.transition.VisibilityPropagation
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "CircularPropagation"
private float mPropagationSpeed;
descriptor: F
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 // android.transition.CircularPropagation this
0: .line 32
aload 0 /* this */
invokespecial android.transition.VisibilityPropagation.<init>:()V
1: .line 35
aload 0 /* this */
ldc 3.0
putfield android.transition.CircularPropagation.mPropagationSpeed:F
2: .line 32
return
end local 0 // android.transition.CircularPropagation this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/transition/CircularPropagation;
public void setPropagationSpeed(float);
descriptor: (F)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // android.transition.CircularPropagation this
start local 1 // float propagationSpeed
0: .line 50
fload 1 /* propagationSpeed */
fconst_0
fcmpl
ifne 2
1: .line 51
new java.lang.IllegalArgumentException
dup
ldc "propagationSpeed may not be 0"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: .line 53
StackMap locals:
StackMap stack:
aload 0 /* this */
fload 1 /* propagationSpeed */
putfield android.transition.CircularPropagation.mPropagationSpeed:F
3: .line 54
return
end local 1 // float propagationSpeed
end local 0 // android.transition.CircularPropagation this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/transition/CircularPropagation;
0 4 1 propagationSpeed F
MethodParameters:
Name Flags
propagationSpeed
public long getStartDelay(android.view.ViewGroup, android.transition.Transition, android.transition.TransitionValues, android.transition.TransitionValues);
descriptor: (Landroid/view/ViewGroup;Landroid/transition/Transition;Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=20, args_size=5
start local 0 // android.transition.CircularPropagation this
start local 1 // android.view.ViewGroup sceneRoot
start local 2 // android.transition.Transition transition
start local 3 // android.transition.TransitionValues startValues
start local 4 // android.transition.TransitionValues endValues
0: .line 59
aload 3 /* startValues */
ifnonnull 2
aload 4 /* endValues */
ifnonnull 2
1: .line 60
lconst_0
lreturn
2: .line 62
StackMap locals:
StackMap stack:
iconst_1
istore 5 /* directionMultiplier */
start local 5 // int directionMultiplier
3: .line 64
aload 4 /* endValues */
ifnull 4
aload 0 /* this */
aload 3 /* startValues */
invokevirtual android.transition.CircularPropagation.getViewVisibility:(Landroid/transition/TransitionValues;)I
ifne 7
4: .line 65
StackMap locals: int
StackMap stack:
aload 3 /* startValues */
astore 6 /* positionValues */
start local 6 // android.transition.TransitionValues positionValues
5: .line 66
iconst_m1
istore 5 /* directionMultiplier */
6: .line 67
goto 8
end local 6 // android.transition.TransitionValues positionValues
7: .line 68
StackMap locals:
StackMap stack:
aload 4 /* endValues */
astore 6 /* positionValues */
start local 6 // android.transition.TransitionValues positionValues
8: .line 71
StackMap locals: android.transition.TransitionValues
StackMap stack:
aload 0 /* this */
aload 6 /* positionValues */
invokevirtual android.transition.CircularPropagation.getViewX:(Landroid/transition/TransitionValues;)I
istore 7 /* viewCenterX */
start local 7 // int viewCenterX
9: .line 72
aload 0 /* this */
aload 6 /* positionValues */
invokevirtual android.transition.CircularPropagation.getViewY:(Landroid/transition/TransitionValues;)I
istore 8 /* viewCenterY */
start local 8 // int viewCenterY
10: .line 74
aload 2 /* transition */
invokevirtual android.transition.Transition.getEpicenter:()Landroid/graphics/Rect;
astore 9 /* epicenter */
start local 9 // android.graphics.Rect epicenter
11: .line 77
aload 9 /* epicenter */
ifnull 15
12: .line 78
aload 9 /* epicenter */
invokevirtual android.graphics.Rect.centerX:()I
istore 10 /* epicenterX */
start local 10 // int epicenterX
13: .line 79
aload 9 /* epicenter */
invokevirtual android.graphics.Rect.centerY:()I
istore 11 /* epicenterY */
start local 11 // int epicenterY
14: .line 80
goto 23
end local 11 // int epicenterY
end local 10 // int epicenterX
15: .line 81
StackMap locals: int int android.graphics.Rect
StackMap stack:
iconst_2
newarray 10
astore 12 /* loc */
start local 12 // int[] loc
16: .line 82
aload 1 /* sceneRoot */
aload 12 /* loc */
invokevirtual android.view.ViewGroup.getLocationOnScreen:([I)V
17: .line 83
aload 12 /* loc */
iconst_0
iaload
aload 1 /* sceneRoot */
invokevirtual android.view.ViewGroup.getWidth:()I
iconst_2
idiv
iadd
i2f
18: .line 84
aload 1 /* sceneRoot */
invokevirtual android.view.ViewGroup.getTranslationX:()F
19: .line 83
fadd
invokestatic java.lang.Math.round:(F)I
istore 10 /* epicenterX */
start local 10 // int epicenterX
20: .line 85
aload 12 /* loc */
iconst_1
iaload
aload 1 /* sceneRoot */
invokevirtual android.view.ViewGroup.getHeight:()I
iconst_2
idiv
iadd
i2f
21: .line 86
aload 1 /* sceneRoot */
invokevirtual android.view.ViewGroup.getTranslationY:()F
22: .line 85
fadd
invokestatic java.lang.Math.round:(F)I
istore 11 /* epicenterY */
end local 12 // int[] loc
start local 11 // int epicenterY
23: .line 88
StackMap locals: int int
StackMap stack:
iload 7 /* viewCenterX */
i2f
iload 8 /* viewCenterY */
i2f
iload 10 /* epicenterX */
i2f
iload 11 /* epicenterY */
i2f
invokestatic android.transition.CircularPropagation.distance:(FFFF)D
dstore 12 /* distance */
start local 12 // double distance
24: .line 89
fconst_0
fconst_0
aload 1 /* sceneRoot */
invokevirtual android.view.ViewGroup.getWidth:()I
i2f
aload 1 /* sceneRoot */
invokevirtual android.view.ViewGroup.getHeight:()I
i2f
invokestatic android.transition.CircularPropagation.distance:(FFFF)D
dstore 14 /* maxDistance */
start local 14 // double maxDistance
25: .line 90
dload 12 /* distance */
dload 14 /* maxDistance */
ddiv
dstore 16 /* distanceFraction */
start local 16 // double distanceFraction
26: .line 92
aload 2 /* transition */
invokevirtual android.transition.Transition.getDuration:()J
lstore 18 /* duration */
start local 18 // long duration
27: .line 93
lload 18 /* duration */
lconst_0
lcmp
ifge 29
28: .line 94
ldc 300
lstore 18 /* duration */
29: .line 97
StackMap locals: android.transition.CircularPropagation android.view.ViewGroup android.transition.Transition android.transition.TransitionValues android.transition.TransitionValues int android.transition.TransitionValues int int android.graphics.Rect int int double double double long
StackMap stack:
lload 18 /* duration */
iload 5 /* directionMultiplier */
i2l
lmul
l2f
aload 0 /* this */
getfield android.transition.CircularPropagation.mPropagationSpeed:F
fdiv
f2d
dload 16 /* distanceFraction */
dmul
invokestatic java.lang.Math.round:(D)J
lreturn
end local 18 // long duration
end local 16 // double distanceFraction
end local 14 // double maxDistance
end local 12 // double distance
end local 11 // int epicenterY
end local 10 // int epicenterX
end local 9 // android.graphics.Rect epicenter
end local 8 // int viewCenterY
end local 7 // int viewCenterX
end local 6 // android.transition.TransitionValues positionValues
end local 5 // int directionMultiplier
end local 4 // android.transition.TransitionValues endValues
end local 3 // android.transition.TransitionValues startValues
end local 2 // android.transition.Transition transition
end local 1 // android.view.ViewGroup sceneRoot
end local 0 // android.transition.CircularPropagation this
LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Landroid/transition/CircularPropagation;
0 30 1 sceneRoot Landroid/view/ViewGroup;
0 30 2 transition Landroid/transition/Transition;
0 30 3 startValues Landroid/transition/TransitionValues;
0 30 4 endValues Landroid/transition/TransitionValues;
3 30 5 directionMultiplier I
5 7 6 positionValues Landroid/transition/TransitionValues;
8 30 6 positionValues Landroid/transition/TransitionValues;
9 30 7 viewCenterX I
10 30 8 viewCenterY I
11 30 9 epicenter Landroid/graphics/Rect;
13 15 10 epicenterX I
20 30 10 epicenterX I
14 15 11 epicenterY I
23 30 11 epicenterY I
16 23 12 loc [I
24 30 12 distance D
25 30 14 maxDistance D
26 30 16 distanceFraction D
27 30 18 duration J
MethodParameters:
Name Flags
sceneRoot
transition
startValues
endValues
private static double distance(float, float, float, float);
descriptor: (FFFF)D
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=4
start local 0 // float x1
start local 1 // float y1
start local 2 // float x2
start local 3 // float y2
0: .line 101
fload 2 /* x2 */
fload 0 /* x1 */
fsub
f2d
dstore 4 /* x */
start local 4 // double x
1: .line 102
fload 3 /* y2 */
fload 1 /* y1 */
fsub
f2d
dstore 6 /* y */
start local 6 // double y
2: .line 103
dload 4 /* x */
dload 6 /* y */
invokestatic java.lang.Math.hypot:(DD)D
dreturn
end local 6 // double y
end local 4 // double x
end local 3 // float y2
end local 2 // float x2
end local 1 // float y1
end local 0 // float x1
LocalVariableTable:
Start End Slot Name Signature
0 3 0 x1 F
0 3 1 y1 F
0 3 2 x2 F
0 3 3 y2 F
1 3 4 x D
2 3 6 y D
MethodParameters:
Name Flags
x1
y1
x2
y2
}
SourceFile: "CircularPropagation.java"