diff options
author | Owen Lin <owenlin@google.com> | 2011-08-28 10:50:21 +0800 |
---|---|---|
committer | Owen Lin <owenlin@google.com> | 2011-08-30 10:56:43 +0800 |
commit | 44aac4bcb6ddd0b6553a198db4adb479d3437c8e (patch) | |
tree | 034376bdd3cb6c5cc14945a6b1e1832af5a80a46 /src/com/android/gallery3d/app | |
parent | b60402ba7551478d324fb777bb5f45b11dffe37c (diff) | |
download | android_packages_apps_Snap-44aac4bcb6ddd0b6553a198db4adb479d3437c8e.tar.gz android_packages_apps_Snap-44aac4bcb6ddd0b6553a198db4adb479d3437c8e.tar.bz2 android_packages_apps_Snap-44aac4bcb6ddd0b6553a198db4adb479d3437c8e.zip |
Fix several issues in Gallery2.
fix: 5189318 - use transparent background for tabs
fix: 5174277 - menu mailfunctioned after slideshow (a hack):
fix: 5153387 - wrong tab is selected in album set page
Change-Id: I68092039e566b5f7409ae509f65b227b06da16bb
Diffstat (limited to 'src/com/android/gallery3d/app')
-rw-r--r-- | src/com/android/gallery3d/app/ActivityState.java | 8 | ||||
-rw-r--r-- | src/com/android/gallery3d/app/AlbumPage.java | 1 | ||||
-rw-r--r-- | src/com/android/gallery3d/app/AlbumSetPage.java | 29 | ||||
-rw-r--r-- | src/com/android/gallery3d/app/GalleryActionBar.java | 17 | ||||
-rw-r--r-- | src/com/android/gallery3d/app/PhotoPage.java | 11 |
5 files changed, 37 insertions, 29 deletions
diff --git a/src/com/android/gallery3d/app/ActivityState.java b/src/com/android/gallery3d/app/ActivityState.java index c8aa2150e..9f90d7b3c 100644 --- a/src/com/android/gallery3d/app/ActivityState.java +++ b/src/com/android/gallery3d/app/ActivityState.java @@ -104,11 +104,11 @@ abstract public class ActivityState { if ((mFlags & FLAG_HIDE_STATUS_BAR) != 0) { WindowManager.LayoutParams params = ((Activity) mActivity).getWindow().getAttributes(); - params.systemUiVisibility = View.STATUS_BAR_HIDDEN; + params.systemUiVisibility = View.SYSTEM_UI_FLAG_LOW_PROFILE; ((Activity) mActivity).getWindow().setAttributes(params); } else { WindowManager.LayoutParams params = ((Activity) mActivity).getWindow().getAttributes(); - params.systemUiVisibility = View.STATUS_BAR_VISIBLE; + params.systemUiVisibility = View.SYSTEM_UI_FLAG_VISIBLE; ((Activity) mActivity).getWindow().setAttributes(params); } @@ -125,7 +125,9 @@ abstract public class ActivityState { } protected boolean onCreateActionBar(Menu menu) { - return false; + // TODO: we should return false if there is no menu to show + // this is a workaround for a bug in system + return true; } protected boolean onItemSelected(MenuItem item) { diff --git a/src/com/android/gallery3d/app/AlbumPage.java b/src/com/android/gallery3d/app/AlbumPage.java index 8bd1eacb9..672c0da99 100644 --- a/src/com/android/gallery3d/app/AlbumPage.java +++ b/src/com/android/gallery3d/app/AlbumPage.java @@ -54,7 +54,6 @@ import android.view.ActionMode; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; -import android.view.View.MeasureSpec; import android.widget.Toast; import java.util.Random; diff --git a/src/com/android/gallery3d/app/AlbumSetPage.java b/src/com/android/gallery3d/app/AlbumSetPage.java index 72eae55db..6542be1d2 100644 --- a/src/com/android/gallery3d/app/AlbumSetPage.java +++ b/src/com/android/gallery3d/app/AlbumSetPage.java @@ -40,7 +40,6 @@ import com.android.gallery3d.ui.PositionRepository.Position; import com.android.gallery3d.ui.SelectionManager; import com.android.gallery3d.ui.SlotView; import com.android.gallery3d.ui.StaticBackground; -import com.android.gallery3d.ui.SynchronizedHandler; import com.android.gallery3d.util.GalleryUtils; import android.app.Activity; @@ -48,13 +47,11 @@ import android.content.Context; import android.content.Intent; import android.graphics.Rect; import android.os.Bundle; -import android.os.Message; import android.provider.MediaStore; import android.view.ActionMode; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; -import android.view.View.MeasureSpec; import android.widget.Toast; public class AlbumSetPage extends ActivityState implements @@ -66,6 +63,8 @@ public class AlbumSetPage extends ActivityState implements public static final String KEY_MEDIA_PATH = "media-path"; public static final String KEY_SET_TITLE = "set-title"; public static final String KEY_SET_SUBTITLE = "set-subtitle"; + public static final String KEY_SELECTED_TAB_TYPE = "selected-tab"; + private static final int DATA_CACHE_SIZE = 256; private static final int REQUEST_DO_ANIMATION = 1; private static final int MSG_GOTO_MANAGE_CACHE_PAGE = 1; @@ -99,8 +98,6 @@ public class AlbumSetPage extends ActivityState implements private float mY; private float mZ; - private SynchronizedHandler mHandler; - private GLView mRootPane = new GLView() { private float mMatrix[] = new float[16]; @@ -231,6 +228,7 @@ public class AlbumSetPage extends ActivityState implements String newPath = FilterUtils.switchClusterPath(basePath, clusterType); Bundle data = new Bundle(getData()); data.putString(AlbumSetPage.KEY_MEDIA_PATH, newPath); + data.putInt(KEY_SELECTED_TAB_TYPE, clusterType); mAlbumSetView.savePositions(PositionRepository.getInstance(mActivity)); mActivity.getStateManager().switchState(this, AlbumSetPage.class, data); } @@ -251,18 +249,6 @@ public class AlbumSetPage extends ActivityState implements @Override public void onCreate(Bundle data, Bundle restoreState) { - mHandler = new SynchronizedHandler(mActivity.getGLRoot()) { - @Override - public void handleMessage(Message message) { - Utils.assertTrue(message.what == MSG_GOTO_MANAGE_CACHE_PAGE); - Bundle data = new Bundle(); - String mediaPath = mActivity.getDataManager().getTopSetPath( - DataManager.INCLUDE_ALL); - data.putString(AlbumSetPage.KEY_MEDIA_PATH, mediaPath); - mActivity.getStateManager().startState(ManageCachePage.class, data); - } - }; - initializeViews(); initializeData(data); mGetContent = data.getBoolean(Gallery.KEY_GET_CONTENT, false); @@ -271,7 +257,8 @@ public class AlbumSetPage extends ActivityState implements mSubtitle = data.getString(AlbumSetPage.KEY_SET_SUBTITLE); mEyePosition = new EyePosition(mActivity.getAndroidContext(), this); mDetailsSource = new MyDetailsSource(); - + mActivity.getGalleryActionBar().setSelectedTab(data.getInt( + AlbumSetPage.KEY_SELECTED_TAB_TYPE, FilterUtils.CLUSTER_BY_ALBUM)); startTransition(); } @@ -432,7 +419,11 @@ public class AlbumSetPage extends ActivityState implements return true; } case R.id.action_manage_offline: { - mHandler.sendEmptyMessage(MSG_GOTO_MANAGE_CACHE_PAGE); + Bundle data = new Bundle(); + String mediaPath = mActivity.getDataManager().getTopSetPath( + DataManager.INCLUDE_ALL); + data.putString(AlbumSetPage.KEY_MEDIA_PATH, mediaPath); + mActivity.getStateManager().startState(ManageCachePage.class, data); return true; } case R.id.action_sync_picasa_albums: { diff --git a/src/com/android/gallery3d/app/GalleryActionBar.java b/src/com/android/gallery3d/app/GalleryActionBar.java index db64828da..03621a60a 100644 --- a/src/com/android/gallery3d/app/GalleryActionBar.java +++ b/src/com/android/gallery3d/app/GalleryActionBar.java @@ -16,8 +16,6 @@ package com.android.gallery3d.app; -import java.util.ArrayList; - import com.android.gallery3d.R; import android.app.ActionBar; @@ -27,11 +25,11 @@ import android.app.AlertDialog; import android.app.FragmentTransaction; import android.content.Context; import android.content.DialogInterface; -import android.content.Intent; import android.view.Menu; import android.view.MenuItem; import android.widget.ShareActionProvider; -import android.widget.ShareActionProvider.OnShareTargetSelectedListener; + +import java.util.ArrayList; public class GalleryActionBar implements ActionBar.TabListener { private static final String TAG = "GalleryActionBar"; @@ -215,4 +213,15 @@ public class GalleryActionBar implements ActionBar.TabListener { @Override public void onTabReselected(Tab tab, FragmentTransaction ft) { } + + public boolean setSelectedTab(int type) { + for (int i = 0, n = sClusterItems.length; i < n; ++i) { + ActionItem item = sClusterItems[i]; + if (item.visible && item.action == type) { + mActionBar.selectTab(mActionBar.getTabAt(i)); + return true; + } + } + return false; + } } diff --git a/src/com/android/gallery3d/app/PhotoPage.java b/src/com/android/gallery3d/app/PhotoPage.java index 4fbffb55a..421f15ca1 100644 --- a/src/com/android/gallery3d/app/PhotoPage.java +++ b/src/com/android/gallery3d/app/PhotoPage.java @@ -66,6 +66,7 @@ public class PhotoPage extends ActivityState private static final String TAG = "PhotoPage"; private static final int MSG_HIDE_BARS = 1; + private static final int HIDE_BARS_TIMEOUT = 3500; private static final int REQUEST_SLIDESHOW = 1; @@ -388,8 +389,7 @@ public class PhotoPage extends ActivityState switch (action) { case R.id.action_slideshow: { Bundle data = new Bundle(); - data.putString(SlideshowPage.KEY_SET_PATH, - mMediaSet.getPath().toString()); + data.putString(SlideshowPage.KEY_SET_PATH, mMediaSet.getPath().toString()); data.putInt(SlideshowPage.KEY_PHOTO_INDEX, currentIndex); data.putBoolean(SlideshowPage.KEY_REPEAT, true); mActivity.getStateManager().startStateForResult( @@ -562,17 +562,24 @@ public class PhotoPage extends ActivityState private class MyDetailsSource implements DetailsSource { private int mIndex; + + @Override public MediaDetails getDetails() { return mModel.getCurrentMediaItem().getDetails(); } + + @Override public int size() { return mMediaSet != null ? mMediaSet.getMediaItemCount() : 1; } + + @Override public int findIndex(int indexHint) { mIndex = indexHint; return indexHint; } + @Override public int getIndex() { return mIndex; } |