summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOwen Lin <owenlin@google.com>2012-09-04 15:17:18 +0800
committerOwen Lin <owenlin@google.com>2012-09-04 15:19:20 +0800
commite0e401752dd79d3610fedabe551e62cb852447a7 (patch)
treea82b13222c53414627865b075c875ad09f2eab1b
parentdc433a066188e52593aaf7f0fae96191f44a5e26 (diff)
downloadandroid_packages_apps_Snap-e0e401752dd79d3610fedabe551e62cb852447a7.tar.gz
android_packages_apps_Snap-e0e401752dd79d3610fedabe551e62cb852447a7.tar.bz2
android_packages_apps_Snap-e0e401752dd79d3610fedabe551e62cb852447a7.zip
Make a time jump when user clicks outsides the scrubber.
bug: 7080593 Change-Id: I913aee6e416c10d68403d7f9d4102d4dcc41e1d4
-rw-r--r--src/com/android/gallery3d/app/TimeBar.java46
1 files changed, 21 insertions, 25 deletions
diff --git a/src/com/android/gallery3d/app/TimeBar.java b/src/com/android/gallery3d/app/TimeBar.java
index 1f3630622..f52879732 100644
--- a/src/com/android/gallery3d/app/TimeBar.java
+++ b/src/com/android/gallery3d/app/TimeBar.java
@@ -237,32 +237,28 @@ public class TimeBar extends View {
int y = (int) event.getY();
switch (event.getAction()) {
- case MotionEvent.ACTION_DOWN:
- if (inScrubber(x, y)) {
- scrubbing = true;
- scrubberCorrection = x - scrubberLeft;
- listener.onScrubbingStart();
- return true;
- }
- break;
- case MotionEvent.ACTION_MOVE:
- if (scrubbing) {
- scrubberLeft = x - scrubberCorrection;
- clampScrubber();
- currentTime = getScrubberTime();
- listener.onScrubbingMove(currentTime);
- invalidate();
- return true;
- }
- break;
+ case MotionEvent.ACTION_DOWN: {
+ scrubberCorrection = inScrubber(x, y)
+ ? x - scrubberLeft
+ : scrubber.getWidth() / 2;
+ scrubbing = true;
+ listener.onScrubbingStart();
+ }
+ // fall-through
+ case MotionEvent.ACTION_MOVE: {
+ scrubberLeft = x - scrubberCorrection;
+ clampScrubber();
+ currentTime = getScrubberTime();
+ listener.onScrubbingMove(currentTime);
+ invalidate();
+ return true;
+ }
case MotionEvent.ACTION_CANCEL:
- case MotionEvent.ACTION_UP:
- if (scrubbing) {
- listener.onScrubbingEnd(getScrubberTime());
- scrubbing = false;
- return true;
- }
- break;
+ case MotionEvent.ACTION_UP: {
+ listener.onScrubbingEnd(getScrubberTime());
+ scrubbing = false;
+ return true;
+ }
}
}
return false;