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"