diff options
author | Jim Miller <jaggies@google.com> | 2013-10-15 05:05:15 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-10-15 05:05:15 -0700 |
commit | 2836cd74a9765dbd39f35b15d0a7cc3cc995442f (patch) | |
tree | 7b997f10c464d1bf5edc622f6f7778458c235c05 | |
parent | 03e6fc3e02b95606e9cb0918db3a1b857493cf23 (diff) | |
parent | fc6625db32412e3416287d160d2334e25a36d37f (diff) | |
download | frameworks_base-2836cd74a9765dbd39f35b15d0a7cc3cc995442f.zip frameworks_base-2836cd74a9765dbd39f35b15d0a7cc3cc995442f.tar.gz frameworks_base-2836cd74a9765dbd39f35b15d0a7cc3cc995442f.tar.bz2 |
am fc6625db: am 2399d6a4: am 7f988c2b: Merge "Don\'t move clock when warping in PagedView" into klp-dev
* commit 'fc6625db32412e3416287d160d2334e25a36d37f':
Don't move clock when warping in PagedView
-rw-r--r-- | packages/Keyguard/src/com/android/keyguard/PagedView.java | 30 |
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() { |