am 598913a6: Merge "Remove obsolete DoubleEvaluator" into honeycomb

* commit '598913a6ba733da911a547e29fb21c6fea3aef3d':
  Remove obsolete DoubleEvaluator
This commit is contained in:
Chet Haase
2011-01-16 12:07:19 -08:00
committed by Android Git Automerger
7 changed files with 12 additions and 128 deletions

View File

@@ -20082,42 +20082,6 @@
</parameter> </parameter>
</method> </method>
</class> </class>
<class name="DoubleEvaluator"
extends="java.lang.Object"
abstract="false"
static="false"
final="false"
deprecated="not deprecated"
visibility="public"
>
<implements name="android.animation.TypeEvaluator">
</implements>
<constructor name="DoubleEvaluator"
type="android.animation.DoubleEvaluator"
static="false"
final="false"
deprecated="not deprecated"
visibility="public"
>
</constructor>
<method name="evaluate"
return="java.lang.Object"
abstract="false"
native="false"
synchronized="false"
static="false"
final="false"
deprecated="not deprecated"
visibility="public"
>
<parameter name="fraction" type="float">
</parameter>
<parameter name="startValue" type="java.lang.Object">
</parameter>
<parameter name="endValue" type="java.lang.Object">
</parameter>
</method>
</class>
<class name="FloatEvaluator" <class name="FloatEvaluator"
extends="java.lang.Object" extends="java.lang.Object"
abstract="false" abstract="false"

View File

@@ -20115,42 +20115,6 @@
</parameter> </parameter>
</method> </method>
</class> </class>
<class name="DoubleEvaluator"
extends="java.lang.Object"
abstract="false"
static="false"
final="false"
deprecated="not deprecated"
visibility="public"
>
<implements name="android.animation.TypeEvaluator">
</implements>
<constructor name="DoubleEvaluator"
type="android.animation.DoubleEvaluator"
static="false"
final="false"
deprecated="not deprecated"
visibility="public"
>
</constructor>
<method name="evaluate"
return="java.lang.Object"
abstract="false"
native="false"
synchronized="false"
static="false"
final="false"
deprecated="not deprecated"
visibility="public"
>
<parameter name="fraction" type="float">
</parameter>
<parameter name="startValue" type="java.lang.Object">
</parameter>
<parameter name="endValue" type="java.lang.Object">
</parameter>
</method>
</class>
<class name="FloatEvaluator" <class name="FloatEvaluator"
extends="java.lang.Object" extends="java.lang.Object"
abstract="false" abstract="false"
@@ -261727,7 +261691,7 @@
deprecated="not deprecated" deprecated="not deprecated"
visibility="public" visibility="public"
> >
<parameter name="arg0" type="T"> <parameter name="t" type="T">
</parameter> </parameter>
</method> </method>
</interface> </interface>

View File

@@ -1,42 +0,0 @@
/*
* Copyright (C) 2010 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 evaluator can be used to perform type interpolation between <code>double</code> values.
*/
public class DoubleEvaluator implements TypeEvaluator {
/**
* This function returns the result of linearly interpolating the start and end values, with
* <code>fraction</code> representing the proportion between the start and end values. The
* calculation is a simple parametric calculation: <code>result = x0 + t * (v1 - v0)</code>,
* where <code>x0</code> is <code>startValue</code>, <code>x1</code> is <code>endValue</code>,
* and <code>t</code> is <code>fraction</code>.
*
* @param fraction The fraction from the starting to the ending values
* @param startValue The start value; should be of type <code>double</code> or
* <code>Double</code>
* @param endValue The end value; should be of type <code>double</code> or
* <code>Double</code>
* @return A linear interpolation between the start and end values, given the
* <code>fraction</code> parameter.
*/
public Object evaluate(float fraction, Object startValue, Object endValue) {
double startDouble = ((Number) startValue).doubleValue();
return startDouble + fraction * (((Number) endValue).doubleValue() - startDouble);
}
}

View File

@@ -25,8 +25,8 @@ import java.util.ArrayList;
* values between those keyframes for a given animation. The class internal to the animation * values between those keyframes for a given animation. The class internal to the animation
* package because it is an implementation detail of how Keyframes are stored and used. * package because it is an implementation detail of how Keyframes are stored and used.
* *
* <p>This type-specific subclass of KeyframeSet, along with the other type-specific subclasses for * <p>This type-specific subclass of KeyframeSet, along with the other type-specific subclass for
* int, long, and double, exists to speed up the getValue() method when there is no custom * int, exists to speed up the getValue() method when there is no custom
* TypeEvaluator set for the animation, so that values can be calculated without autoboxing to the * TypeEvaluator set for the animation, so that values can be calculated without autoboxing to the
* Object equivalents of these primitive types.</p> * Object equivalents of these primitive types.</p>
*/ */

View File

@@ -25,8 +25,8 @@ import java.util.ArrayList;
* values between those keyframes for a given animation. The class internal to the animation * values between those keyframes for a given animation. The class internal to the animation
* package because it is an implementation detail of how Keyframes are stored and used. * package because it is an implementation detail of how Keyframes are stored and used.
* *
* <p>This type-specific subclass of KeyframeSet, along with the other type-specific subclasses for * <p>This type-specific subclass of KeyframeSet, along with the other type-specific subclass for
* float, long, and double, exists to speed up the getValue() method when there is no custom * float, exists to speed up the getValue() method when there is no custom
* TypeEvaluator set for the animation, so that values can be calculated without autoboxing to the * TypeEvaluator set for the animation, so that values can be calculated without autoboxing to the
* Object equivalents of these primitive types.</p> * Object equivalents of these primitive types.</p>
*/ */

