summaryrefslogtreecommitdiff
path: root/core/java/android/transition/Fade.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/transition/Fade.java')
-rw-r--r--core/java/android/transition/Fade.java27
1 files changed, 16 insertions, 11 deletions
diff --git a/core/java/android/transition/Fade.java b/core/java/android/transition/Fade.java
index b2e8d3351028..627183f0cf24 100644
--- a/core/java/android/transition/Fade.java
+++ b/core/java/android/transition/Fade.java
@@ -16,8 +16,6 @@
package android.transition;
-import com.android.internal.R;
-
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator;
@@ -28,6 +26,8 @@ import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
+import com.android.internal.R;
+
/**
* This transition tracks changes to the visibility of target views in the
* start and end scenes and fades views in or out when they become visible
@@ -144,12 +144,9 @@ public class Fade extends Visibility {
Log.d(LOG_TAG, "Fade.onAppear: startView, startVis, endView, endVis = " +
startView + ", " + view);
}
- float startAlpha = 0;
- if (startValues != null) {
- startAlpha = (Float) startValues.values.get(PROPNAME_TRANSITION_ALPHA);
- if (startAlpha == 1) {
- startAlpha = 0;
- }
+ float startAlpha = getStartAlpha(startValues, 0);
+ if (startAlpha == 1) {
+ startAlpha = 0;
}
return createAnimation(view, startAlpha, 1);
}
@@ -157,11 +154,19 @@ public class Fade extends Visibility {
@Override
public Animator onDisappear(ViewGroup sceneRoot, final View view, TransitionValues startValues,
TransitionValues endValues) {
- float startAlpha = 1;
+ float startAlpha = getStartAlpha(startValues, 1);
+ return createAnimation(view, startAlpha, 0);
+ }
+
+ private static float getStartAlpha(TransitionValues startValues, float fallbackValue) {
+ float startAlpha = fallbackValue;
if (startValues != null) {
- startAlpha = (Float) startValues.values.get(PROPNAME_TRANSITION_ALPHA);
+ Float startAlphaFloat = (Float) startValues.values.get(PROPNAME_TRANSITION_ALPHA);
+ if (startAlphaFloat != null) {
+ startAlpha = startAlphaFloat;
+ }
}
- return createAnimation(view, startAlpha, 0);
+ return startAlpha;
}
private static class FadeAnimatorListener extends AnimatorListenerAdapter {