am 761e298b: am b09a6670: Return Animator instead of ValueAnimator
* commit '761e298b11b31233067daf215ab788bb7042dc33': Return Animator instead of ValueAnimator
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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.
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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.
|
||||
}
|
||||
|
||||
@@ -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.
|
||||
*
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
|
||||
package android.view;
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.animation.RevealAnimator;
|
||||
import android.animation.ValueAnimator;
|
||||
|
||||
/**
|
||||
* Defines common utilities for working with View's animations.
|
||||
@@ -36,7 +36,7 @@ public final class ViewAnimationUtils {
|
||||
* @param startRadius The starting radius of the animating circle.
|
||||
* @param endRadius The ending radius of the animating circle.
|
||||
*/
|
||||
public static final ValueAnimator createCircularReveal(View view,
|
||||
public static final Animator createCircularReveal(View view,
|
||||
int centerX, int centerY, float startRadius, float endRadius) {
|
||||
return new RevealAnimator(view, centerX, centerY, startRadius, endRadius, false);
|
||||
}
|
||||
|
||||
@@ -19,7 +19,6 @@ package com.android.systemui.qs;
|
||||
import android.animation.Animator;
|
||||
import android.animation.Animator.AnimatorListener;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
import android.animation.ValueAnimator;
|
||||
import android.view.View;
|
||||
import android.view.ViewAnimationUtils;
|
||||
|
||||
@@ -28,7 +27,7 @@ public class CircularClipper {
|
||||
|
||||
private final View mTarget;
|
||||
|
||||
private ValueAnimator mAnimator;
|
||||
private Animator mAnimator;
|
||||
|
||||
public CircularClipper(View target) {
|
||||
mTarget = target;
|
||||
|
||||
@@ -244,7 +244,7 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView
|
||||
int widthHalf = mBackgroundNormal.getWidth()/2;
|
||||
int heightHalf = mBackgroundNormal.getActualHeight()/2;
|
||||
float radius = (float) Math.sqrt(widthHalf*widthHalf + heightHalf*heightHalf);
|
||||
ValueAnimator animator =
|
||||
Animator animator =
|
||||
ViewAnimationUtils.createCircularReveal(mBackgroundNormal,
|
||||
widthHalf, heightHalf, 0, radius);
|
||||
mBackgroundNormal.setVisibility(View.VISIBLE);
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
package com.android.test.hwui;
|
||||
|
||||
import android.animation.ValueAnimator;
|
||||
import android.animation.Animator;
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.graphics.Canvas;
|
||||
@@ -54,7 +54,7 @@ public class RevealActivity extends Activity implements OnClickListener {
|
||||
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
ValueAnimator animator = ViewAnimationUtils.createCircularReveal(view,
|
||||
Animator animator = ViewAnimationUtils.createCircularReveal(view,
|
||||
view.getWidth() / 2, view.getHeight() / 2,
|
||||
0, Math.max(view.getWidth(), view.getHeight()));
|
||||
animator.setDuration(DURATION);
|
||||
|
||||
Reference in New Issue
Block a user