class android.widget.Editor$MagnifierMotionAnimator
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: android.widget.Editor$MagnifierMotionAnimator
  super_class: java.lang.Object
{
  private static final long DURATION;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 100

  private final android.widget.Magnifier mMagnifier;
    descriptor: Landroid/widget/Magnifier;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.animation.ValueAnimator mAnimator;
    descriptor: Landroid/animation/ValueAnimator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean mMagnifierIsShowing;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private float mAnimationStartX;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float mAnimationStartY;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float mAnimationCurrentX;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float mAnimationCurrentY;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float mLastX;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float mLastY;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private void <init>(android.widget.Magnifier);
    descriptor: (Landroid/widget/Magnifier;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // android.widget.Editor$MagnifierMotionAnimator this
        start local 1 // android.widget.Magnifier magnifier
         0: .line 4374
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 4375
            aload 0 /* this */
            aload 1 /* magnifier */
            putfield android.widget.Editor$MagnifierMotionAnimator.mMagnifier:Landroid/widget/Magnifier;
         2: .line 4377
            aload 0 /* this */
            iconst_2
            newarray 6
            dup
            iconst_0
            fconst_0
            fastore
            dup
            iconst_1
            fconst_1
            fastore
            invokestatic android.animation.ValueAnimator.ofFloat:([F)Landroid/animation/ValueAnimator;
            putfield android.widget.Editor$MagnifierMotionAnimator.mAnimator:Landroid/animation/ValueAnimator;
         3: .line 4378
            aload 0 /* this */
            getfield android.widget.Editor$MagnifierMotionAnimator.mAnimator:Landroid/animation/ValueAnimator;
            ldc 100
            invokevirtual android.animation.ValueAnimator.setDuration:(J)Landroid/animation/ValueAnimator;
            pop
         4: .line 4379
            aload 0 /* this */
            getfield android.widget.Editor$MagnifierMotionAnimator.mAnimator:Landroid/animation/ValueAnimator;
            new android.view.animation.LinearInterpolator
            dup
            invokespecial android.view.animation.LinearInterpolator.<init>:()V
            invokevirtual android.animation.ValueAnimator.setInterpolator:(Landroid/animation/TimeInterpolator;)V
         5: .line 4380
            aload 0 /* this */
            getfield android.widget.Editor$MagnifierMotionAnimator.mAnimator:Landroid/animation/ValueAnimator;
            aload 0 /* this */
            invokedynamic onAnimationUpdate(Landroid/widget/Editor$MagnifierMotionAnimator;)Landroid/animation/ValueAnimator$AnimatorUpdateListener;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Landroid/animation/ValueAnimator;)V
                  android/widget/Editor$MagnifierMotionAnimator.lambda$0(Landroid/animation/ValueAnimator;)V (7)
                  (Landroid/animation/ValueAnimator;)V
            invokevirtual android.animation.ValueAnimator.addUpdateListener:(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V
         6: .line 4388
            return
        end local 1 // android.widget.Magnifier magnifier
        end local 0 // android.widget.Editor$MagnifierMotionAnimator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Landroid/widget/Editor$MagnifierMotionAnimator;
            0    7     1  magnifier  Landroid/widget/Magnifier;
    MethodParameters:
           Name  Flags
      magnifier  final

  private void show(float, float);
    descriptor: (FF)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // android.widget.Editor$MagnifierMotionAnimator this
        start local 1 // float x
        start local 2 // float y
         0: .line 4397
            aload 0 /* this */
            getfield android.widget.Editor$MagnifierMotionAnimator.mMagnifierIsShowing:Z
            ifeq 1
            fload 2 /* y */
            aload 0 /* this */
            getfield android.widget.Editor$MagnifierMotionAnimator.mLastY:F
            fcmpl
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 3 /* startNewAnimation */
        start local 3 // boolean startNewAnimation
         3: .line 4399
            iload 3 /* startNewAnimation */
            ifeq 13
         4: .line 4400
            aload 0 /* this */
            getfield android.widget.Editor$MagnifierMotionAnimator.mAnimator:Landroid/animation/ValueAnimator;
            invokevirtual android.animation.ValueAnimator.isRunning:()Z
            ifeq 9
         5: .line 4401
            aload 0 /* this */
            getfield android.widget.Editor$MagnifierMotionAnimator.mAnimator:Landroid/animation/ValueAnimator;
            invokevirtual android.animation.ValueAnimator.cancel:()V
         6: .line 4402
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Editor$MagnifierMotionAnimator.mAnimationCurrentX:F
            putfield android.widget.Editor$MagnifierMotionAnimator.mAnimationStartX:F
         7: .line 4403
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Editor$MagnifierMotionAnimator.mAnimationCurrentY:F
            putfield android.widget.Editor$MagnifierMotionAnimator.mAnimationStartY:F
         8: .line 4404
            goto 11
         9: .line 4405
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Editor$MagnifierMotionAnimator.mLastX:F
            putfield android.widget.Editor$MagnifierMotionAnimator.mAnimationStartX:F
        10: .line 4406
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Editor$MagnifierMotionAnimator.mLastY:F
            putfield android.widget.Editor$MagnifierMotionAnimator.mAnimationStartY:F
        11: .line 4408
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Editor$MagnifierMotionAnimator.mAnimator:Landroid/animation/ValueAnimator;
            invokevirtual android.animation.ValueAnimator.start:()V
        12: .line 4409
            goto 15
        13: .line 4410
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Editor$MagnifierMotionAnimator.mAnimator:Landroid/animation/ValueAnimator;
            invokevirtual android.animation.ValueAnimator.isRunning:()Z
            ifne 15
        14: .line 4411
            aload 0 /* this */
            getfield android.widget.Editor$MagnifierMotionAnimator.mMagnifier:Landroid/widget/Magnifier;
            fload 1 /* x */
            fload 2 /* y */
            invokevirtual android.widget.Magnifier.show:(FF)V
        15: .line 4414
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            fload 1 /* x */
            putfield android.widget.Editor$MagnifierMotionAnimator.mLastX:F
        16: .line 4415
            aload 0 /* this */
            fload 2 /* y */
            putfield android.widget.Editor$MagnifierMotionAnimator.mLastY:F
        17: .line 4416
            aload 0 /* this */
            iconst_1
            putfield android.widget.Editor$MagnifierMotionAnimator.mMagnifierIsShowing:Z
        18: .line 4417
            return
        end local 3 // boolean startNewAnimation
        end local 2 // float y
        end local 1 // float x
        end local 0 // android.widget.Editor$MagnifierMotionAnimator this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   19     0               this  Landroid/widget/Editor$MagnifierMotionAnimator;
            0   19     1                  x  F
            0   19     2                  y  F
            3   19     3  startNewAnimation  Z
    MethodParameters:
      Name  Flags
      x     final
      y     final

  private void update();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.Editor$MagnifierMotionAnimator this
         0: .line 4423
            aload 0 /* this */
            getfield android.widget.Editor$MagnifierMotionAnimator.mMagnifier:Landroid/widget/Magnifier;
            invokevirtual android.widget.Magnifier.update:()V
         1: .line 4424
            return
        end local 0 // android.widget.Editor$MagnifierMotionAnimator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/widget/Editor$MagnifierMotionAnimator;

  private void dismiss();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.widget.Editor$MagnifierMotionAnimator this
         0: .line 4430
            aload 0 /* this */
            getfield android.widget.Editor$MagnifierMotionAnimator.mMagnifier:Landroid/widget/Magnifier;
            invokevirtual android.widget.Magnifier.dismiss:()V
         1: .line 4431
            aload 0 /* this */
            getfield android.widget.Editor$MagnifierMotionAnimator.mAnimator:Landroid/animation/ValueAnimator;
            invokevirtual android.animation.ValueAnimator.cancel:()V
         2: .line 4432
            aload 0 /* this */
            iconst_0
            putfield android.widget.Editor$MagnifierMotionAnimator.mMagnifierIsShowing:Z
         3: .line 4433
            return
        end local 0 // android.widget.Editor$MagnifierMotionAnimator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/widget/Editor$MagnifierMotionAnimator;

  private void lambda$0(android.animation.ValueAnimator);
    descriptor: (Landroid/animation/ValueAnimator;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.widget.Editor$MagnifierMotionAnimator this
        start local 1 // android.animation.ValueAnimator animation
         0: .line 4382
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Editor$MagnifierMotionAnimator.mAnimationStartX:F
         1: .line 4383
            aload 0 /* this */
            getfield android.widget.Editor$MagnifierMotionAnimator.mLastX:F
            aload 0 /* this */
            getfield android.widget.Editor$MagnifierMotionAnimator.mAnimationStartX:F
            fsub
            aload 1 /* animation */
            invokevirtual android.animation.ValueAnimator.getAnimatedFraction:()F
            fmul
            fadd
         2: .line 4382
            putfield android.widget.Editor$MagnifierMotionAnimator.mAnimationCurrentX:F
         3: .line 4384
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Editor$MagnifierMotionAnimator.mAnimationStartY:F
         4: .line 4385
            aload 0 /* this */
            getfield android.widget.Editor$MagnifierMotionAnimator.mLastY:F
            aload 0 /* this */
            getfield android.widget.Editor$MagnifierMotionAnimator.mAnimationStartY:F
            fsub
            aload 1 /* animation */
            invokevirtual android.animation.ValueAnimator.getAnimatedFraction:()F
            fmul
            fadd
         5: .line 4384
            putfield android.widget.Editor$MagnifierMotionAnimator.mAnimationCurrentY:F
         6: .line 4386
            aload 0 /* this */
            getfield android.widget.Editor$MagnifierMotionAnimator.mMagnifier:Landroid/widget/Magnifier;
            aload 0 /* this */
            getfield android.widget.Editor$MagnifierMotionAnimator.mAnimationCurrentX:F
            aload 0 /* this */
            getfield android.widget.Editor$MagnifierMotionAnimator.mAnimationCurrentY:F
            invokevirtual android.widget.Magnifier.show:(FF)V
         7: .line 4387
            return
        end local 1 // android.animation.ValueAnimator animation
        end local 0 // android.widget.Editor$MagnifierMotionAnimator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Landroid/widget/Editor$MagnifierMotionAnimator;
            0    8     1  animation  Landroid/animation/ValueAnimator;
}
SourceFile: "Editor.java"
NestHost: android.widget.Editor
InnerClasses:
  public abstract AnimatorUpdateListener = android.animation.ValueAnimator$AnimatorUpdateListener of android.animation.ValueAnimator
  private MagnifierMotionAnimator = android.widget.Editor$MagnifierMotionAnimator of android.widget.Editor
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles