summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/widget
diff options
context:
space:
mode:
authorSpike Sprague <spikuru@google.com>2015-02-04 11:05:23 -0800
committerSpike Sprague <spikuru@google.com>2015-02-04 11:16:55 -0800
commite08c469a48a347ba02e3c246370757e16b2bbad0 (patch)
treedf0e55373c99c8ab5ad034f5ffbf865bd575fe56 /src/com/android/camera/widget
parent7a2678faaa49df9a7acc1c4d95a7c9ee3b8580aa (diff)
downloadandroid_packages_apps_Camera2-e08c469a48a347ba02e3c246370757e16b2bbad0.tar.gz
android_packages_apps_Camera2-e08c469a48a347ba02e3c246370757e16b2bbad0.tar.bz2
android_packages_apps_Camera2-e08c469a48a347ba02e3c246370757e16b2bbad0.zip
Fix for CL ag/627135
Move logic to open filmstrip from onUp() to onFling(), mimicking logic in ModeListView fling handling. Limit fling handling to entering Filmstip from the Preview. bug: 18904319 Change-Id: I51960dbb427345eb69a2d4a4a84d74479361be96
Diffstat (limited to 'src/com/android/camera/widget')
-rw-r--r--src/com/android/camera/widget/FilmstripLayout.java14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/com/android/camera/widget/FilmstripLayout.java b/src/com/android/camera/widget/FilmstripLayout.java
index bbedf240e..a004265e3 100644
--- a/src/com/android/camera/widget/FilmstripLayout.java
+++ b/src/com/android/camera/widget/FilmstripLayout.java
@@ -48,6 +48,10 @@ import com.android.camera2.R;
public class FilmstripLayout extends FrameLayout implements FilmstripContentPanel {
private static final long DEFAULT_DURATION_MS = 250;
+ /**
+ * If the fling velocity exceeds this threshold, open filmstrip at a constant
+ */
+ private static final float FLING_VELOCITY_THRESHOLD = 4.0f;
/**
* The layout containing the {@link com.android.camera.widget.FilmstripView}
@@ -397,11 +401,19 @@ public class FilmstripLayout extends FrameLayout implements FilmstripContentPane
return false;
}
+ private boolean flingShouldOpenFilmstrip(float velocityX) {
+ return (velocityX < 0.0f) && (Math.abs(velocityX / 1000.0f) > FLING_VELOCITY_THRESHOLD);
+ }
+
@Override
public boolean onFling(float velocityX, float velocityY) {
if (mFilmstripContentTranslationProgress == 0f) {
return mFilmstripGestureListener.onFling(velocityX, velocityY);
+ } else if (flingShouldOpenFilmstrip(velocityX)) {
+ showFilmstrip();
+ return true;
}
+
return false;
}
@@ -437,8 +449,6 @@ public class FilmstripLayout extends FrameLayout implements FilmstripContentPane
if (mSwipeTrend < 0) {
hideFilmstrip();
onSwipeOut();
- } else if (mSwipeTrend > 0) {
- showFilmstrip();
} else {
if (mFilmstripContentLayout.getTranslationX() >= getMeasuredWidth() / 2) {
hideFilmstrip();