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

Commit 7764b920 authored by George Mount's avatar George Mount
Browse files

Add IntDefs for Animator and Transition classes.

Bug 23593341

Change-Id: Ifcb30322cb90efb32262c80f5d11c2d39efc5080
parent 587c19c9
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package android.animation;

import android.annotation.CallSuper;
import android.annotation.IntDef;
import android.os.Looper;
import android.os.Trace;
import android.util.AndroidRuntimeException;
@@ -25,6 +26,8 @@ import android.view.animation.AccelerateDecelerateInterpolator;
import android.view.animation.AnimationUtils;
import android.view.animation.LinearInterpolator;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
import java.util.HashMap;

@@ -234,6 +237,11 @@ public class ValueAnimator extends Animator implements AnimationHandler.Animatio
     * Public constants
     */

    /** @hide */
    @IntDef({RESTART, REVERSE})
    @Retention(RetentionPolicy.SOURCE)
    public @interface RepeatMode {}

    /**
     * When the animation reaches the end and <code>repeatCount</code> is INFINITE
     * or a positive value, the animation restarts from the beginning.
@@ -807,7 +815,7 @@ public class ValueAnimator extends Animator implements AnimationHandler.Animatio
     *
     * @param value {@link #RESTART} or {@link #REVERSE}
     */
    public void setRepeatMode(int value) {
    public void setRepeatMode(@RepeatMode int value) {
        mRepeatMode = value;
    }

@@ -816,6 +824,7 @@ public class ValueAnimator extends Animator implements AnimationHandler.Animatio
     *
     * @return either one of {@link #REVERSE} or {@link #RESTART}
     */
    @RepeatMode
    public int getRepeatMode() {
        return mRepeatMode;
    }
+2 −1
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@
package android.transition;

import android.graphics.Rect;
import android.transition.Slide.GravityFlag;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
@@ -45,7 +46,7 @@ public class SidePropagation extends VisibilityPropagation {
     *             {@link Gravity#LEFT}, {@link Gravity#TOP}, {@link Gravity#RIGHT},
     *             {@link Gravity#BOTTOM}, {@link Gravity#START}, or {@link Gravity#END}.
     */
    public void setSide(int side) {
    public void setSide(@GravityFlag int side) {
        mSide = side;
    }

+12 −2
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ package android.transition;

import android.animation.Animator;
import android.animation.TimeInterpolator;
import android.annotation.IntDef;
import android.content.Context;
import android.content.res.TypedArray;
import android.util.AttributeSet;
@@ -27,6 +28,9 @@ import android.view.animation.AccelerateInterpolator;
import android.view.animation.DecelerateInterpolator;
import com.android.internal.R;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

/**
 * This transition tracks changes to the visibility of target views in the
 * start and end scenes and moves views in or out from one of the edges of the
@@ -42,7 +46,12 @@ public class Slide extends Visibility {
    private static final TimeInterpolator sAccelerate = new AccelerateInterpolator();
    private static final String PROPNAME_SCREEN_POSITION = "android:slide:screenPosition";
    private CalculateSlide mSlideCalculator = sCalculateBottom;
    private int mSlideEdge = Gravity.BOTTOM;
    private @GravityFlag int mSlideEdge = Gravity.BOTTOM;

    /** @hide */
    @Retention(RetentionPolicy.SOURCE)
    @IntDef({Gravity.LEFT, Gravity.TOP, Gravity.RIGHT, Gravity.BOTTOM, Gravity.START, Gravity.END})
    public @interface GravityFlag {}

    private interface CalculateSlide {

@@ -176,7 +185,7 @@ public class Slide extends Visibility {
     *                  {@link android.view.Gravity#START}, {@link android.view.Gravity#END}.
     * @attr ref android.R.styleable#Slide_slideEdge
     */
    public void setSlideEdge(int slideEdge) {
    public void setSlideEdge(@GravityFlag int slideEdge) {
        switch (slideEdge) {
            case Gravity.LEFT:
                mSlideCalculator = sCalculateLeft;
@@ -214,6 +223,7 @@ public class Slide extends Visibility {
     *         {@link android.view.Gravity#START}, {@link android.view.Gravity#END}.
     * @attr ref android.R.styleable#Slide_slideEdge
     */
    @GravityFlag
    public int getSlideEdge() {
        return mSlideEdge;
    }
+13 −3
Original line number Diff line number Diff line
@@ -16,17 +16,21 @@

package android.transition;

import com.android.internal.R;

import android.animation.Animator;
import android.animation.Animator.AnimatorListener;
import android.animation.Animator.AnimatorPauseListener;
import android.annotation.IntDef;
import android.content.Context;
import android.content.res.TypedArray;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;

import com.android.internal.R;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

/**
 * This transition tracks changes to the visibility of target views in the
 * start and end scenes. Visibility is determined not just by the
@@ -46,6 +50,11 @@ public abstract class Visibility extends Transition {
    private static final String PROPNAME_PARENT = "android:visibility:parent";
    private static final String PROPNAME_SCREEN_LOCATION = "android:visibility:screenLocation";

    /** @hide */
    @Retention(RetentionPolicy.SOURCE)
    @IntDef(flag=true, value={MODE_IN, MODE_OUT})
    @interface VisibilityMode {}

    /**
     * Mode used in {@link #setMode(int)} to make the transition
     * operate on targets that are appearing. Maybe be combined with
@@ -99,7 +108,7 @@ public abstract class Visibility extends Transition {
     *             {@link #MODE_IN} and {@link #MODE_OUT}.
     * @attr ref android.R.styleable#VisibilityTransition_transitionVisibilityMode
     */
    public void setMode(int mode) {
    public void setMode(@VisibilityMode int mode) {
        if ((mode & ~(MODE_IN | MODE_OUT)) != 0) {
            throw new IllegalArgumentException("Only MODE_IN and MODE_OUT flags are allowed");
        }
@@ -113,6 +122,7 @@ public abstract class Visibility extends Transition {
     *         {@link #MODE_IN} and {@link #MODE_OUT}.
     * @attr ref android.R.styleable#VisibilityTransition_transitionVisibilityMode
     */
    @VisibilityMode
    public int getMode() {
        return mMode;
    }