summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Miller <jaggies@google.com>2013-10-15 01:57:25 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-10-15 01:57:25 +0000
commit7f988c2bbb0dfe5063c5a6ef423f5843b2a1bbb5 (patch)
treea0539a7d296727648c0db89d956aeea2399907a1
parentfb19db60960e5c33b19caf8a58b0c75a187ff754 (diff)
parent1c058a68e9d2831ac4c607916dca3494b9fbd911 (diff)
downloadframeworks_base-7f988c2bbb0dfe5063c5a6ef423f5843b2a1bbb5.zip
frameworks_base-7f988c2bbb0dfe5063c5a6ef423f5843b2a1bbb5.tar.gz
frameworks_base-7f988c2bbb0dfe5063c5a6ef423f5843b2a1bbb5.tar.bz2
Merge "Don't move clock when warping in PagedView" into klp-dev
-rw-r--r--packages/Keyguard/src/com/android/keyguard/PagedView.java30
1 files changed, 20 insertions, 10 deletions
diff --git a/packages/Keyguard/src/com/android/keyguard/PagedView.java b/packages/Keyguard/src/com/android/keyguard/PagedView.java
index 23488d4..814ac982 100644
--- a/packages/Keyguard/src/com/android/keyguard/PagedView.java
+++ b/packages/Keyguard/src/com/android/keyguard/PagedView.java
@@ -1427,7 +1427,10 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
if (Math.abs(deltaX) >= 1.0f) {
mTouchX += deltaX;
mSmoothingTime = System.nanoTime() / NANOTIME_DIV;
- if (!mDeferScrollUpdate) {
+ if (isWarping()) {
+ KeyguardWidgetFrame v = (KeyguardWidgetFrame) getPageAt(mPageWarpIndex);
+ v.setTranslationX(v.getTranslationX() - deltaX);
+ } else if (!mDeferScrollUpdate) {
scrollBy((int) deltaX, 0);
if (DEBUG) Log.d(TAG, "onTouchEvent().Scrolling: " + deltaX);
} else {
@@ -1806,10 +1809,11 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
}
protected void snapToDestination() {
+ final int newPage = getPageNearestToCenterOfScreen();
if (isWarping()) {
- cancelWarpAnimation("snapToDestination");
+ cancelWarpAnimation("snapToDestination", mCurrentPage != newPage);
}
- snapToPage(getPageNearestToCenterOfScreen(), getPageSnapDuration());
+ snapToPage(newPage, getPageSnapDuration());
}
private int getPageSnapDuration() {
@@ -1841,7 +1845,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
int halfScreenSize = getViewportWidth() / 2;
if (isWarping()) {
- cancelWarpAnimation("snapToPageWithVelocity");
+ cancelWarpAnimation("snapToPageWithVelocity", mCurrentPage != whichPage);
}
if (DEBUG) Log.d(TAG, "snapToPage.getChildOffset(): " + getChildOffset(whichPage));
@@ -2699,13 +2703,19 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
}
};
- private void cancelWarpAnimation(String msg) {
+ private void cancelWarpAnimation(String msg, boolean abortAnimation) {
if (DEBUG_WARP) Log.v(TAG, "cancelWarpAnimation(" + msg + ")");
- // We're done with the animation, let the scroller take over the positioning
- KeyguardWidgetFrame v = (KeyguardWidgetFrame) getPageAt(mPageWarpIndex);
- v.animate().cancel();
- v.setTranslationX(0f);
- scrollBy((int) Math.round(v.getTranslationX() - mWarpPeekAmount), 0);
+ if (abortAnimation) {
+ // We're done with the animation and moving to a new page. Let the scroller
+ // take over the animation.
+ KeyguardWidgetFrame v = (KeyguardWidgetFrame) getPageAt(mPageWarpIndex);
+ v.animate().cancel();
+ // Make the scroll amount match the current warp position.
+ scrollBy(Math.round(-v.getTranslationX()), 0);
+ v.setTranslationX(0);
+ } else {
+ animateWarpPageOffScreen("canceled", true);
+ }
}
private boolean isAnimatingWarpPage() {