diff options
-rw-r--r-- | packages/Keyguard/src/com/android/keyguard/KeyguardHostView.java | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardHostView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardHostView.java index 41da158..0970248 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardHostView.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardHostView.java @@ -117,7 +117,6 @@ public class KeyguardHostView extends KeyguardViewBase { private KeyguardMultiUserSelectorView mKeyguardMultiUserSelectorView; - protected int mPlaybackState; protected int mClientGeneration; /*package*/ interface UserSwitcherCallback { @@ -204,10 +203,9 @@ public class KeyguardHostView extends KeyguardViewBase { .getCachedDisplayClientState(); mTransportState = (dcs.clearing ? TRANSPORT_GONE : (isMusicPlaying(dcs.playbackState) ? TRANSPORT_VISIBLE : TRANSPORT_INVISIBLE)); - mPlaybackState = dcs.playbackState; if (DEBUG) Log.v(TAG, "Initial transport state: " - + mTransportState + ", pbstate=" + mPlaybackState); + + mTransportState + ", pbstate=" + dcs.playbackState); } private void cleanupAppWidgetIds() { @@ -273,18 +271,27 @@ public class KeyguardHostView extends KeyguardViewBase { Log.v(TAG, (clearing ? "hide" : "show") + " transport, gen:" + clientGeneration); } mClientGeneration = clientGeneration; - mTransportState = (clearing ? TRANSPORT_GONE : TRANSPORT_INVISIBLE); - KeyguardHostView.this.post(mSwitchPageRunnable); + final int newState = (clearing ? TRANSPORT_GONE + : (mTransportState == TRANSPORT_VISIBLE ? + TRANSPORT_VISIBLE : TRANSPORT_INVISIBLE)); + if (newState != mTransportState) { + mTransportState = newState; + if (DEBUGXPORT) Log.v(TAG, "update widget: transport state changed"); + KeyguardHostView.this.post(mSwitchPageRunnable); + } } @Override public void onMusicPlaybackStateChanged(int playbackState, long eventTime) { - mPlaybackState = playbackState; if (DEBUGXPORT) Log.v(TAG, "music state changed: " + playbackState); if (mTransportState != TRANSPORT_GONE) { - mTransportState = (isMusicPlaying(mPlaybackState) ? + final int newState = (isMusicPlaying(playbackState) ? TRANSPORT_VISIBLE : TRANSPORT_INVISIBLE); + if (newState != mTransportState) { + mTransportState = newState; + if (DEBUGXPORT) Log.v(TAG, "update widget: play state changed"); + KeyguardHostView.this.post(mSwitchPageRunnable); + } } - KeyguardHostView.this.post(mSwitchPageRunnable); } }; |