Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c01bd116 authored by John Reck's avatar John Reck
Browse files

Return Animator instead of ValueAnimator

Change-Id: I29a7cfdc7ffbb3a4d33f9e64f9d7ca791f5c947c
parent 6eed108e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -34414,7 +34414,7 @@ package android.view {
  }
  public final class ViewAnimationUtils {
    method public static final android.animation.ValueAnimator createCircularReveal(android.view.View, int, int, float, float);
    method public static final android.animation.Animator createCircularReveal(android.view.View, int, int, float, float);
  }
  public class ViewConfiguration {
+35 −0
Original line number Diff line number Diff line
@@ -433,4 +433,39 @@ public abstract class Animator implements Cloneable {
         */
        void onAnimationResume(Animator animation);
    }

    /**
     * <p>Whether or not the Animator is allowed to run asynchronously off of
     * the UI thread. This is a hint that informs the Animator that it is
     * OK to run the animation off-thread, however the Animator may decide
     * that it must run the animation on the UI thread anyway.
     *
     * <p>Regardless of whether or not the animation runs asynchronously, all
     * listener callbacks will be called on the UI thread.</p>
     *
     * <p>To be able to use this hint the following must be true:</p>
     * <ol>
     * <li>The animator is immutable while {@link #isStarted()} is true. Requests
     *    to change duration, delay, etc... may be ignored.</li>
     * <li>Lifecycle callback events may be asynchronous. Events such as
     *    {@link Animator.AnimatorListener#onAnimationEnd(Animator)} or
     *    {@link Animator.AnimatorListener#onAnimationRepeat(Animator)} may end up delayed
     *    as they must be posted back to the UI thread, and any actions performed
     *    by those callbacks (such as starting new animations) will not happen
     *    in the same frame.</li>
     * <li>State change requests ({@link #cancel()}, {@link #end()}, {@link #reverse()}, etc...)
     *    may be asynchronous. It is guaranteed that all state changes that are
     *    performed on the UI thread in the same frame will be applied as a single
     *    atomic update, however that frame may be the current frame,
     *    the next frame, or some future frame. This will also impact the observed
     *    state of the Animator. For example, {@link #isStarted()} may still return true
     *    after a call to {@link #end()}. Using the lifecycle callbacks is preferred over
     *    queries to {@link #isStarted()}, {@link #isRunning()}, and {@link #isPaused()}
     *    for this reason.</li>
     * </ol>
     * @hide
     */
    public void setAllowRunningAsynchronously(boolean mayRunAsync) {
        // It is up to subclasses to support this, if they can.
    }
}
+1 −30
Original line number Diff line number Diff line
@@ -167,38 +167,9 @@ public class RevealAnimator extends ValueAnimator {
    }

    @Override
    public ValueAnimator clone() {
    public RevealAnimator clone() {
        RevealAnimator anim = (RevealAnimator) super.clone();
        anim.mRtAnimator = null;
        return anim;
    }

    // ----------------------------------------
    //  All the things we don't allow
    // ----------------------------------------

    @Override
    public void setValues(PropertyValuesHolder... values) {
        throw new IllegalStateException("Cannot change the values of RevealAnimator");
    }

    @Override
    public void setFloatValues(float... values) {
        throw new IllegalStateException("Cannot change the values of RevealAnimator");
    }

    @Override
    public void setIntValues(int... values) {
        throw new IllegalStateException("Cannot change the values of RevealAnimator");
    }

    @Override
    public void setObjectValues(Object... values) {
        throw new IllegalStateException("Cannot change the values of RevealAnimator");
    }

    @Override
    public void setEvaluator(TypeEvaluator value) {
        throw new IllegalStateException("Cannot change the evaluator of RevealAnimator");
    }
}
+1 −0
Original line number Diff line number Diff line
@@ -1409,6 +1409,7 @@ public class ValueAnimator extends Animator {
     * </ol>
     * @hide
     */
    @Override
    public void setAllowRunningAsynchronously(boolean mayRunAsync) {
        // It is up to subclasses to support this, if they can.
    }
+0 −18
Original line number Diff line number Diff line
@@ -10710,24 +10710,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
        }
    }
    /**
     * Returns a ValueAnimator which can animate a clearing circle.
     * <p>
     * The View is prevented from drawing within the circle, so the content
     * behind the View shows through.
     *
     * @param centerX The x coordinate of the center of the animating circle.
     * @param centerY The y coordinate of the center of the animating circle.
     * @param startRadius The starting radius of the animating circle.
     * @param endRadius The ending radius of the animating circle.
     *
     * @hide
     */
    public final ValueAnimator createClearCircleAnimator(int centerX,  int centerY,
            float startRadius, float endRadius) {
        return new RevealAnimator(this, centerX, centerY, startRadius, endRadius, true);
    }
    /**
     * Returns the current StateListAnimator if exists.
     *
Loading