diff options
author | Joe Onorato <joeo@android.com> | 2009-09-28 14:37:53 -0400 |
---|---|---|
committer | Joe Onorato <joeo@android.com> | 2009-09-28 17:34:44 -0400 |
commit | 360d0353fdc8ecfcb7131ca0976c9a126b8a0d18 (patch) | |
tree | f6177267d79af8394f0c948ae120a8e0bada2a31 /src/com/android/launcher2/AllAppsView.java | |
parent | 0a8dc2cd98ddb89ebde88096de8053ad57c45e09 (diff) | |
download | android_packages_apps_Trebuchet-360d0353fdc8ecfcb7131ca0976c9a126b8a0d18.tar.gz android_packages_apps_Trebuchet-360d0353fdc8ecfcb7131ca0976c9a126b8a0d18.tar.bz2 android_packages_apps_Trebuchet-360d0353fdc8ecfcb7131ca0976c9a126b8a0d18.zip |
Reset rollo to page 0 when it's fully zoomed out.
Diffstat (limited to 'src/com/android/launcher2/AllAppsView.java')
-rw-r--r-- | src/com/android/launcher2/AllAppsView.java | 31 |
1 files changed, 22 insertions, 9 deletions
diff --git a/src/com/android/launcher2/AllAppsView.java b/src/com/android/launcher2/AllAppsView.java index ae4467749..17d9a78f7 100644 --- a/src/com/android/launcher2/AllAppsView.java +++ b/src/com/android/launcher2/AllAppsView.java @@ -87,6 +87,7 @@ public class AllAppsView extends RSSurfaceView private int mMotionDownRawY; private int mScrollHandleTop; private long mTouchTime; + private boolean mZoomSwipeInProgress; static class Defines { private static float farSize(float sizeAt0) { @@ -236,16 +237,17 @@ public class AllAppsView extends RSSurfaceView break; case MotionEvent.ACTION_UP: case MotionEvent.ACTION_CANCEL: + if (!mZoomSwipeInProgress) { + mRollo.mState.newPositionX = ev.getRawX() / Defines.SCREEN_WIDTH_PX; + mRollo.mState.newTouchDown = 0; - mRollo.mState.newPositionX = ev.getRawX() / Defines.SCREEN_WIDTH_PX; - mRollo.mState.newTouchDown = 0; - - mVelocity.computeCurrentVelocity(1000 /* px/sec */, - mConfig.getScaledMaximumFlingVelocity()); - mRollo.mState.flingVelocityX = mVelocity.getXVelocity() / Defines.SCREEN_WIDTH_PX; - mRollo.clearSelectedIcon(); - mRollo.mState.save(); - mRollo.mInvokeFling.execute(); + mVelocity.computeCurrentVelocity(1000 /* px/sec */, + mConfig.getScaledMaximumFlingVelocity()); + mRollo.mState.flingVelocityX = mVelocity.getXVelocity() / Defines.SCREEN_WIDTH_PX; + mRollo.clearSelectedIcon(); + mRollo.mState.save(); + mRollo.mInvokeFling.execute(); + } mLastMotionX = -10000; mVelocity.recycle(); mVelocity = null; @@ -297,6 +299,15 @@ public class AllAppsView extends RSSurfaceView public void onDropCompleted(View target, boolean success) { } + public void setZoomSwipeInProgress(boolean swiping, boolean touchStillDown) { + mZoomSwipeInProgress = swiping; + if (!touchStillDown) { + mRollo.mState.newTouchDown = 0; + mRollo.mState.save(); + mRollo.mInvokeTouchUp.execute(); + } + } + public void setZoomTarget(float amount) { zoom(amount, true); } @@ -403,6 +414,7 @@ public class AllAppsView extends RSSurfaceView private Script.Invokable mInvokeFling; private Script.Invokable mInvokeSetZoomTarget; private Script.Invokable mInvokeSetZoom; + private Script.Invokable mInvokeTouchUp; private Sampler mSampler; private Sampler mSamplerText; @@ -631,6 +643,7 @@ public class AllAppsView extends RSSurfaceView mInvokeFling = sb.addInvokable("fling"); mInvokeSetZoomTarget = sb.addInvokable("setZoomTarget"); mInvokeSetZoom = sb.addInvokable("setZoom"); + mInvokeTouchUp = sb.addInvokable("touchUp"); mScript = sb.create(); mScript.setClearColor(0.0f, 0.0f, 0.0f, 0.0f); |