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

Commit e8cee38c authored by Chet Haase's avatar Chet Haase
Browse files

Remove Animatable interface

Push the interface methods from the new Animatable interface back
down into Animator, from whence they came.

Issue #8634310 Remove Animatable interface

Change-Id: I79e26001709d791d54fcb02561640fe2e008b1fd
parent 5584737f
Loading
Loading
Loading
Loading
+5 −10
Original line number Diff line number Diff line
@@ -2306,28 +2306,23 @@ package android.accounts {
package android.animation {
  public abstract interface Animatable {
    method public abstract long getDuration();
    method public abstract android.animation.TimeInterpolator getInterpolator();
    method public abstract long getStartDelay();
    method public abstract android.animation.Animatable setDuration(long);
    method public abstract void setInterpolator(android.animation.TimeInterpolator);
    method public abstract void setStartDelay(long);
  }
  public abstract class Animator implements android.animation.Animatable java.lang.Cloneable {
  public abstract class Animator implements java.lang.Cloneable {
    ctor public Animator();
    method public void addListener(android.animation.Animator.AnimatorListener);
    method public void cancel();
    method public android.animation.Animator clone();
    method public void end();
    method public abstract long getDuration();
    method public android.animation.TimeInterpolator getInterpolator();
    method public java.util.ArrayList<android.animation.Animator.AnimatorListener> getListeners();
    method public abstract long getStartDelay();
    method public abstract boolean isRunning();
    method public boolean isStarted();
    method public void removeAllListeners();
    method public void removeListener(android.animation.Animator.AnimatorListener);
    method public abstract android.animation.Animator setDuration(long);
    method public abstract void setInterpolator(android.animation.TimeInterpolator);
    method public abstract void setStartDelay(long);
    method public void setTarget(java.lang.Object);
    method public void setupEndValues();
    method public void setupStartValues();
+0 −72
Original line number Diff line number Diff line
/*
 * Copyright (C) 2013 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.animation;

/**
 * This interface is implemented by animation-related classes that expose
 * the ability to set and get duration, startDelay, and interpolators.
 */
public interface Animatable {

    /**
     * The amount of time, in milliseconds, to delay processing the animation
     * after the animation is started. The {@link #setDuration(long)} of the
     * animation will not begin to elapse until after the startDelay has elapsed.
     *
     * @return the number of milliseconds to delay running the animation
     */
    long getStartDelay();

    /**
     * The amount of time, in milliseconds, to delay processing the animation
     * after the animation is started. The {@link #setDuration(long)} of the
     * animation will not begin to elapse until after the startDelay has elapsed.

     * @param startDelay The amount of the delay, in milliseconds
     */
    void setStartDelay(long startDelay);

    /**
     * Sets the length of the animation.
     *
     * @param duration The length of the animation, in milliseconds.
     */
    Animatable setDuration(long duration);

    /**
     * Gets the duration of the animation.
     *
     * @return The length of the animation, in milliseconds.
     */
    long getDuration();

    /**
     * The time interpolator used in calculating the elapsed fraction of the
     * animation. The interpolator determines whether the animation runs with
     * linear or non-linear motion, such as acceleration and deceleration.
     *
     * @param value the interpolator to be used by this animation
     */
    void setInterpolator(TimeInterpolator value);

    /**
     * Returns the timing interpolator that this animation uses.
     *
     * @return The timing interpolator for this animation.
     */
    public TimeInterpolator getInterpolator();
}
+50 −9
Original line number Diff line number Diff line
@@ -22,21 +22,13 @@ import java.util.ArrayList;
 * This is the superclass for classes which provide basic support for animations which can be
 * started, ended, and have <code>AnimatorListeners</code> added to them.
 */
public abstract class Animator implements Cloneable, Animatable {
public abstract class Animator implements Cloneable {

    /**
     * The set of listeners to be sent events through the life of an animation.
     */
    ArrayList<AnimatorListener> mListeners = null;

    @Override
    public abstract Animator setDuration(long duration);

    @Override
    public TimeInterpolator getInterpolator() {
        return null;
    }

    /**
     * Starts this animation. If the animation has a nonzero startDelay, the animation will start
     * running after that delay elapses. A non-delayed animation will have its initial
@@ -76,6 +68,55 @@ public abstract class Animator implements Cloneable, Animatable {
    public void end() {
    }

    /**
     * The amount of time, in milliseconds, to delay processing the animation
     * after {@link #start()} is called.
     *
     * @return the number of milliseconds to delay running the animation
     */
    public abstract long getStartDelay();

    /**
     * The amount of time, in milliseconds, to delay processing the animation
     * after {@link #start()} is called.

     * @param startDelay The amount of the delay, in milliseconds
     */
    public abstract void setStartDelay(long startDelay);

    /**
     * Sets the duration of the animation.
     *
     * @param duration The length of the animation, in milliseconds.
     */
    public abstract Animator setDuration(long duration);

    /**
     * Gets the duration of the animation.
     *
     * @return The length of the animation, in milliseconds.
     */
    public abstract long getDuration();

    /**
     * The time interpolator used in calculating the elapsed fraction of the
     * animation. The interpolator determines whether the animation runs with
     * linear or non-linear motion, such as acceleration and deceleration. The
     * default value is {@link android.view.animation.AccelerateDecelerateInterpolator}.
     *
     * @param value the interpolator to be used by this animation
     */
    public abstract void setInterpolator(TimeInterpolator value);

    /**
     * Returns the timing interpolator that this animation uses.
     *
     * @return The timing interpolator for this animation.
     */
    public TimeInterpolator getInterpolator() {
        return null;
    }

    /**
     * Returns whether this Animator is currently running (having been started and gone past any
     * initial startDelay period and not yet ended).