From 41b3cff60905a96ab5b6f8e5f42bcc3bab1eb605 Mon Sep 17 00:00:00 2001 From: Bobby Georgescu Date: Fri, 19 Oct 2012 15:43:38 -0700 Subject: [PATCH] Fix delete and undo behavior on filmstrip Bug: 7353749 Change-Id: Ib0abd3f71783c01b1df418dd76e674bf05e65ce7 --- src/com/android/gallery3d/app/PhotoDataAdapter.java | 8 ++++++-- src/com/android/gallery3d/app/PhotoPage.java | 2 +- src/com/android/gallery3d/ui/PhotoView.java | 5 +++-- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/com/android/gallery3d/app/PhotoDataAdapter.java b/src/com/android/gallery3d/app/PhotoDataAdapter.java index 20f15be10..731b3fc79 100644 --- a/src/com/android/gallery3d/app/PhotoDataAdapter.java +++ b/src/com/android/gallery3d/app/PhotoDataAdapter.java @@ -1070,8 +1070,12 @@ public class PhotoDataAdapter implements PhotoPage.Model { // case the index needs to be limited to [0, mSize). if (index == MediaSet.INDEX_NOT_FOUND) { index = info.indexHint; - if (mFocusHintDirection == FOCUS_HINT_PREVIOUS - && index > 0) { + int focusHintDirection = mFocusHintDirection; + if (index == (mCameraIndex + 1)) { + focusHintDirection = FOCUS_HINT_NEXT; + } + if (focusHintDirection == FOCUS_HINT_PREVIOUS + && index > 0) { index--; } } diff --git a/src/com/android/gallery3d/app/PhotoPage.java b/src/com/android/gallery3d/app/PhotoPage.java index 5e3b166c3..bfe1d16de 100644 --- a/src/com/android/gallery3d/app/PhotoPage.java +++ b/src/com/android/gallery3d/app/PhotoPage.java @@ -345,7 +345,7 @@ public class PhotoPage extends ActivityState implements mMediaSet.getMediaItemCount() > 1) { mPhotoView.switchToImage(1); } else { - mPhotoView.setFilmMode(mPhotoView.canUndo()); + mPhotoView.setFilmMode(false); stayedOnCamera = true; } diff --git a/src/com/android/gallery3d/ui/PhotoView.java b/src/com/android/gallery3d/ui/PhotoView.java index eb16a6f5d..7e795fa0f 100644 --- a/src/com/android/gallery3d/ui/PhotoView.java +++ b/src/com/android/gallery3d/ui/PhotoView.java @@ -1304,7 +1304,8 @@ public class PhotoView extends GLView { mFilmMode = enabled; mPositionController.setFilmMode(mFilmMode); mModel.setNeedFullImage(!enabled); - mModel.setFocusHintDirection(Model.FOCUS_HINT_NEXT); + mModel.setFocusHintDirection( + mFilmMode ? Model.FOCUS_HINT_PREVIOUS : Model.FOCUS_HINT_NEXT); updateActionBar(); mListener.onFilmModeChanged(enabled); } @@ -1381,7 +1382,7 @@ public class PhotoView extends GLView { boolean touched = (mUndoBarState & UNDO_BAR_TOUCHED) != 0; boolean fullCamera = (mUndoBarState & UNDO_BAR_FULL_CAMERA) != 0; boolean deleteLast = (mUndoBarState & UNDO_BAR_DELETE_LAST) != 0; - if ((timeout && (touched || deleteLast)) || fullCamera) { + if ((timeout && deleteLast) || fullCamera || touched) { hideUndoBar(); } } -- 2.11.0