diff options
| author | Adam Cohen <adamcohen@google.com> | 2012-11-07 20:50:39 -0800 |
|---|---|---|
| committer | Adam Cohen <adamcohen@google.com> | 2012-11-07 21:39:56 -0800 |
| commit | 44dc1413768b5798168fb29ea277affb9a739033 (patch) | |
| tree | e5f57b4b5f7a78b1e6ecd5ec46fb807a1d8117fc | |
| parent | d51700b3cc6d4c66a33d18348f7c1eb66cd50ac2 (diff) | |
| download | frameworks_base-44dc1413768b5798168fb29ea277affb9a739033.zip frameworks_base-44dc1413768b5798168fb29ea277affb9a739033.tar.gz frameworks_base-44dc1413768b5798168fb29ea277affb9a739033.tar.bz2 | |
Clean up some flashy jank (issue 7454766)
Change-Id: I809f3afbbb70e82847aa4851d20058a2c483a32e
| -rw-r--r-- | policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewStateManager.java | 9 | ||||
| -rw-r--r-- | policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetFrame.java | 16 |
2 files changed, 21 insertions, 4 deletions
diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewStateManager.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewStateManager.java index d8cb435..1a38bb9 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewStateManager.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewStateManager.java @@ -214,6 +214,11 @@ public class KeyguardViewStateManager implements mKeyguardWidgetPager.setWidgetToResetOnPageFadeOut(mPageListeningToSlider); } } + if (frame.isSmall()) { + // This is to make sure that if the scroller animation gets cut off midway + // that the frame doesn't stay in a partial down position. + frame.setFrameHeight(frame.getSmallFrameHeight()); + } if (scrollState != SlidingChallengeLayout.SCROLL_STATE_FADING) { frame.hideFrame(this); } @@ -244,7 +249,7 @@ public class KeyguardViewStateManager implements if (!frame.isSmall()) { // We need to fetch the final page, in case the pages are in motion. mPageListeningToSlider = mKeyguardWidgetPager.getNextPage(); - frame.shrinkWidget(); + frame.shrinkWidget(false); } } else { if (!frame.isSmall()) { @@ -263,7 +268,7 @@ public class KeyguardViewStateManager implements public void onScrollPositionChanged(float scrollPosition, int challengeTop) { mChallengeTop = challengeTop; KeyguardWidgetFrame frame = mKeyguardWidgetPager.getWidgetPageAt(mPageListeningToSlider); - if (frame != null && !mKeyguardWidgetPager.isPageMoving()) { + if (frame != null && mLastScrollState != SlidingChallengeLayout.SCROLL_STATE_FADING) { frame.adjustFrame(getChallengeTopRelativeToFrame(frame, mChallengeTop)); } } diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetFrame.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetFrame.java index d9953bf..4c7ab6c 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetFrame.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetFrame.java @@ -329,6 +329,7 @@ public class KeyguardWidgetFrame extends FrameLayout { public void setMaxChallengeTop(int top) { boolean dirty = mMaxChallengeTop != top; + mMaxChallengeTop = top; mSmallWidgetHeight = top - getPaddingTop(); mSmallFrameHeight = top + getPaddingBottom(); if (dirty && mIsSmall) { @@ -348,10 +349,21 @@ public class KeyguardWidgetFrame extends FrameLayout { setFrameHeight(frameHeight); } - public void shrinkWidget() { + public void shrinkWidget(boolean alsoShrinkFrame) { mIsSmall = true; setWidgetHeight(mSmallWidgetHeight); - setFrameHeight(mSmallFrameHeight); + + if (alsoShrinkFrame) { + setFrameHeight(mSmallFrameHeight); + } + } + + public int getSmallFrameHeight() { + return mSmallFrameHeight; + } + + public void shrinkWidget() { + shrinkWidget(true); } public void setWidgetLockedSmall(boolean locked) { |
