diff options
author | Ray Chen <raychen@google.com> | 2012-03-06 17:24:28 +0800 |
---|---|---|
committer | Ray Chen <raychen@google.com> | 2012-03-15 08:50:35 +0800 |
commit | f3f7f56af19f3f04a7daefd16981e5f55e39053d (patch) | |
tree | f932b44f1959b36ab2a5cdd62a5bb4453ac05512 /src/com/android/gallery3d/app/StateManager.java | |
parent | 762f8e20f608bc805d9e9f01fa2c4925f4735cf0 (diff) | |
download | android_packages_apps_Snap-f3f7f56af19f3f04a7daefd16981e5f55e39053d.tar.gz android_packages_apps_Snap-f3f7f56af19f3f04a7daefd16981e5f55e39053d.tar.bz2 android_packages_apps_Snap-f3f7f56af19f3f04a7daefd16981e5f55e39053d.zip |
Fix 3462852 [UI] When linking from Camera preview - App icon with 'Up' arrow should go to next level up.
Some changes in this CL:
1. ActivityState can decide whether to enable home button and show up arrow
2. ActivityState can handle home_up event on its own
3. Support getContentUri in LocalAlbum (Image/Video Roll) and LocalMergeAlbum (Camera Roll)
4. Gallery supports view action for AlbumPage (Camera Roll)
Change-Id: I85a75cdce9cbc2a877651fdec34a0180ed8e785c
Diffstat (limited to 'src/com/android/gallery3d/app/StateManager.java')
-rw-r--r-- | src/com/android/gallery3d/app/StateManager.java | 16 |
1 files changed, 1 insertions, 15 deletions
diff --git a/src/com/android/gallery3d/app/StateManager.java b/src/com/android/gallery3d/app/StateManager.java index b91eac644..5866be948 100644 --- a/src/com/android/gallery3d/app/StateManager.java +++ b/src/com/android/gallery3d/app/StateManager.java @@ -37,12 +37,10 @@ public class StateManager { private static final String KEY_DATA = "data"; private static final String KEY_STATE = "bundle"; private static final String KEY_CLASS = "class"; - private static final String KEY_LAUNCH_GALLERY_ON_TOP = "launch-gallery-on-top"; private GalleryActivity mContext; private Stack<StateEntry> mStack = new Stack<StateEntry>(); private ActivityState.ResultEntry mResult; - private boolean mLaunchGalleryOnTop = false; public StateManager(GalleryActivity context) { mContext = context; @@ -68,10 +66,6 @@ public class StateManager { if (mIsResumed) state.resume(); } - public void setLaunchGalleryOnTop(boolean enabled) { - mLaunchGalleryOnTop = enabled; - } - public void startStateForResult(Class<? extends ActivityState> klass, int requestCode, Bundle data) { Log.v(TAG, "startStateForResult " + klass + ", " + requestCode); @@ -135,18 +129,12 @@ public class StateManager { public boolean itemSelected(MenuItem item) { if (!mStack.isEmpty()) { + if (getTopState().onItemSelected(item)) return true; if (item.getItemId() == android.R.id.home) { if (mStack.size() > 1) { getTopState().onBackPressed(); - } else if (mLaunchGalleryOnTop) { - Activity activity = (Activity) mContext; - Intent intent = new Intent(activity, Gallery.class) - .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - ((Activity) mContext).startActivity(intent); } return true; - } else { - return getTopState().onItemSelected(item); } } return false; @@ -235,7 +223,6 @@ public class StateManager { @SuppressWarnings("unchecked") public void restoreFromState(Bundle inState) { Log.v(TAG, "restoreFromState"); - mLaunchGalleryOnTop = inState.getBoolean(KEY_LAUNCH_GALLERY_ON_TOP, false); Parcelable list[] = inState.getParcelableArray(KEY_MAIN); for (Parcelable parcelable : list) { Bundle bundle = (Bundle) parcelable; @@ -261,7 +248,6 @@ public class StateManager { public void saveState(Bundle outState) { Log.v(TAG, "saveState"); - outState.putBoolean(KEY_LAUNCH_GALLERY_ON_TOP, mLaunchGalleryOnTop); Parcelable list[] = new Parcelable[mStack.size()]; int i = 0; for (StateEntry entry : mStack) { |