diff options
| author | 2013-10-03 18:02:21 -0700 | |
|---|---|---|
| committer | 2013-10-04 14:05:48 -0700 | |
| commit | aa006133228facf2f9b61e0492fd8f724fac472f (patch) | |
| tree | e2d1a7b3baa52dec9e33bdc04e8cfbf3689ca381 | |
| parent | 76a5c86df7902870c87ff07ffd0628cb10f32c00 (diff) | |
Enable transitions in lockscreen media controller
Media controller now fades between different states. The code for
doing this was already there, but this CL enables them and changes
the behavior of transition's OnPreDrawListener to do the right thing.
Also, this CL fixes a bug in ChangeText found while testing this change.
Issue #11083563 ChangeText transition crashes when KEEP transition type used
Change-Id: I5e04c28e1b5faac017b0a4e49734d9faa7fe79cd
3 files changed, 7 insertions, 9 deletions
diff --git a/core/java/android/transition/ChangeText.java b/core/java/android/transition/ChangeText.java index b1be70f32eed..8677a564c01e 100644 --- a/core/java/android/transition/ChangeText.java +++ b/core/java/android/transition/ChangeText.java @@ -179,8 +179,8 @@ public class ChangeText extends Transition { startSelectionStart = startSelectionEnd = endSelectionStart = endSelectionEnd = -1; } if (!startText.equals(endText)) { - final int startColor = (Integer) startVals.get(PROPNAME_TEXT_COLOR); - final int endColor = (Integer) endVals.get(PROPNAME_TEXT_COLOR); + final int startColor; + final int endColor; if (mChangeBehavior != CHANGE_BEHAVIOR_IN) { view.setText(startText); if (view instanceof EditText) { @@ -189,6 +189,7 @@ public class ChangeText extends Transition { } Animator anim; if (mChangeBehavior == CHANGE_BEHAVIOR_KEEP) { + startColor = endColor = 0; anim = ValueAnimator.ofFloat(0, 1); anim.addListener(new AnimatorListenerAdapter() { @Override @@ -203,6 +204,8 @@ public class ChangeText extends Transition { } }); } else { + startColor = (Integer) startVals.get(PROPNAME_TEXT_COLOR); + endColor = (Integer) endVals.get(PROPNAME_TEXT_COLOR); // Fade out start text ValueAnimator outAnim = null, inAnim = null; if (mChangeBehavior == CHANGE_BEHAVIOR_OUT_IN || diff --git a/core/java/android/transition/TransitionManager.java b/core/java/android/transition/TransitionManager.java index 9be91d007638..404709c6a112 100644 --- a/core/java/android/transition/TransitionManager.java +++ b/core/java/android/transition/TransitionManager.java @@ -240,12 +240,7 @@ public class TransitionManager { } transition.playTransition(sceneRoot); - // Returning false from onPreDraw() skips the current frame. This is - // necessary to avoid artifacts caused by resetting target views - // to their proper end states for capturing. Waiting until the next - // frame to draw allows these views to have their mid-transition - // values set on them again and avoid artifacts. - return false; + return true; } }; observer.addOnPreDrawListener(listener); diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardTransportControlView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardTransportControlView.java index 83d8ab127435..45aedbd0cbec 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardTransportControlView.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardTransportControlView.java @@ -63,7 +63,7 @@ public class KeyguardTransportControlView extends FrameLayout { protected static final boolean DEBUG = false; protected static final String TAG = "TransportControlView"; - private static final boolean ANIMATE_TRANSITIONS = false; + private static final boolean ANIMATE_TRANSITIONS = true; private ViewGroup mMetadataContainer; private ViewGroup mInfoContainer; |