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 // android.animation.LayoutTransition$2 this
         0: .line 883
            aload 0 /* this */
            aload 1
            putfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
            aload 0 /* this */
            aload 2
            putfield android.animation.LayoutTransition$2.val$anim:Landroid/animation/Animator;
            aload 0 /* this */
            iload 3
            putfield android.animation.LayoutTransition$2.val$changeReason:I
            aload 0 /* this */
            lload 4
            putfield android.animation.LayoutTransition$2.val$duration:J
            aload 0 /* this */
            aload 6
            putfield android.animation.LayoutTransition$2.val$child:Landroid/view/View;
            aload 0 /* this */
            aload 7
            putfield android.animation.LayoutTransition$2.val$parent:Landroid/view/ViewGroup;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // android.animation.LayoutTransition$2 this
      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 // android.animation.LayoutTransition$2 this
        start local 1 // android.view.View v
        start local 2 // int left
        start local 3 // int top
        start local 4 // int right
        start local 5 // int bottom
        start local 6 // int oldLeft
        start local 7 // int oldTop
        start local 8 // int oldRight
        start local 9 // int oldBottom
         0: .line 888
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.val$anim:Landroid/animation/Animator;
            invokevirtual android.animation.Animator.setupEndValues:()V
         1: .line 889
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.val$anim:Landroid/animation/Animator;
            instanceof android.animation.ValueAnimator
            ifeq 24
         2: .line 890
            iconst_0
            istore 10 /* valuesDiffer */
        start local 10 // boolean valuesDiffer
         3: .line 891
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.val$anim:Landroid/animation/Animator;
            checkcast android.animation.ValueAnimator
            astore 11 /* valueAnim */
        start local 11 // android.animation.ValueAnimator valueAnim
         4: .line 892
            aload 11 /* valueAnim */
            invokevirtual android.animation.ValueAnimator.getValues:()[Landroid/animation/PropertyValuesHolder;
            astore 12 /* oldValues */
        start local 12 // android.animation.PropertyValuesHolder[] oldValues
         5: .line 893
            iconst_0
            istore 13 /* i */
        start local 13 // int i
         6: goto 21
         7: .line 894
      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 /* oldValues */
            iload 13 /* i */
            aaload
            astore 14 /* pvh */
        start local 14 // android.animation.PropertyValuesHolder pvh
         8: .line 895
            aload 14 /* pvh */
            getfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
            instanceof android.animation.KeyframeSet
            ifeq 18
         9: .line 896
            aload 14 /* pvh */
            getfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
            checkcast android.animation.KeyframeSet
            astore 15 /* keyframeSet */
        start local 15 // android.animation.KeyframeSet keyframeSet
        10: .line 897
            aload 15 /* keyframeSet */
            getfield android.animation.KeyframeSet.mFirstKeyframe:Landroid/animation/Keyframe;
            ifnull 16
        11: .line 898
            aload 15 /* keyframeSet */
            getfield android.animation.KeyframeSet.mLastKeyframe:Landroid/animation/Keyframe;
            ifnull 16
        12: .line 899
            aload 15 /* keyframeSet */
            getfield android.animation.KeyframeSet.mFirstKeyframe:Landroid/animation/Keyframe;
            invokevirtual android.animation.Keyframe.getValue:()Ljava/lang/Object;
        13: .line 900
            aload 15 /* keyframeSet */
            getfield android.animation.KeyframeSet.mLastKeyframe:Landroid/animation/Keyframe;
            invokevirtual android.animation.Keyframe.getValue:()Ljava/lang/Object;
        14: .line 899
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
        15: .line 900
            ifne 20
        16: .line 901
      StackMap locals: android.animation.PropertyValuesHolder android.animation.KeyframeSet
      StackMap stack:
            iconst_1
            istore 10 /* valuesDiffer */
        end local 15 // android.animation.KeyframeSet keyframeSet
        17: .line 903
            goto 20
      StackMap locals:
      StackMap stack:
        18: aload 14 /* pvh */
            getfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
            fconst_0
            invokeinterface android.animation.Keyframes.getValue:(F)Ljava/lang/Object;
            aload 14 /* pvh */
            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: .line 904
            iconst_1
            istore 10 /* valuesDiffer */
        end local 14 // android.animation.PropertyValuesHolder pvh
        20: .line 893
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 13 /* i */
            aload 12 /* oldValues */
            arraylength
            if_icmplt 7
        end local 13 // int i
        22: .line 907
            iload 10 /* valuesDiffer */
            ifne 24
        23: .line 908
            return
        end local 12 // android.animation.PropertyValuesHolder[] oldValues
        end local 11 // android.animation.ValueAnimator valueAnim
        end local 10 // boolean valuesDiffer
        24: .line 912
      StackMap locals: android.animation.LayoutTransition$2 android.view.View int int int int int int int int
      StackMap stack:
            lconst_0
            lstore 10 /* startDelay */
        start local 10 // long startDelay
        25: .line 913
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.val$changeReason:I
            tableswitch { // 2 - 4
                    2: 26
                    3: 31
                    4: 38
              default: 42
          }
        26: .line 915
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
            getfield android.animation.LayoutTransition.mChangingAppearingDelay:J
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
            getfield android.animation.LayoutTransition.staggerDelay:J
            ladd
            lstore 10 /* startDelay */
        27: .line 916
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
            dup
            getfield android.animation.LayoutTransition.staggerDelay:J
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
            getfield android.animation.LayoutTransition.mChangingAppearingStagger:J
            ladd
            putfield android.animation.LayoutTransition.staggerDelay:J
        28: .line 917
            aload 0 /* this */
            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: .line 918
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.val$anim:Landroid/animation/Animator;
            aload 0 /* this */
            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: .line 920
            goto 42
        31: .line 922
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
            getfield android.animation.LayoutTransition.mChangingDisappearingDelay:J
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
            getfield android.animation.LayoutTransition.staggerDelay:J
            ladd
            lstore 10 /* startDelay */
        32: .line 923
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
            dup
            getfield android.animation.LayoutTransition.staggerDelay:J
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
            getfield android.animation.LayoutTransition.mChangingDisappearingStagger:J
            ladd
            putfield android.animation.LayoutTransition.staggerDelay:J
        33: .line 924
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
            getfield android.animation.LayoutTransition.mChangingDisappearingInterpolator:Landroid/animation/TimeInterpolator;
        34: .line 925
            getstatic android.animation.LayoutTransition.sChangingDisappearingInterpolator:Landroid/animation/TimeInterpolator;
        35: .line 924
            if_acmpeq 42
        36: .line 926
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.val$anim:Landroid/animation/Animator;
            aload 0 /* this */
            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: .line 928
            goto 42
        38: .line 930
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
            getfield android.animation.LayoutTransition.mChangingDelay:J
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
            getfield android.animation.LayoutTransition.staggerDelay:J
            ladd
            lstore 10 /* startDelay */
        39: .line 931
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
            dup
            getfield android.animation.LayoutTransition.staggerDelay:J
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
            getfield android.animation.LayoutTransition.mChangingStagger:J
            ladd
            putfield android.animation.LayoutTransition.staggerDelay:J
        40: .line 932
            aload 0 /* this */
            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: .line 933
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.val$anim:Landroid/animation/Animator;
            aload 0 /* this */
            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: .line 937
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.val$anim:Landroid/animation/Animator;
            lload 10 /* startDelay */
            invokevirtual android.animation.Animator.setStartDelay:(J)V
        43: .line 938
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.val$anim:Landroid/animation/Animator;
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.val$duration:J
            invokevirtual android.animation.Animator.setDuration:(J)Landroid/animation/Animator;
            pop
        44: .line 940
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
            getfield android.animation.LayoutTransition.currentChangingAnimations:Ljava/util/LinkedHashMap;
            aload 0 /* this */
            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 /* prevAnimation */
        start local 12 // android.animation.Animator prevAnimation
        45: .line 941
            aload 12 /* prevAnimation */
            ifnull 47
        46: .line 942
            aload 12 /* prevAnimation */
            invokevirtual android.animation.Animator.cancel:()V
        47: .line 944
      StackMap locals: android.animation.Animator
      StackMap stack:
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
            getfield android.animation.LayoutTransition.pendingAnimations:Ljava/util/HashMap;
            aload 0 /* this */
            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 /* pendingAnimation */
        start local 13 // android.animation.Animator pendingAnimation
        48: .line 945
            aload 13 /* pendingAnimation */
            ifnull 50
        49: .line 946
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
            getfield android.animation.LayoutTransition.pendingAnimations:Ljava/util/HashMap;
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.val$child:Landroid/view/View;
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        50: .line 949
      StackMap locals: android.animation.Animator
      StackMap stack:
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
            getfield android.animation.LayoutTransition.currentChangingAnimations:Ljava/util/LinkedHashMap;
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.val$child:Landroid/view/View;
            aload 0 /* this */
            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: .line 951
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.val$parent:Landroid/view/ViewGroup;
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
            invokevirtual android.view.ViewGroup.requestTransitionStart:(Landroid/animation/LayoutTransition;)V
        52: .line 955
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.val$child:Landroid/view/View;
            aload 0 /* this */
            invokevirtual android.view.View.removeOnLayoutChangeListener:(Landroid/view/View$OnLayoutChangeListener;)V
        53: .line 956
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.this$0:Landroid/animation/LayoutTransition;
            getfield android.animation.LayoutTransition.layoutChangeListenerMap:Ljava/util/HashMap;
            aload 0 /* this */
            getfield android.animation.LayoutTransition$2.val$child:Landroid/view/View;
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        54: .line 957
            return
        end local 13 // android.animation.Animator pendingAnimation
        end local 12 // android.animation.Animator prevAnimation
        end local 10 // long startDelay
        end local 9 // int oldBottom
        end local 8 // int oldRight
        end local 7 // int oldTop
        end local 6 // int oldLeft
        end local 5 // int bottom
        end local 4 // int right
        end local 3 // int top
        end local 2 // int left
        end local 1 // android.view.View v
        end local 0 // android.animation.LayoutTransition$2 this
      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