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

Commit 0f5fd2d8 authored by George Mount's avatar George Mount Committed by Android (Google) Code Review
Browse files

Merge "Add IntDefs for Animator and Transition classes."

parents 388eb91c 7764b920
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;
    }