diff options
author | Bobby Georgescu <georgescu@google.com> | 2012-09-19 16:51:05 -0700 |
---|---|---|
committer | Bobby Georgescu <georgescu@google.com> | 2012-09-25 11:22:18 -0700 |
commit | 00ccf35f8ec016b2cb8fdcf0c65ba643dca54a14 (patch) | |
tree | fd5d12f709053744d35091bfc444ddc7a5a6921f /src/com/android/gallery3d/app/AlbumPage.java | |
parent | 62e8403c69f4a82a4023651499a88f15eaa47fa5 (diff) | |
download | android_packages_apps_Gallery2-00ccf35f8ec016b2cb8fdcf0c65ba643dca54a14.tar.gz android_packages_apps_Gallery2-00ccf35f8ec016b2cb8fdcf0c65ba643dca54a14.tar.bz2 android_packages_apps_Gallery2-00ccf35f8ec016b2cb8fdcf0c65ba643dca54a14.zip |
Grid/filmstrip switching behavior improvements
Bug: 7200453
Bug: 7196483
Bug: 7222179
Bug: 7224619
Changes:
- Launch camera in capture even if paused in grid/filmstrip
- Fixed behavior of filmstrip button after launching grid
from camera
- Refresh bar timeouts after swiping a photo
- Partially swiping from camera to filmstrip without lifting
finger and then swiping back no longer results in unwanted
switch to filmstrip
- Removed hacky solution to switching to filmstrip mode
Change-Id: I5cdde927e6a27a03b99a7f4883c5601bc281f4c8
Diffstat (limited to 'src/com/android/gallery3d/app/AlbumPage.java')
-rw-r--r-- | src/com/android/gallery3d/app/AlbumPage.java | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/src/com/android/gallery3d/app/AlbumPage.java b/src/com/android/gallery3d/app/AlbumPage.java index 9bb2c3730..30682a115 100644 --- a/src/com/android/gallery3d/app/AlbumPage.java +++ b/src/com/android/gallery3d/app/AlbumPage.java @@ -100,6 +100,7 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster private float mUserDistance; // in pixel private Future<Integer> mSyncTask = null; private boolean mLaunchedFromPhotoPage; + private boolean mInCameraApp; private int mLoadingBits = 0; private boolean mInitialSynced = false; @@ -201,6 +202,11 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster } else if (mSelectionManager.inSelectionMode()) { mSelectionManager.leaveSelectionMode(); } else { + if(mLaunchedFromPhotoPage) { + mActivity.getTransitionStore().putIfNotPresent( + PhotoPage.KEY_ALBUMPAGE_TRANSITION, + PhotoPage.MSG_ALBUMPAGE_RESUMED); + } // TODO: fix this regression // mAlbumView.savePositions(PositionRepository.getInstance(mActivity)); onUpPressed(); @@ -359,6 +365,7 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster mLaunchedFromPhotoPage = mActivity.getStateManager().hasStateClass(PhotoPage.class); + mInCameraApp = data.getBoolean(PhotoPage.KEY_APP_BRIDGE, false); // Don't show animation if it is restored or switched from filmstrip if (!mLaunchedFromPhotoPage && restoreState == null && data != null) { @@ -417,6 +424,14 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster clearLoadingBit(BIT_LOADING_SYNC); } mActionModeHandler.pause(); + + // The camera app should always launch in capture mode when + // resumed, so make the next resume faster by closing the grid + // view now + if (mInCameraApp) { + if (mActivity.getStateManager().getTopState() == this) + mActivity.getStateManager().finishState(this); + } } @Override @@ -530,11 +545,11 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster private void prepareAnimationBackToFilmstrip(int slotIndex) { if (mAlbumDataAdapter == null || !mAlbumDataAdapter.isActive(slotIndex)) return; + MediaItem item = mAlbumDataAdapter.get(slotIndex); + if (item == null) return; PreparePageFadeoutTexture.prepareFadeOutTexture(mActivity, mRootPane); TransitionStore transitions = mActivity.getTransitionStore(); transitions.put(PhotoPage.KEY_INDEX_HINT, slotIndex); - transitions.put(PhotoPage.KEY_MEDIA_ITEM_PATH, - mAlbumDataAdapter.get(slotIndex).getPath()); transitions.put(PhotoPage.KEY_OPEN_ANIMATION_RECT, mSlotView.getSlotRect(slotIndex, mRootPane)); } @@ -571,9 +586,6 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster int targetPhoto = mSlotView.getVisibleStart(); prepareAnimationBackToFilmstrip(targetPhoto); if(mLaunchedFromPhotoPage) { - mActivity.getTransitionStore().put( - PhotoPage.KEY_ALBUMPAGE_TRANSITION, - PhotoPage.MSG_ALBUMPAGE_RESUMED); onBackPressed(); } else { pickPhoto(targetPhoto, true); |