diff options
author | Spike Sprague <spikuru@google.com> | 2015-02-04 11:05:23 -0800 |
---|---|---|
committer | Spike Sprague <spikuru@google.com> | 2015-02-04 11:16:55 -0800 |
commit | e08c469a48a347ba02e3c246370757e16b2bbad0 (patch) | |
tree | df0e55373c99c8ab5ad034f5ffbf865bd575fe56 /src/com/android/camera/widget | |
parent | 7a2678faaa49df9a7acc1c4d95a7c9ee3b8580aa (diff) | |
download | android_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.java | 14 |
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(); |