class android.animation.LayoutTransition$2 implements android.view.View$OnLayoutChangeListener
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: android.animation.LayoutTransition$2
super_class: java.lang.Object
{
final android.animation.LayoutTransition this$0;
descriptor: Landroid/animation/LayoutTransition;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final android.animation.Animator val$anim;
descriptor: Landroid/animation/Animator;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final int val$changeReason;
descriptor: I
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final long val$duration;
descriptor: J
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final android.view.View val$child;
descriptor: Landroid/view/View;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final android.view.ViewGroup val$parent;
descriptor: Landroid/view/ViewGroup;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(android.animation.LayoutTransition, android.animation.Animator, int, long, android.view.View, android.view.ViewGroup);
descriptor: (Landroid/animation/LayoutTransition;Landroid/animation/Animator;IJLandroid/view/View;Landroid/view/ViewGroup;)V
flags: (0x0000)
Code:
stack=3, locals=8, args_size=7
start local 0 0: aload 0
aload 1
putfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
aload 0
aload 2
putfield android.animation.LayoutTransition$2.val$anim:Landroid/animation/Animator;
aload 0
iload 3
putfield android.animation.LayoutTransition$2.val$changeReason:I
aload 0
lload 4
putfield android.animation.LayoutTransition$2.val$duration:J
aload 0
aload 6
putfield android.animation.LayoutTransition$2.val$child:Landroid/view/View;
aload 0
aload 7
putfield android.animation.LayoutTransition$2.val$parent:Landroid/view/ViewGroup;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/animation/LayoutTransition$2;
MethodParameters:
Name Flags
this$0 final
val$anim final
val$changeReason final
val$duration final
val$child final
val$parent final
public void onLayoutChange(android.view.View, int, int, int, int, int, int, int, int);
descriptor: (Landroid/view/View;IIIIIIII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=16, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: aload 0
getfield android.animation.LayoutTransition$2.val$anim:Landroid/animation/Animator;
invokevirtual android.animation.Animator.setupEndValues:()V
1: aload 0
getfield android.animation.LayoutTransition$2.val$anim:Landroid/animation/Animator;
instanceof android.animation.ValueAnimator
ifeq 24
2: iconst_0
istore 10
start local 10 3: aload 0
getfield android.animation.LayoutTransition$2.val$anim:Landroid/animation/Animator;
checkcast android.animation.ValueAnimator
astore 11
start local 11 4: aload 11
invokevirtual android.animation.ValueAnimator.getValues:()[Landroid/animation/PropertyValuesHolder;
astore 12
start local 12 5: iconst_0
istore 13
start local 13 6: goto 21
7: StackMap locals: android.animation.LayoutTransition$2 android.view.View int int int int int int int int int android.animation.ValueAnimator android.animation.PropertyValuesHolder[] int
StackMap stack:
aload 12
iload 13
aaload
astore 14
start local 14 8: aload 14
getfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
instanceof android.animation.KeyframeSet
ifeq 18
9: aload 14
getfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
checkcast android.animation.KeyframeSet
astore 15
start local 15 10: aload 15
getfield android.animation.KeyframeSet.mFirstKeyframe:Landroid/animation/Keyframe;
ifnull 16
11: aload 15
getfield android.animation.KeyframeSet.mLastKeyframe:Landroid/animation/Keyframe;
ifnull 16
12: aload 15
getfield android.animation.KeyframeSet.mFirstKeyframe:Landroid/animation/Keyframe;
invokevirtual android.animation.Keyframe.getValue:()Ljava/lang/Object;
13: aload 15
getfield android.animation.KeyframeSet.mLastKeyframe:Landroid/animation/Keyframe;
invokevirtual android.animation.Keyframe.getValue:()Ljava/lang/Object;
14: invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
15: ifne 20
16: StackMap locals: android.animation.PropertyValuesHolder android.animation.KeyframeSet
StackMap stack:
iconst_1
istore 10
end local 15 17: goto 20
StackMap locals:
StackMap stack:
18: aload 14
getfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
fconst_0
invokeinterface android.animation.Keyframes.getValue:(F)Ljava/lang/Object;
aload 14
getfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
fconst_1
invokeinterface android.animation.Keyframes.getValue:(F)Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 20
19: iconst_1
istore 10
end local 14 20: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
21: iload 13
aload 12
arraylength
if_icmplt 7
end local 13 22: iload 10
ifne 24
23: return
end local 12 end local 11 end local 10 24: StackMap locals: android.animation.LayoutTransition$2 android.view.View int int int int int int int int
StackMap stack:
lconst_0
lstore 10
start local 10 25: aload 0
getfield android.animation.LayoutTransition$2.val$changeReason:I
tableswitch { // 2 - 4
2: 26
3: 31
4: 38
default: 42
}
26: StackMap locals: long
StackMap stack:
aload 0
getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
getfield android.animation.LayoutTransition.mChangingAppearingDelay:J
aload 0
getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
getfield android.animation.LayoutTransition.staggerDelay:J
ladd
lstore 10
27: aload 0
getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
dup
getfield android.animation.LayoutTransition.staggerDelay:J
aload 0
getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
getfield android.animation.LayoutTransition.mChangingAppearingStagger:J
ladd
putfield android.animation.LayoutTransition.staggerDelay:J
28: aload 0
getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
getfield android.animation.LayoutTransition.mChangingAppearingInterpolator:Landroid/animation/TimeInterpolator;
getstatic android.animation.LayoutTransition.sChangingAppearingInterpolator:Landroid/animation/TimeInterpolator;
if_acmpeq 42
29: aload 0
getfield android.animation.LayoutTransition$2.val$anim:Landroid/animation/Animator;
aload 0
getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
getfield android.animation.LayoutTransition.mChangingAppearingInterpolator:Landroid/animation/TimeInterpolator;
invokevirtual android.animation.Animator.setInterpolator:(Landroid/animation/TimeInterpolator;)V
30: goto 42
31: StackMap locals:
StackMap stack:
aload 0
getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
getfield android.animation.LayoutTransition.mChangingDisappearingDelay:J
aload 0
getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
getfield android.animation.LayoutTransition.staggerDelay:J
ladd
lstore 10
32: aload 0
getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
dup
getfield android.animation.LayoutTransition.staggerDelay:J
aload 0
getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
getfield android.animation.LayoutTransition.mChangingDisappearingStagger:J
ladd
putfield android.animation.LayoutTransition.staggerDelay:J
33: aload 0
getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
getfield android.animation.LayoutTransition.mChangingDisappearingInterpolator:Landroid/animation/TimeInterpolator;
34: getstatic android.animation.LayoutTransition.sChangingDisappearingInterpolator:Landroid/animation/TimeInterpolator;
35: if_acmpeq 42
36: aload 0
getfield android.animation.LayoutTransition$2.val$anim:Landroid/animation/Animator;
aload 0
getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
getfield android.animation.LayoutTransition.mChangingDisappearingInterpolator:Landroid/animation/TimeInterpolator;
invokevirtual android.animation.Animator.setInterpolator:(Landroid/animation/TimeInterpolator;)V
37: goto 42
38: StackMap locals:
StackMap stack:
aload 0
getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
getfield android.animation.LayoutTransition.mChangingDelay:J
aload 0
getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
getfield android.animation.LayoutTransition.staggerDelay:J
ladd
lstore 10
39: aload 0
getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
dup
getfield android.animation.LayoutTransition.staggerDelay:J
aload 0
getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
getfield android.animation.LayoutTransition.mChangingStagger:J
ladd
putfield android.animation.LayoutTransition.staggerDelay:J
40: aload 0
getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
getfield android.animation.LayoutTransition.mChangingInterpolator:Landroid/animation/TimeInterpolator;
getstatic android.animation.LayoutTransition.sChangingInterpolator:Landroid/animation/TimeInterpolator;
if_acmpeq 42
41: aload 0
getfield android.animation.LayoutTransition$2.val$anim:Landroid/animation/Animator;
aload 0
getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
getfield android.animation.LayoutTransition.mChangingInterpolator:Landroid/animation/TimeInterpolator;
invokevirtual android.animation.Animator.setInterpolator:(Landroid/animation/TimeInterpolator;)V
42: StackMap locals:
StackMap stack:
aload 0
getfield android.animation.LayoutTransition$2.val$anim:Landroid/animation/Animator;
lload 10
invokevirtual android.animation.Animator.setStartDelay:(J)V
43: aload 0
getfield android.animation.LayoutTransition$2.val$anim:Landroid/animation/Animator;
aload 0
getfield android.animation.LayoutTransition$2.val$duration:J
invokevirtual android.animation.Animator.setDuration:(J)Landroid/animation/Animator;
pop
44: aload 0
getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
getfield android.animation.LayoutTransition.currentChangingAnimations:Ljava/util/LinkedHashMap;
aload 0
getfield android.animation.LayoutTransition$2.val$child:Landroid/view/View;
invokevirtual java.util.LinkedHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.animation.Animator
astore 12
start local 12 45: aload 12
ifnull 47
46: aload 12
invokevirtual android.animation.Animator.cancel:()V
47: StackMap locals: android.animation.Animator
StackMap stack:
aload 0
getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
getfield android.animation.LayoutTransition.pendingAnimations:Ljava/util/HashMap;
aload 0
getfield android.animation.LayoutTransition$2.val$child:Landroid/view/View;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.animation.Animator
astore 13
start local 13 48: aload 13
ifnull 50
49: aload 0
getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
getfield android.animation.LayoutTransition.pendingAnimations:Ljava/util/HashMap;
aload 0
getfield android.animation.LayoutTransition$2.val$child:Landroid/view/View;
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
50: StackMap locals: android.animation.Animator
StackMap stack:
aload 0
getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
getfield android.animation.LayoutTransition.currentChangingAnimations:Ljava/util/LinkedHashMap;
aload 0
getfield android.animation.LayoutTransition$2.val$child:Landroid/view/View;
aload 0
getfield android.animation.LayoutTransition$2.val$anim:Landroid/animation/Animator;
invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
51: aload 0
getfield android.animation.LayoutTransition$2.val$parent:Landroid/view/ViewGroup;
aload 0
getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
invokevirtual android.view.ViewGroup.requestTransitionStart:(Landroid/animation/LayoutTransition;)V
52: aload 0
getfield android.animation.LayoutTransition$2.val$child:Landroid/view/View;
aload 0
invokevirtual android.view.View.removeOnLayoutChangeListener:(Landroid/view/View$OnLayoutChangeListener;)V
53: aload 0
getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
getfield android.animation.LayoutTransition.layoutChangeListenerMap:Ljava/util/HashMap;
aload 0
getfield android.animation.LayoutTransition$2.val$child:Landroid/view/View;
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
54: return
end local 13 end local 12 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 55 0 this Landroid/animation/LayoutTransition$2;
0 55 1 v Landroid/view/View;
0 55 2 left I
0 55 3 top I
0 55 4 right I
0 55 5 bottom I
0 55 6 oldLeft I
0 55 7 oldTop I
0 55 8 oldRight I
0 55 9 oldBottom I
3 24 10 valuesDiffer Z
4 24 11 valueAnim Landroid/animation/ValueAnimator;
5 24 12 oldValues [Landroid/animation/PropertyValuesHolder;
6 22 13 i I
8 20 14 pvh Landroid/animation/PropertyValuesHolder;
10 17 15 keyframeSet Landroid/animation/KeyframeSet;
25 55 10 startDelay J
45 55 12 prevAnimation Landroid/animation/Animator;
48 55 13 pendingAnimation Landroid/animation/Animator;
MethodParameters:
Name Flags
v
left
top
right
bottom
oldLeft
oldTop
oldRight
oldBottom
}
SourceFile: "LayoutTransition.java"
EnclosingMethod: android.animation.LayoutTransition.setupChangeAnimation:(Landroid/view/ViewGroup;ILandroid/animation/Animator;JLandroid/view/View;)V
NestHost: android.animation.LayoutTransition
InnerClasses:
android.animation.LayoutTransition$2
public abstract OnLayoutChangeListener = android.view.View$OnLayoutChangeListener of android.view.View