diff options
author | Chris Wren <cwren@android.com> | 2012-08-30 17:42:57 -0400 |
---|---|---|
committer | Chris Wren <cwren@android.com> | 2012-08-31 13:44:34 -0400 |
commit | f61019ceb816fed9e5035c3d9b8451f6e4ee1da9 (patch) | |
tree | e5c839e602d66c32cbc585991642bdcb838b2fd1 /src/com/android/dreams/phototable/PhotoTouchListener.java | |
parent | 135f525b62eb20c31c593e09f8bdb92215d538a4 (diff) | |
download | android_packages_screensavers_PhotoTable-f61019ceb816fed9e5035c3d9b8451f6e4ee1da9.tar.gz android_packages_screensavers_PhotoTable-f61019ceb816fed9e5035c3d9b8451f6e4ee1da9.tar.bz2 android_packages_screensavers_PhotoTable-f61019ceb816fed9e5035c3d9b8451f6e4ee1da9.zip |
fix lightsout mode and workaround a multifinger fling bug.
Change-Id: I59b195b4a43de61b19a9bdf98a76e2fa0f705db4
Diffstat (limited to 'src/com/android/dreams/phototable/PhotoTouchListener.java')
-rw-r--r-- | src/com/android/dreams/phototable/PhotoTouchListener.java | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/com/android/dreams/phototable/PhotoTouchListener.java b/src/com/android/dreams/phototable/PhotoTouchListener.java index 488bc13..dd3039b 100644 --- a/src/com/android/dreams/phototable/PhotoTouchListener.java +++ b/src/com/android/dreams/phototable/PhotoTouchListener.java @@ -94,7 +94,7 @@ public class PhotoTouchListener implements View.OnTouchListener { if (!mEnableFling) { return; } - log("fling " + target.getId() + " " + dX + ", " + dY); + log("fling " + dX + ", " + dY); // convert to pixel per frame dX /= 60f; @@ -178,6 +178,7 @@ public class PhotoTouchListener implements View.OnTouchListener { mInitialTargetA = (float) target.getRotation(); } if (mA == ev.getPointerId(ev.getActionIndex())) { + log("primary went up!"); mA = mB; resetTouch(target); mB = INVALID_POINTER; @@ -194,9 +195,15 @@ public class PhotoTouchListener implements View.OnTouchListener { mInitialTouchY = y; } else { float dt = (float) (ev.getEventTime() - mLastEventTime) / 1000f; - mDX = (x - mLastTouchX) / dt; - mDY = (y - mLastTouchY) / dt; - log("moving " + target.getId() + " with velocity: " + mDX + ", " + mDY); + float tmpDX = (x - mLastTouchX) / dt; + float tmpDY = (y - mLastTouchY) / dt; + if (dt > 0f && (Math.abs(tmpDX) > 5f || Math.abs(tmpDY) > 5f)) { + // work around odd bug with multi-finger flings + mDX = tmpDX; + mDY = tmpDY; + } + log("move " + mDX + ", " + mDY); + mLastEventTime = ev.getEventTime(); mLastTouchX = x; mLastTouchY = y; @@ -246,6 +253,7 @@ public class PhotoTouchListener implements View.OnTouchListener { break; case MotionEvent.ACTION_CANCEL: + log("action cancel!"); break; } |