summaryrefslogtreecommitdiffstats
path: root/src/com/android/dreams/phototable/PhotoTouchListener.java
diff options
context:
space:
mode:
authorChris Wren <cwren@android.com>2012-08-30 17:42:57 -0400
committerChris Wren <cwren@android.com>2012-08-31 13:44:34 -0400
commitf61019ceb816fed9e5035c3d9b8451f6e4ee1da9 (patch)
treee5c839e602d66c32cbc585991642bdcb838b2fd1 /src/com/android/dreams/phototable/PhotoTouchListener.java
parent135f525b62eb20c31c593e09f8bdb92215d538a4 (diff)
downloadandroid_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.java16
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;
}