summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Miller <jaggies@google.com>2013-10-15 05:05:15 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-10-15 05:05:15 -0700
commit2836cd74a9765dbd39f35b15d0a7cc3cc995442f (patch)
tree7b997f10c464d1bf5edc622f6f7778458c235c05
parent03e6fc3e02b95606e9cb0918db3a1b857493cf23 (diff)
parentfc6625db32412e3416287d160d2334e25a36d37f (diff)
downloadframeworks_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.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() {