public class android.transition.SidePropagation extends android.transition.VisibilityPropagation
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.transition.SidePropagation
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: "SlidePropagation"
private float mPropagationSpeed;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private int mSide;
descriptor: I
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.SidePropagation 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.SidePropagation.mPropagationSpeed:F
2: .line 36
aload 0 /* this */
bipush 80
putfield android.transition.SidePropagation.mSide:I
3: .line 32
return
end local 0 // android.transition.SidePropagation this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/transition/SidePropagation;
public void setSide(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // android.transition.SidePropagation this
start local 1 // int side
0: .line 50
aload 0 /* this */
iload 1 /* side */
putfield android.transition.SidePropagation.mSide:I
1: .line 51
return
end local 1 // int side
end local 0 // android.transition.SidePropagation this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/transition/SidePropagation;
0 2 1 side I
MethodParameters:
Name Flags
side
public void setPropagationSpeed(float);
descriptor: (F)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // android.transition.SidePropagation this
start local 1 // float propagationSpeed
0: .line 66
fload 1 /* propagationSpeed */
fconst_0
fcmpl
ifne 2
1: .line 67
new java.lang.IllegalArgumentException
dup
ldc "propagationSpeed may not be 0"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: .line 69
StackMap locals:
StackMap stack:
aload 0 /* this */
fload 1 /* propagationSpeed */
putfield android.transition.SidePropagation.mPropagationSpeed:F
3: .line 70
return
end local 1 // float propagationSpeed
end local 0 // android.transition.SidePropagation this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/transition/SidePropagation;
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=10, locals=22, args_size=5
start local 0 // android.transition.SidePropagation 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 75
aload 3 /* startValues */
ifnonnull 2
aload 4 /* endValues */
ifnonnull 2
1: .line 76
lconst_0
lreturn
2: .line 78
StackMap locals:
StackMap stack:
iconst_1
istore 5 /* directionMultiplier */
start local 5 // int directionMultiplier
3: .line 79
aload 2 /* transition */
invokevirtual android.transition.Transition.getEpicenter:()Landroid/graphics/Rect;
astore 6 /* epicenter */
start local 6 // android.graphics.Rect epicenter
4: .line 81
aload 4 /* endValues */
ifnull 5
aload 0 /* this */
aload 3 /* startValues */
invokevirtual android.transition.SidePropagation.getViewVisibility:(Landroid/transition/TransitionValues;)I
ifne 8
5: .line 82
StackMap locals: int android.graphics.Rect
StackMap stack:
aload 3 /* startValues */
astore 7 /* positionValues */
start local 7 // android.transition.TransitionValues positionValues
6: .line 83
iconst_m1
istore 5 /* directionMultiplier */
7: .line 84
goto 9
end local 7 // android.transition.TransitionValues positionValues
8: .line 85
StackMap locals:
StackMap stack:
aload 4 /* endValues */
astore 7 /* positionValues */
start local 7 // android.transition.TransitionValues positionValues
9: .line 88
StackMap locals: android.transition.TransitionValues
StackMap stack:
aload 0 /* this */
aload 7 /* positionValues */
invokevirtual android.transition.SidePropagation.getViewX:(Landroid/transition/TransitionValues;)I
istore 8 /* viewCenterX */
start local 8 // int viewCenterX
10: .line 89
aload 0 /* this */
aload 7 /* positionValues */
invokevirtual android.transition.SidePropagation.getViewY:(Landroid/transition/TransitionValues;)I
istore 9 /* viewCenterY */
start local 9 // int viewCenterY
11: .line 91
iconst_2
newarray 10
astore 10 /* loc */
start local 10 // int[] loc
12: .line 92
aload 1 /* sceneRoot */
aload 10 /* loc */
invokevirtual android.view.ViewGroup.getLocationOnScreen:([I)V
13: .line 93
aload 10 /* loc */
iconst_0
iaload
aload 1 /* sceneRoot */
invokevirtual android.view.ViewGroup.getTranslationX:()F
invokestatic java.lang.Math.round:(F)I
iadd
istore 11 /* left */
start local 11 // int left
14: .line 94
aload 10 /* loc */
iconst_1
iaload
aload 1 /* sceneRoot */
invokevirtual android.view.ViewGroup.getTranslationY:()F
invokestatic java.lang.Math.round:(F)I
iadd
istore 12 /* top */
start local 12 // int top
15: .line 95
iload 11 /* left */
aload 1 /* sceneRoot */
invokevirtual android.view.ViewGroup.getWidth:()I
iadd
istore 13 /* right */
start local 13 // int right
16: .line 96
iload 12 /* top */
aload 1 /* sceneRoot */
invokevirtual android.view.ViewGroup.getHeight:()I
iadd
istore 14 /* bottom */
start local 14 // int bottom
17: .line 100
aload 6 /* epicenter */
ifnull 21
18: .line 101
aload 6 /* epicenter */
invokevirtual android.graphics.Rect.centerX:()I
istore 15 /* epicenterX */
start local 15 // int epicenterX
19: .line 102
aload 6 /* epicenter */
invokevirtual android.graphics.Rect.centerY:()I
istore 16 /* epicenterY */
start local 16 // int epicenterY
20: .line 103
goto 23
end local 16 // int epicenterY
end local 15 // int epicenterX
21: .line 104
StackMap locals: android.transition.SidePropagation android.view.ViewGroup android.transition.Transition android.transition.TransitionValues android.transition.TransitionValues int android.graphics.Rect android.transition.TransitionValues int int int[] int int int int
StackMap stack:
iload 11 /* left */
iload 13 /* right */
iadd
iconst_2
idiv
istore 15 /* epicenterX */
start local 15 // int epicenterX
22: .line 105
iload 12 /* top */
iload 14 /* bottom */
iadd
iconst_2
idiv
istore 16 /* epicenterY */
start local 16 // int epicenterY
23: .line 108
StackMap locals: int int
StackMap stack:
aload 0 /* this */
aload 1 /* sceneRoot */
iload 8 /* viewCenterX */
iload 9 /* viewCenterY */
iload 15 /* epicenterX */
iload 16 /* epicenterY */
24: .line 109
iload 11 /* left */
iload 12 /* top */
iload 13 /* right */
iload 14 /* bottom */
25: .line 108
invokevirtual android.transition.SidePropagation.distance:(Landroid/view/View;IIIIIIII)I
i2f
fstore 17 /* distance */
start local 17 // float distance
26: .line 110
aload 0 /* this */
aload 1 /* sceneRoot */
invokevirtual android.transition.SidePropagation.getMaxDistance:(Landroid/view/ViewGroup;)I
i2f
fstore 18 /* maxDistance */
start local 18 // float maxDistance
27: .line 111
fload 17 /* distance */
fload 18 /* maxDistance */
fdiv
fstore 19 /* distanceFraction */
start local 19 // float distanceFraction
28: .line 113
aload 2 /* transition */
invokevirtual android.transition.Transition.getDuration:()J
lstore 20 /* duration */
start local 20 // long duration
29: .line 114
lload 20 /* duration */
lconst_0
lcmp
ifge 31
30: .line 115
ldc 300
lstore 20 /* duration */
31: .line 118
StackMap locals: android.transition.SidePropagation android.view.ViewGroup android.transition.Transition android.transition.TransitionValues android.transition.TransitionValues int android.graphics.Rect android.transition.TransitionValues int int int[] int int int int int int float float float long
StackMap stack:
lload 20 /* duration */
iload 5 /* directionMultiplier */
i2l
lmul
l2f
aload 0 /* this */
getfield android.transition.SidePropagation.mPropagationSpeed:F
fdiv
fload 19 /* distanceFraction */
fmul
invokestatic java.lang.Math.round:(F)I
i2l
lreturn
end local 20 // long duration
end local 19 // float distanceFraction
end local 18 // float maxDistance
end local 17 // float distance
end local 16 // int epicenterY
end local 15 // int epicenterX
end local 14 // int bottom
end local 13 // int right
end local 12 // int top
end local 11 // int left
end local 10 // int[] loc
end local 9 // int viewCenterY
end local 8 // int viewCenterX
end local 7 // android.transition.TransitionValues positionValues
end local 6 // android.graphics.Rect epicenter
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.SidePropagation this
LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Landroid/transition/SidePropagation;
0 32 1 sceneRoot Landroid/view/ViewGroup;
0 32 2 transition Landroid/transition/Transition;
0 32 3 startValues Landroid/transition/TransitionValues;
0 32 4 endValues Landroid/transition/TransitionValues;
3 32 5 directionMultiplier I
4 32 6 epicenter Landroid/graphics/Rect;
6 8 7 positionValues Landroid/transition/TransitionValues;
9 32 7 positionValues Landroid/transition/TransitionValues;
10 32 8 viewCenterX I
11 32 9 viewCenterY I
12 32 10 loc [I
14 32 11 left I
15 32 12 top I
16 32 13 right I
17 32 14 bottom I
19 21 15 epicenterX I
22 32 15 epicenterX I
20 21 16 epicenterY I
23 32 16 epicenterY I
26 32 17 distance F
27 32 18 maxDistance F
28 32 19 distanceFraction F
29 32 20 duration J
MethodParameters:
Name Flags
sceneRoot
transition
startValues
endValues
private int distance(android.view.View, int, int, int, int, int, int, int, int);
descriptor: (Landroid/view/View;IIIIIIII)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=12, args_size=10
start local 0 // android.transition.SidePropagation this
start local 1 // android.view.View sceneRoot
start local 2 // int viewX
start local 3 // int viewY
start local 4 // int epicenterX
start local 5 // int epicenterY
start local 6 // int left
start local 7 // int top
start local 8 // int right
start local 9 // int bottom
0: .line 124
aload 0 /* this */
getfield android.transition.SidePropagation.mSide:I
ldc 8388611
if_icmpne 8
1: .line 125
aload 1 /* sceneRoot */
invokevirtual android.view.View.getLayoutDirection:()I
iconst_1
if_icmpne 2
iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 11 /* isRtl */
start local 11 // boolean isRtl
4: .line 126
iload 11 /* isRtl */
ifeq 5
iconst_5
goto 6
StackMap locals: android.transition.SidePropagation android.view.View int int int int int int int int top int
StackMap stack:
5: iconst_3
StackMap locals:
StackMap stack: int
6: istore 10 /* side */
end local 11 // boolean isRtl
start local 10 // int side
7: .line 127
goto 17
end local 10 // int side
StackMap locals: android.transition.SidePropagation android.view.View int int int int int int int int
StackMap stack:
8: aload 0 /* this */
getfield android.transition.SidePropagation.mSide:I
ldc 8388613
if_icmpne 16
9: .line 128
aload 1 /* sceneRoot */
invokevirtual android.view.View.getLayoutDirection:()I
iconst_1
if_icmpne 10
iconst_1
goto 11
StackMap locals:
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: istore 11 /* isRtl */
start local 11 // boolean isRtl
12: .line 129
iload 11 /* isRtl */
ifeq 13
iconst_3
goto 14
StackMap locals: android.transition.SidePropagation android.view.View int int int int int int int int top int
StackMap stack:
13: iconst_5
StackMap locals:
StackMap stack: int
14: istore 10 /* side */
end local 11 // boolean isRtl
start local 10 // int side
15: .line 130
goto 17
end local 10 // int side
16: .line 131
StackMap locals: android.transition.SidePropagation android.view.View int int int int int int int int
StackMap stack:
aload 0 /* this */
getfield android.transition.SidePropagation.mSide:I
istore 10 /* side */
start local 10 // int side
17: .line 133
StackMap locals: int
StackMap stack:
iconst_0
istore 11 /* distance */
start local 11 // int distance
18: .line 134
iload 10 /* side */
lookupswitch { // 4
3: 19
5: 23
48: 21
80: 25
default: 26
}
19: .line 136
StackMap locals: int
StackMap stack:
iload 8 /* right */
iload 2 /* viewX */
isub
iload 5 /* epicenterY */
iload 3 /* viewY */
isub
invokestatic java.lang.Math.abs:(I)I
iadd
istore 11 /* distance */
20: .line 137
goto 26
21: .line 139
StackMap locals:
StackMap stack:
iload 9 /* bottom */
iload 3 /* viewY */
isub
iload 4 /* epicenterX */
iload 2 /* viewX */
isub
invokestatic java.lang.Math.abs:(I)I
iadd
istore 11 /* distance */
22: .line 140
goto 26
23: .line 142
StackMap locals:
StackMap stack:
iload 2 /* viewX */
iload 6 /* left */
isub
iload 5 /* epicenterY */
iload 3 /* viewY */
isub
invokestatic java.lang.Math.abs:(I)I
iadd
istore 11 /* distance */
24: .line 143
goto 26
25: .line 145
StackMap locals:
StackMap stack:
iload 3 /* viewY */
iload 7 /* top */
isub
iload 4 /* epicenterX */
iload 2 /* viewX */
isub
invokestatic java.lang.Math.abs:(I)I
iadd
istore 11 /* distance */
26: .line 148
StackMap locals:
StackMap stack:
iload 11 /* distance */
ireturn
end local 11 // int distance
end local 10 // int side
end local 9 // int bottom
end local 8 // int right
end local 7 // int top
end local 6 // int left
end local 5 // int epicenterY
end local 4 // int epicenterX
end local 3 // int viewY
end local 2 // int viewX
end local 1 // android.view.View sceneRoot
end local 0 // android.transition.SidePropagation this
LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Landroid/transition/SidePropagation;
0 27 1 sceneRoot Landroid/view/View;
0 27 2 viewX I
0 27 3 viewY I
0 27 4 epicenterX I
0 27 5 epicenterY I
0 27 6 left I
0 27 7 top I
0 27 8 right I
0 27 9 bottom I
7 8 10 side I
15 16 10 side I
17 27 10 side I
4 7 11 isRtl Z
12 15 11 isRtl Z
18 27 11 distance I
MethodParameters:
Name Flags
sceneRoot
viewX
viewY
epicenterX
epicenterY
left
top
right
bottom
private int getMaxDistance(android.view.ViewGroup);
descriptor: (Landroid/view/ViewGroup;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 // android.transition.SidePropagation this
start local 1 // android.view.ViewGroup sceneRoot
0: .line 152
aload 0 /* this */
getfield android.transition.SidePropagation.mSide:I
lookupswitch { // 4
3: 1
5: 1
8388611: 1
8388613: 1
default: 2
}
1: .line 157
StackMap locals:
StackMap stack:
aload 1 /* sceneRoot */
invokevirtual android.view.ViewGroup.getWidth:()I
ireturn
2: .line 159
StackMap locals:
StackMap stack:
aload 1 /* sceneRoot */
invokevirtual android.view.ViewGroup.getHeight:()I
ireturn
end local 1 // android.view.ViewGroup sceneRoot
end local 0 // android.transition.SidePropagation this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/transition/SidePropagation;
0 3 1 sceneRoot Landroid/view/ViewGroup;
MethodParameters:
Name Flags
sceneRoot
}
SourceFile: "SidePropagation.java"