class android.animation.LayoutTransition$3 extends android.animation.AnimatorListenerAdapter
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: android.animation.LayoutTransition$3
  super_class: android.animation.AnimatorListenerAdapter
{
  final android.animation.LayoutTransition this$0;
    descriptor: Landroid/animation/LayoutTransition;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private final android.view.ViewGroup val$parent;
    descriptor: Landroid/view/ViewGroup;
    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 int val$changeReason;
    descriptor: I
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final android.view.View$OnLayoutChangeListener val$listener;
    descriptor: Landroid/view/View$OnLayoutChangeListener;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(android.animation.LayoutTransition, android.view.ViewGroup, android.view.View, int, android.view.View$OnLayoutChangeListener);
    descriptor: (Landroid/animation/LayoutTransition;Landroid/view/ViewGroup;Landroid/view/View;ILandroid/view/View$OnLayoutChangeListener;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=6, args_size=6
        start local 0 // android.animation.LayoutTransition$3 this
         0: .line 960
            aload 0 /* this */
            aload 1
            putfield android.animation.LayoutTransition$3.this$0:Landroid/animation/LayoutTransition;
            aload 0 /* this */
            aload 2
            putfield android.animation.LayoutTransition$3.val$parent:Landroid/view/ViewGroup;
            aload 0 /* this */
            aload 3
            putfield android.animation.LayoutTransition$3.val$child:Landroid/view/View;
            aload 0 /* this */
            iload 4
            putfield android.animation.LayoutTransition$3.val$changeReason:I
            aload 0 /* this */
            aload 5
            putfield android.animation.LayoutTransition$3.val$listener:Landroid/view/View$OnLayoutChangeListener;
            aload 0 /* this */
            invokespecial android.animation.AnimatorListenerAdapter.<init>:()V
            return
        end local 0 // android.animation.LayoutTransition$3 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/animation/LayoutTransition$3;
    MethodParameters:
                  Name  Flags
      this$0            final
      val$parent        final
      val$child         final
      val$changeReason  final
      val$listener      final

  public void onAnimationStart(android.animation.Animator);
    descriptor: (Landroid/animation/Animator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // android.animation.LayoutTransition$3 this
        start local 1 // android.animation.Animator animator
         0: .line 964
            aload 0 /* this */
            getfield android.animation.LayoutTransition$3.this$0:Landroid/animation/LayoutTransition;
            invokevirtual android.animation.LayoutTransition.hasListeners:()Z
            ifeq 13
         1: .line 966
            aload 0 /* this */
            getfield android.animation.LayoutTransition$3.this$0:Landroid/animation/LayoutTransition;
            getfield android.animation.LayoutTransition.mListeners:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clone:()Ljava/lang/Object;
            checkcast java.util.ArrayList
         2: .line 965
            astore 2 /* listeners */
        start local 2 // java.util.ArrayList listeners
         3: .line 967
            aload 2 /* listeners */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 4
            goto 12
      StackMap locals: android.animation.LayoutTransition$3 android.animation.Animator java.util.ArrayList top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.animation.LayoutTransition$TransitionListener
            astore 3 /* listener */
        start local 3 // android.animation.LayoutTransition$TransitionListener listener
         5: .line 968
            aload 3 /* listener */
            aload 0 /* this */
            getfield android.animation.LayoutTransition$3.this$0:Landroid/animation/LayoutTransition;
            aload 0 /* this */
            getfield android.animation.LayoutTransition$3.val$parent:Landroid/view/ViewGroup;
            aload 0 /* this */
            getfield android.animation.LayoutTransition$3.val$child:Landroid/view/View;
         6: .line 969
            aload 0 /* this */
            getfield android.animation.LayoutTransition$3.val$changeReason:I
            iconst_2
            if_icmpne 8
         7: .line 970
            iconst_0
            goto 11
      StackMap locals: android.animation.LayoutTransition$3 android.animation.Animator java.util.ArrayList android.animation.LayoutTransition$TransitionListener java.util.Iterator
      StackMap stack: android.animation.LayoutTransition$TransitionListener android.animation.LayoutTransition android.view.ViewGroup android.view.View
         8: aload 0 /* this */
            getfield android.animation.LayoutTransition$3.val$changeReason:I
            iconst_3
            if_icmpne 10
         9: .line 971
            iconst_1
            goto 11
      StackMap locals: android.animation.LayoutTransition$3 android.animation.Animator java.util.ArrayList android.animation.LayoutTransition$TransitionListener java.util.Iterator
      StackMap stack: android.animation.LayoutTransition$TransitionListener android.animation.LayoutTransition android.view.ViewGroup android.view.View
        10: iconst_4
        11: .line 968
      StackMap locals: android.animation.LayoutTransition$3 android.animation.Animator java.util.ArrayList android.animation.LayoutTransition$TransitionListener java.util.Iterator
      StackMap stack: android.animation.LayoutTransition$TransitionListener android.animation.LayoutTransition android.view.ViewGroup android.view.View int
            invokeinterface android.animation.LayoutTransition$TransitionListener.startTransition:(Landroid/animation/LayoutTransition;Landroid/view/ViewGroup;Landroid/view/View;I)V
        end local 3 // android.animation.LayoutTransition$TransitionListener listener
        12: .line 967
      StackMap locals: android.animation.LayoutTransition$3 android.animation.Animator java.util.ArrayList top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 2 // java.util.ArrayList listeners
        13: .line 974
      StackMap locals: android.animation.LayoutTransition$3 android.animation.Animator
      StackMap stack:
            return
        end local 1 // android.animation.Animator animator
        end local 0 // android.animation.LayoutTransition$3 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Landroid/animation/LayoutTransition$3;
            0   14     1   animator  Landroid/animation/Animator;
            3   13     2  listeners  Ljava/util/ArrayList<Landroid/animation/LayoutTransition$TransitionListener;>;
            5   12     3   listener  Landroid/animation/LayoutTransition$TransitionListener;
    MethodParameters:
          Name  Flags
      animator  

  public void onAnimationCancel(android.animation.Animator);
    descriptor: (Landroid/animation/Animator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.animation.LayoutTransition$3 this
        start local 1 // android.animation.Animator animator
         0: .line 978
            aload 0 /* this */
            getfield android.animation.LayoutTransition$3.val$child:Landroid/view/View;
            aload 0 /* this */
            getfield android.animation.LayoutTransition$3.val$listener:Landroid/view/View$OnLayoutChangeListener;
            invokevirtual android.view.View.removeOnLayoutChangeListener:(Landroid/view/View$OnLayoutChangeListener;)V
         1: .line 979
            aload 0 /* this */
            getfield android.animation.LayoutTransition$3.this$0:Landroid/animation/LayoutTransition;
            getfield android.animation.LayoutTransition.layoutChangeListenerMap:Ljava/util/HashMap;
            aload 0 /* this */
            getfield android.animation.LayoutTransition$3.val$child:Landroid/view/View;
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 980
            return
        end local 1 // android.animation.Animator animator
        end local 0 // android.animation.LayoutTransition$3 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Landroid/animation/LayoutTransition$3;
            0    3     1  animator  Landroid/animation/Animator;
    MethodParameters:
          Name  Flags
      animator  

  public void onAnimationEnd(android.animation.Animator);
    descriptor: (Landroid/animation/Animator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // android.animation.LayoutTransition$3 this
        start local 1 // android.animation.Animator animator
         0: .line 984
            aload 0 /* this */
            getfield android.animation.LayoutTransition$3.this$0:Landroid/animation/LayoutTransition;
            getfield android.animation.LayoutTransition.currentChangingAnimations:Ljava/util/LinkedHashMap;
            aload 0 /* this */
            getfield android.animation.LayoutTransition$3.val$child:Landroid/view/View;
            invokevirtual java.util.LinkedHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 985
            aload 0 /* this */
            getfield android.animation.LayoutTransition$3.this$0:Landroid/animation/LayoutTransition;
            invokevirtual android.animation.LayoutTransition.hasListeners:()Z
            ifeq 14
         2: .line 987
            aload 0 /* this */
            getfield android.animation.LayoutTransition$3.this$0:Landroid/animation/LayoutTransition;
            getfield android.animation.LayoutTransition.mListeners:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clone:()Ljava/lang/Object;
            checkcast java.util.ArrayList
         3: .line 986
            astore 2 /* listeners */
        start local 2 // java.util.ArrayList listeners
         4: .line 988
            aload 2 /* listeners */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 4
            goto 13
      StackMap locals: android.animation.LayoutTransition$3 android.animation.Animator java.util.ArrayList top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.animation.LayoutTransition$TransitionListener
            astore 3 /* listener */
        start local 3 // android.animation.LayoutTransition$TransitionListener listener
         6: .line 989
            aload 3 /* listener */
            aload 0 /* this */
            getfield android.animation.LayoutTransition$3.this$0:Landroid/animation/LayoutTransition;
            aload 0 /* this */
            getfield android.animation.LayoutTransition$3.val$parent:Landroid/view/ViewGroup;
            aload 0 /* this */
            getfield android.animation.LayoutTransition$3.val$child:Landroid/view/View;
         7: .line 990
            aload 0 /* this */
            getfield android.animation.LayoutTransition$3.val$changeReason:I
            iconst_2
            if_icmpne 9
         8: .line 991
            iconst_0
            goto 12
      StackMap locals: android.animation.LayoutTransition$3 android.animation.Animator java.util.ArrayList android.animation.LayoutTransition$TransitionListener java.util.Iterator
      StackMap stack: android.animation.LayoutTransition$TransitionListener android.animation.LayoutTransition android.view.ViewGroup android.view.View
         9: aload 0 /* this */
            getfield android.animation.LayoutTransition$3.val$changeReason:I
            iconst_3
            if_icmpne 11
        10: .line 992
            iconst_1
            goto 12
      StackMap locals: android.animation.LayoutTransition$3 android.animation.Animator java.util.ArrayList android.animation.LayoutTransition$TransitionListener java.util.Iterator
      StackMap stack: android.animation.LayoutTransition$TransitionListener android.animation.LayoutTransition android.view.ViewGroup android.view.View
        11: iconst_4
        12: .line 989
      StackMap locals: android.animation.LayoutTransition$3 android.animation.Animator java.util.ArrayList android.animation.LayoutTransition$TransitionListener java.util.Iterator
      StackMap stack: android.animation.LayoutTransition$TransitionListener android.animation.LayoutTransition android.view.ViewGroup android.view.View int
            invokeinterface android.animation.LayoutTransition$TransitionListener.endTransition:(Landroid/animation/LayoutTransition;Landroid/view/ViewGroup;Landroid/view/View;I)V
        end local 3 // android.animation.LayoutTransition$TransitionListener listener
        13: .line 988
      StackMap locals: android.animation.LayoutTransition$3 android.animation.Animator java.util.ArrayList top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 2 // java.util.ArrayList listeners
        14: .line 995
      StackMap locals: android.animation.LayoutTransition$3 android.animation.Animator
      StackMap stack:
            return
        end local 1 // android.animation.Animator animator
        end local 0 // android.animation.LayoutTransition$3 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Landroid/animation/LayoutTransition$3;
            0   15     1   animator  Landroid/animation/Animator;
            4   14     2  listeners  Ljava/util/ArrayList<Landroid/animation/LayoutTransition$TransitionListener;>;
            6   13     3   listener  Landroid/animation/LayoutTransition$TransitionListener;
    MethodParameters:
          Name  Flags
      animator  
}
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$3
  public abstract TransitionListener = android.animation.LayoutTransition$TransitionListener of android.animation.LayoutTransition
  public abstract OnLayoutChangeListener = android.view.View$OnLayoutChangeListener of android.view.View