View File

@@ -67,10 +67,9 @@ public class PropertyValuesHolder implements Cloneable {
KeyframeSet mKeyframeSet = null; KeyframeSet mKeyframeSet = null;
// type evaluators for the three primitive types handled by this implementation // type evaluators for the primitive types handled by this implementation
private static final TypeEvaluator sIntEvaluator = new IntEvaluator(); private static final TypeEvaluator sIntEvaluator = new IntEvaluator();
private static final TypeEvaluator sFloatEvaluator = new FloatEvaluator(); private static final TypeEvaluator sFloatEvaluator = new FloatEvaluator();
private static final TypeEvaluator sDoubleEvaluator = new DoubleEvaluator();
// We try several different types when searching for appropriate setter/getter functions. // We try several different types when searching for appropriate setter/getter functions.
// The caller may have supplied values in a type that does not match the setter/getter // The caller may have supplied values in a type that does not match the setter/getter
@@ -104,7 +103,7 @@ public class PropertyValuesHolder implements Cloneable {
/** /**
* The type evaluator used to calculate the animated values. This evaluator is determined * The type evaluator used to calculate the animated values. This evaluator is determined
* automatically based on the type of the start/end objects passed into the constructor, * automatically based on the type of the start/end objects passed into the constructor,
* but the system only knows about the primitive types int, double, and float. Any other * but the system only knows about the primitive types int and float. Any other
* type will need to set the evaluator to a custom evaluator for that type. * type will need to set the evaluator to a custom evaluator for that type.
*/ */
private TypeEvaluator mEvaluator; private TypeEvaluator mEvaluator;
@@ -501,7 +500,7 @@ public class PropertyValuesHolder implements Cloneable {
*/ */
void init() { void init() {
if (mEvaluator == null) { if (mEvaluator == null) {
// We already handle int, float, long, double automatically, but not their Object // We already handle int and float automatically, but not their Object
// equivalents // equivalents
mEvaluator = (mValueType == Integer.class) ? sIntEvaluator : mEvaluator = (mValueType == Integer.class) ? sIntEvaluator :
(mValueType == Float.class) ? sFloatEvaluator : (mValueType == Float.class) ? sFloatEvaluator :
@@ -509,7 +508,7 @@ public class PropertyValuesHolder implements Cloneable {
} }
if (mEvaluator != null) { if (mEvaluator != null) {
// KeyframeSet knows how to evaluate the common types - only give it a custom // KeyframeSet knows how to evaluate the common types - only give it a custom
// evaulator if one has been set on this class // evaluator if one has been set on this class
mKeyframeSet.setEvaluator(mEvaluator); mKeyframeSet.setEvaluator(mEvaluator);
} }
} }
@@ -520,7 +519,7 @@ public class PropertyValuesHolder implements Cloneable {
* desired. This may be important in cases where either the type of the values supplied * desired. This may be important in cases where either the type of the values supplied
* do not match the way that they should be interpolated between, or if the values * do not match the way that they should be interpolated between, or if the values
* are of a custom type or one not currently understood by the animation system. Currently, * are of a custom type or one not currently understood by the animation system. Currently,
* only values of type float, double, and int (and their Object equivalents, Float, Double, * only values of type float and int (and their Object equivalents: Float
* and Integer) are correctly interpolated; all other types require setting a TypeEvaluator. * and Integer) are correctly interpolated; all other types require setting a TypeEvaluator.
* @param evaluator * @param evaluator
*/ */

View File

@@ -143,10 +143,9 @@ public class ValueAnimator extends Animator {
private static final TimeInterpolator sDefaultInterpolator = private static final TimeInterpolator sDefaultInterpolator =
new AccelerateDecelerateInterpolator(); new AccelerateDecelerateInterpolator();
// type evaluators for the three primitive types handled by this implementation // type evaluators for the primitive types handled by this implementation
private static final TypeEvaluator sIntEvaluator = new IntEvaluator(); private static final TypeEvaluator sIntEvaluator = new IntEvaluator();
private static final TypeEvaluator sFloatEvaluator = new FloatEvaluator(); private static final TypeEvaluator sFloatEvaluator = new FloatEvaluator();
private static final TypeEvaluator sDoubleEvaluator = new DoubleEvaluator();
/** /**
* Used to indicate whether the animation is currently playing in reverse. This causes the * Used to indicate whether the animation is currently playing in reverse. This causes the
@@ -858,7 +857,7 @@ public class ValueAnimator extends Animator {
/** /**
* The type evaluator to be used when calculating the animated values of this animation. * The type evaluator to be used when calculating the animated values of this animation.
* The system will automatically assign a float, int, or double evaluator based on the type * The system will automatically assign a float or int evaluator based on the type
* of <code>startValue</code> and <code>endValue</code> in the constructor. But if these values * of <code>startValue</code> and <code>endValue</code> in the constructor. But if these values
* are not one of these primitive types, or if different evaluation is desired (such as is * are not one of these primitive types, or if different evaluation is desired (such as is
* necessary with int values that represent colors), a custom evaluator needs to be assigned. * necessary with int values that represent colors), a custom evaluator needs to be assigned.