diff options
Diffstat (limited to 'core/java/android/transition/Fade.java')
| -rw-r--r-- | core/java/android/transition/Fade.java | 27 |
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 { |
