summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/app/AlbumPage.java
diff options
context:
space:
mode:
authorBobby Georgescu <georgescu@google.com>2012-09-19 16:51:05 -0700
committerBobby Georgescu <georgescu@google.com>2012-09-25 11:22:18 -0700
commit00ccf35f8ec016b2cb8fdcf0c65ba643dca54a14 (patch)
treefd5d12f709053744d35091bfc444ddc7a5a6921f /src/com/android/gallery3d/app/AlbumPage.java
parent62e8403c69f4a82a4023651499a88f15eaa47fa5 (diff)
downloadandroid_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.java22
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);