summaryrefslogtreecommitdiffstats
path: root/src/com/android/dreams/phototable/PhotoTable.java
diff options
context:
space:
mode:
authorChris Wren <cwren@android.com>2013-03-27 17:09:44 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-03-27 17:09:44 -0700
commitb2b6ef497aef97833ea3d20ee8db1519303825be (patch)
tree43cd443c6e78805632dc4e76e1fb12ba1afe8c11 /src/com/android/dreams/phototable/PhotoTable.java
parent351de2d7a82a672925fbfd469b4988a3ae916fb0 (diff)
parentbf44ca22d40dd60b4c30f6a979b80fbd2ffa0078 (diff)
downloadandroid_packages_screensavers_PhotoTable-b2b6ef497aef97833ea3d20ee8db1519303825be.tar.gz
android_packages_screensavers_PhotoTable-b2b6ef497aef97833ea3d20ee8db1519303825be.tar.bz2
android_packages_screensavers_PhotoTable-b2b6ef497aef97833ea3d20ee8db1519303825be.zip
am bf44ca22: add swipe-away gesture, and fix focus blink.
* commit 'bf44ca22d40dd60b4c30f6a979b80fbd2ffa0078': add swipe-away gesture, and fix focus blink.
Diffstat (limited to 'src/com/android/dreams/phototable/PhotoTable.java')
-rw-r--r--src/com/android/dreams/phototable/PhotoTable.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/com/android/dreams/phototable/PhotoTable.java b/src/com/android/dreams/phototable/PhotoTable.java
index e5eb007..a6d5bd7 100644
--- a/src/com/android/dreams/phototable/PhotoTable.java
+++ b/src/com/android/dreams/phototable/PhotoTable.java
@@ -67,6 +67,8 @@ public class PhotoTable extends FrameLayout {
private static final int MAX_SELECTION_TIME = 10000;
private static final int MAX_FOCUS_TIME = 5000;
+ private static final float EDGE_SWIPE_GUTTER = 0.05f;
+ private static final float EDGE_SWIPE_THRESHOLD = 0.25f;
private static Random sRNG = new Random();
private final Launcher mLauncher;
@@ -101,6 +103,7 @@ public class PhotoTable extends FrameLayout {
private View mFocused;
private long mFocusedTime;
private int mHighlightColor;
+ private EdgeSwipeDetector mEdgeSwipeDetector;
public PhotoTable(Context context, AttributeSet as) {
super(context, as);
@@ -128,6 +131,7 @@ public class PhotoTable extends FrameLayout {
getContext().getSharedPreferences(PhotoTableDreamSettings.PREFS_NAME, 0));
mLauncher = new Launcher();
mFocusReaper = new FocusReaper();
+ mEdgeSwipeDetector = new EdgeSwipeDetector(context, this);
mStarted = false;
}
@@ -284,8 +288,6 @@ public class PhotoTable extends FrameLayout {
if (bestFocus == null) {
if (angle < 180f) {
return moveFocus(focus, direction, 180f);
- } else {
- clearFocus();
}
} else {
setFocus(bestFocus);
@@ -362,6 +364,11 @@ public class PhotoTable extends FrameLayout {
}
@Override
+ public boolean onGenericMotionEvent(MotionEvent event) {
+ return mEdgeSwipeDetector.onTouchEvent(event);
+ }
+
+ @Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getActionMasked() == MotionEvent.ACTION_DOWN) {
if (hasSelection()) {
@@ -554,7 +561,7 @@ public class PhotoTable extends FrameLayout {
final float dist = (float) Math.hypot(delta[0], delta[1]);
final int duration = (int) (1000f * dist / mThrowSpeed);
- fling (photo, delta[0], delta[1], duration, true, true);
+ fling(photo, delta[0], delta[1], duration, true, true);
}
public void fling(final View photo, float dx, float dy, int duration,