summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Cohen <adamcohen@google.com>2012-11-07 20:50:39 -0800
committerAdam Cohen <adamcohen@google.com>2012-11-07 21:39:56 -0800
commit44dc1413768b5798168fb29ea277affb9a739033 (patch)
treee5f57b4b5f7a78b1e6ecd5ec46fb807a1d8117fc
parentd51700b3cc6d4c66a33d18348f7c1eb66cd50ac2 (diff)
downloadframeworks_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.java9
-rw-r--r--policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetFrame.java16
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) {