diff options
author | Ray Chen <raychen@google.com> | 2012-03-20 16:32:57 +0800 |
---|---|---|
committer | Ray Chen <raychen@google.com> | 2012-03-20 16:56:20 +0800 |
commit | 9af4a90dae4c05acfd1ec4f8d63375e8c0ebb430 (patch) | |
tree | be01dfe43cedaaf213f4ddbb46d832d7b8677407 /src/com/android/gallery3d | |
parent | d8d04a85419c75b91348d3baeba416a14c5132f7 (diff) | |
download | android_packages_apps_Snap-9af4a90dae4c05acfd1ec4f8d63375e8c0ebb430.tar.gz android_packages_apps_Snap-9af4a90dae4c05acfd1ec4f8d63375e8c0ebb430.tar.bz2 android_packages_apps_Snap-9af4a90dae4c05acfd1ec4f8d63375e8c0ebb430.zip |
Fix b/6191707 Unable to set Custom wallpaper from Home
Change-Id: I130f74c94ebf5d93922807f7fee5ae7f189a15d4
Diffstat (limited to 'src/com/android/gallery3d')
-rw-r--r-- | src/com/android/gallery3d/app/AbstractGalleryActivity.java | 6 | ||||
-rw-r--r-- | src/com/android/gallery3d/app/AlbumPage.java | 2 | ||||
-rw-r--r-- | src/com/android/gallery3d/app/AlbumSetPage.java | 39 | ||||
-rw-r--r-- | src/com/android/gallery3d/app/Gallery.java | 7 | ||||
-rw-r--r-- | src/com/android/gallery3d/app/GalleryActionBar.java | 108 | ||||
-rw-r--r-- | src/com/android/gallery3d/app/ManageCachePage.java | 2 | ||||
-rw-r--r-- | src/com/android/gallery3d/app/PhotoPage.java | 11 | ||||
-rw-r--r-- | src/com/android/gallery3d/app/PickerActivity.java | 8 |
8 files changed, 92 insertions, 91 deletions
diff --git a/src/com/android/gallery3d/app/AbstractGalleryActivity.java b/src/com/android/gallery3d/app/AbstractGalleryActivity.java index 03f522f48..9a1d3d300 100644 --- a/src/com/android/gallery3d/app/AbstractGalleryActivity.java +++ b/src/com/android/gallery3d/app/AbstractGalleryActivity.java @@ -43,6 +43,7 @@ public class AbstractGalleryActivity extends Activity implements GalleryActivity private static final String TAG = "AbstractGalleryActivity"; private GLRootView mGLRootView; private StateManager mStateManager; + private GalleryActionBar mActionBar; private AlertDialog mAlertDialog = null; private BroadcastReceiver mMountReceiver = new BroadcastReceiver() { @@ -192,7 +193,10 @@ public class AbstractGalleryActivity extends Activity implements GalleryActivity @Override public GalleryActionBar getGalleryActionBar() { - return null; + if (mActionBar == null) { + mActionBar = new GalleryActionBar(this); + } + return mActionBar; } @Override diff --git a/src/com/android/gallery3d/app/AlbumPage.java b/src/com/android/gallery3d/app/AlbumPage.java index 411464e86..c83321671 100644 --- a/src/com/android/gallery3d/app/AlbumPage.java +++ b/src/com/android/gallery3d/app/AlbumPage.java @@ -118,7 +118,7 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster protected void onLayout( boolean changed, int left, int top, int right, int bottom) { - int slotViewTop = GalleryActionBar.getHeight((Activity) mActivity); + int slotViewTop = mActivity.getGalleryActionBar().getHeight(); int slotViewBottom = bottom - top; int slotViewRight = right - left; diff --git a/src/com/android/gallery3d/app/AlbumSetPage.java b/src/com/android/gallery3d/app/AlbumSetPage.java index c52cd8c05..e79a3ae04 100644 --- a/src/com/android/gallery3d/app/AlbumSetPage.java +++ b/src/com/android/gallery3d/app/AlbumSetPage.java @@ -79,6 +79,7 @@ public class AlbumSetPage extends ActivityState implements private String mTitle; private String mSubtitle; private boolean mShowClusterMenu; + private GalleryActionBar mActionBar; private int mSelectedAction; private Vibrator mVibrator; @@ -120,7 +121,7 @@ public class AlbumSetPage extends ActivityState implements boolean changed, int left, int top, int right, int bottom) { mEyePosition.resetPosition(); - int slotViewTop = GalleryActionBar.getHeight((Activity) mActivity); + int slotViewTop = mActionBar.getHeight(); int slotViewBottom = bottom - top; int slotViewRight = right - left; @@ -270,11 +271,9 @@ public class AlbumSetPage extends ActivityState implements mEyePosition = new EyePosition(context, this); mDetailsSource = new MyDetailsSource(); mVibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE); - GalleryActionBar actionBar = mActivity.getGalleryActionBar(); - if (actionBar != null) { - mSelectedAction = data.getInt( - AlbumSetPage.KEY_SELECTED_CLUSTER_TYPE, FilterUtils.CLUSTER_BY_ALBUM); - } + mActionBar = mActivity.getGalleryActionBar(); + mSelectedAction = data.getInt(AlbumSetPage.KEY_SELECTED_CLUSTER_TYPE, + FilterUtils.CLUSTER_BY_ALBUM); startTransition(); } @@ -311,11 +310,10 @@ public class AlbumSetPage extends ActivityState implements mAlbumSetView.pause(); mEyePosition.pause(); DetailsHelper.pause(); - GalleryActionBar actionBar = mActivity.getGalleryActionBar(); // Call disableClusterMenu to avoid receiving callback after paused. // Don't hide menu here otherwise the list menu will disappear earlier than // the action bar, which is janky and unwanted behavior. - if (actionBar != null) actionBar.disableClusterMenu(false); + mActionBar.disableClusterMenu(false); if (mSyncTask != null) { mSyncTask.cancel(); mSyncTask = null; @@ -337,9 +335,8 @@ public class AlbumSetPage extends ActivityState implements mAlbumSetView.resume(); mEyePosition.resume(); mActionModeHandler.resume(); - GalleryActionBar actionBar = mActivity.getGalleryActionBar(); - if (mShowClusterMenu && actionBar != null) { - actionBar.enableClusterMenu(mSelectedAction, this); + if (mShowClusterMenu) { + mActionBar.enableClusterMenu(mSelectedAction, this); } if (!mInitialSynced) { setLoadingBit(BIT_LOADING_SYNC); @@ -399,7 +396,6 @@ public class AlbumSetPage extends ActivityState implements @Override protected boolean onCreateActionBar(Menu menu) { Activity activity = (Activity) mActivity; - GalleryActionBar actionBar = mActivity.getGalleryActionBar(); MenuInflater inflater = activity.getMenuInflater(); final boolean inAlbum = mActivity.getStateManager().hasStateClass( @@ -415,10 +411,10 @@ public class AlbumSetPage extends ActivityState implements ? R.string.select_video : R.string.select_item; } - actionBar.setTitle(id); + mActionBar.setTitle(id); } else if (mGetAlbum) { inflater.inflate(R.menu.pickup, menu); - actionBar.setTitle(R.string.select_album); + mActionBar.setTitle(R.string.select_album); } else { mShowClusterMenu = !inAlbum; inflater.inflate(R.menu.albumset, menu); @@ -426,7 +422,7 @@ public class AlbumSetPage extends ActivityState implements if (selectItem != null) { boolean selectAlbums = !inAlbum && - actionBar.getClusterTypeAction() == FilterUtils.CLUSTER_BY_ALBUM; + mActionBar.getClusterTypeAction() == FilterUtils.CLUSTER_BY_ALBUM; if (selectAlbums) { selectItem.setTitle(R.string.select_album); } else { @@ -434,14 +430,14 @@ public class AlbumSetPage extends ActivityState implements } } - FilterUtils.setupMenuItems(actionBar, mMediaSet.getPath(), false); + FilterUtils.setupMenuItems(mActionBar, mMediaSet.getPath(), false); MenuItem switchCamera = menu.findItem(R.id.action_camera); if (switchCamera != null) { switchCamera.setVisible(GalleryUtils.isCameraAvailable(activity)); } - actionBar.setTitle(mTitle); - actionBar.setSubtitle(mSubtitle); + mActionBar.setTitle(mTitle); + mActionBar.setSubtitle(mSubtitle); } return true; } @@ -525,9 +521,8 @@ public class AlbumSetPage extends ActivityState implements } private String getSelectedString() { - GalleryActionBar actionBar = mActivity.getGalleryActionBar(); int count = mSelectionManager.getSelectedCount(); - int action = actionBar.getClusterTypeAction(); + int action = mActionBar.getClusterTypeAction(); int string = action == FilterUtils.CLUSTER_BY_ALBUM ? R.plurals.number_of_albums_selected : R.plurals.number_of_groups_selected; @@ -539,7 +534,7 @@ public class AlbumSetPage extends ActivityState implements switch (mode) { case SelectionManager.ENTER_SELECTION_MODE: { - mActivity.getGalleryActionBar().disableClusterMenu(true); + mActionBar.disableClusterMenu(true); mActionMode = mActionModeHandler.startActionMode(); mVibrator.vibrate(100); break; @@ -547,7 +542,7 @@ public class AlbumSetPage extends ActivityState implements case SelectionManager.LEAVE_SELECTION_MODE: { mActionMode.finish(); if (mShowClusterMenu) { - mActivity.getGalleryActionBar().enableClusterMenu(mSelectedAction, this); + mActionBar.enableClusterMenu(mSelectedAction, this); } mRootPane.invalidate(); break; diff --git a/src/com/android/gallery3d/app/Gallery.java b/src/com/android/gallery3d/app/Gallery.java index cd93c45ee..e3937bcd0 100644 --- a/src/com/android/gallery3d/app/Gallery.java +++ b/src/com/android/gallery3d/app/Gallery.java @@ -52,7 +52,6 @@ public final class Gallery extends AbstractGalleryActivity implements OnCancelLi public static final String KEY_MEDIA_TYPES = "mediaTypes"; private static final String TAG = "Gallery"; - private GalleryActionBar mActionBar; private Dialog mVersionCheckDialog; @Override @@ -63,7 +62,6 @@ public final class Gallery extends AbstractGalleryActivity implements OnCancelLi requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); setContentView(R.layout.main); - mActionBar = new GalleryActionBar(this); if (savedInstanceState != null) { getStateManager().restoreFromState(savedInstanceState); @@ -276,11 +274,6 @@ public final class Gallery extends AbstractGalleryActivity implements OnCancelLi } @Override - public GalleryActionBar getGalleryActionBar() { - return mActionBar; - } - - @Override public void onCancel(DialogInterface dialog) { if (dialog == mVersionCheckDialog) { mVersionCheckDialog = null; diff --git a/src/com/android/gallery3d/app/GalleryActionBar.java b/src/com/android/gallery3d/app/GalleryActionBar.java index 35cb8b4cb..c99cd60d7 100644 --- a/src/com/android/gallery3d/app/GalleryActionBar.java +++ b/src/com/android/gallery3d/app/GalleryActionBar.java @@ -19,6 +19,7 @@ package com.android.gallery3d.app; import android.app.ActionBar; import android.app.Activity; import android.app.AlertDialog; +import android.app.ActionBar.OnMenuVisibilityListener; import android.content.Context; import android.content.DialogInterface; import android.view.LayoutInflater; @@ -37,6 +38,16 @@ import java.util.ArrayList; public class GalleryActionBar implements ActionBar.OnNavigationListener { private static final String TAG = "GalleryActionBar"; + private ClusterRunner mClusterRunner; + private CharSequence[] mTitles; + private ArrayList<Integer> mActions; + private Context mContext; + private LayoutInflater mInflater; + private GalleryActivity mActivity; + private ActionBar mActionBar; + private int mCurrentIndex; + private ClusterAdapter mAdapter = new ClusterAdapter(); + public interface ClusterRunner { public void doCluster(int id); } @@ -103,15 +114,23 @@ public class GalleryActionBar implements ActionBar.OnNavigationListener { } } - private ClusterRunner mClusterRunner; - private CharSequence[] mTitles; - private ArrayList<Integer> mActions; - private Context mContext; - private LayoutInflater mInflater; - private GalleryActivity mActivity; - private ActionBar mActionBar; - private int mCurrentIndex; - private ClusterAdapter mAdapter = new ClusterAdapter(); + public static String getClusterByTypeString(Context context, int type) { + for (ActionItem item : sClusterItems) { + if (item.action == type) { + return context.getString(item.clusterBy); + } + } + return null; + } + + public static ShareActionProvider initializeShareActionProvider(Menu menu) { + MenuItem item = menu.findItem(R.id.action_share); + ShareActionProvider shareActionProvider = null; + if (item != null) { + shareActionProvider = (ShareActionProvider) item.getActionProvider(); + } + return shareActionProvider; + } public GalleryActionBar(GalleryActivity activity) { mActionBar = ((Activity) activity).getActionBar(); @@ -121,11 +140,6 @@ public class GalleryActionBar implements ActionBar.OnNavigationListener { mCurrentIndex = 0; } - public static int getHeight(Activity activity) { - ActionBar actionBar = activity.getActionBar(); - return actionBar != null ? actionBar.getHeight() : 0; - } - private void createDialogData() { ArrayList<CharSequence> titles = new ArrayList<CharSequence>(); mActions = new ArrayList<Integer>(); @@ -139,6 +153,10 @@ public class GalleryActionBar implements ActionBar.OnNavigationListener { titles.toArray(mTitles); } + public int getHeight() { + return mActionBar != null ? mActionBar.getHeight() : 0; + } + public void setClusterItemEnabled(int id, boolean enabled) { for (ActionItem item : sClusterItems) { if (item.action == id) { @@ -161,41 +179,26 @@ public class GalleryActionBar implements ActionBar.OnNavigationListener { return sClusterItems[mCurrentIndex].action; } - public static String getClusterByTypeString(Context context, int type) { - for (ActionItem item : sClusterItems) { - if (item.action == type) { - return context.getString(item.clusterBy); - } - } - return null; - } - - public static ShareActionProvider initializeShareActionProvider(Menu menu) { - MenuItem item = menu.findItem(R.id.action_share); - ShareActionProvider shareActionProvider = null; - if (item != null) { - shareActionProvider = (ShareActionProvider) item.getActionProvider(); - } - return shareActionProvider; - } - public void enableClusterMenu(int action, ClusterRunner runner) { - Log.v(TAG, "showClusterMenu: runner=" + runner); - // Don't set cluster runner until action bar is ready. - mClusterRunner = null; - mActionBar.setListNavigationCallbacks(mAdapter, this); - mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); - setSelectedAction(action); - mClusterRunner = runner; + if (mActionBar != null) { + // Don't set cluster runner until action bar is ready. + mClusterRunner = null; + mActionBar.setListNavigationCallbacks(mAdapter, this); + mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); + setSelectedAction(action); + mClusterRunner = runner; + } } // The only use case not to hideMenu in this method is to ensure // all elements disappear at the same time when exiting gallery. // hideMenu should always be true in all other cases. public void disableClusterMenu(boolean hideMenu) { - mClusterRunner = null; - if (hideMenu) { - mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); + if (mActionBar != null) { + mClusterRunner = null; + if (hideMenu) { + mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); + } } } @@ -214,8 +217,7 @@ public class GalleryActionBar implements ActionBar.OnNavigationListener { if (mActionBar != null) { int options = (displayHomeAsUp ? ActionBar.DISPLAY_HOME_AS_UP : 0) | (showTitle ? ActionBar.DISPLAY_SHOW_TITLE : 0); - mActionBar.setDisplayOptions( - options, + mActionBar.setDisplayOptions(options, ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_TITLE); mActionBar.setHomeButtonEnabled(displayHomeAsUp); } @@ -233,7 +235,25 @@ public class GalleryActionBar implements ActionBar.OnNavigationListener { if (mActionBar != null) mActionBar.setSubtitle(title); } + public void show() { + if (mActionBar != null) mActionBar.show(); + } + + public void hide() { + if (mActionBar != null) mActionBar.hide(); + } + + public void addOnMenuVisibilityListener(OnMenuVisibilityListener listener) { + if (mActionBar != null) mActionBar.addOnMenuVisibilityListener(listener); + } + + public void removeOnMenuVisibilityListener(OnMenuVisibilityListener listener) { + if (mActionBar != null) mActionBar.removeOnMenuVisibilityListener(listener); + } + public boolean setSelectedAction(int type) { + if (mActionBar == null) return false; + for (int i = 0, n = sClusterItems.length; i < n; i++) { ActionItem item = sClusterItems[i]; if (item.action == type) { diff --git a/src/com/android/gallery3d/app/ManageCachePage.java b/src/com/android/gallery3d/app/ManageCachePage.java index 4134e3273..124eb7bf0 100644 --- a/src/com/android/gallery3d/app/ManageCachePage.java +++ b/src/com/android/gallery3d/app/ManageCachePage.java @@ -112,7 +112,7 @@ public class ManageCachePage extends ActivityState implements mEyePosition.resetPosition(); Activity activity = (Activity) mActivity; - int slotViewTop = GalleryActionBar.getHeight(activity); + int slotViewTop = mActivity.getGalleryActionBar().getHeight(); int slotViewBottom = bottom - top; View footer = activity.findViewById(R.id.footer); diff --git a/src/com/android/gallery3d/app/PhotoPage.java b/src/com/android/gallery3d/app/PhotoPage.java index 8040a2fc6..502530a42 100644 --- a/src/com/android/gallery3d/app/PhotoPage.java +++ b/src/com/android/gallery3d/app/PhotoPage.java @@ -16,7 +16,6 @@ package com.android.gallery3d.app; -import android.app.ActionBar; import android.app.ActionBar.OnMenuVisibilityListener; import android.app.Activity; import android.content.ActivityNotFoundException; @@ -97,7 +96,7 @@ public class PhotoPage extends ActivityState private int mCurrentIndex = 0; private Handler mHandler; private boolean mShowBars = true; - private ActionBar mActionBar; + private GalleryActionBar mActionBar; private MyMenuVisibilityListener mMenuVisibilityListener; private boolean mIsMenuVisible; private boolean mIsInteracting; @@ -145,8 +144,7 @@ public class PhotoPage extends ActivityState right - left, bottom - top); } if (mShowDetails) { - mDetailsHelper.layout(left, GalleryActionBar.getHeight((Activity) mActivity), - right, bottom); + mDetailsHelper.layout(left, mActionBar.getHeight(), right, bottom); } } }; @@ -169,7 +167,7 @@ public class PhotoPage extends ActivityState @Override public void onCreate(Bundle data, Bundle restoreState) { - mActionBar = ((Activity) mActivity).getActionBar(); + mActionBar = mActivity.getGalleryActionBar(); mSelectionManager = new SelectionManager(mActivity, false); mMenuExecutor = new MenuExecutor(mActivity, mSelectionManager); @@ -630,8 +628,7 @@ public class PhotoPage extends ActivityState if (mMenuVisibilityListener == null) { mMenuVisibilityListener = new MyMenuVisibilityListener(); } - mActivity.getGalleryActionBar().setDisplayOptions(mSetPathString != null, true); - + mActionBar.setDisplayOptions(mSetPathString != null, true); mActionBar.addOnMenuVisibilityListener(mMenuVisibilityListener); onUserInteraction(); } diff --git a/src/com/android/gallery3d/app/PickerActivity.java b/src/com/android/gallery3d/app/PickerActivity.java index 855a0cee7..d63e23733 100644 --- a/src/com/android/gallery3d/app/PickerActivity.java +++ b/src/com/android/gallery3d/app/PickerActivity.java @@ -33,8 +33,6 @@ public class PickerActivity extends AbstractGalleryActivity public static final String KEY_ALBUM_PATH = "album-path"; - private GalleryActionBar mActionBar; - @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -46,7 +44,6 @@ public class PickerActivity extends AbstractGalleryActivity if (!isDialog) { requestWindowFeature(Window.FEATURE_ACTION_BAR); requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY); - mActionBar = new GalleryActionBar(this); } setContentView(R.layout.dialog_picker); @@ -96,9 +93,4 @@ public class PickerActivity extends AbstractGalleryActivity public void onClick(View v) { if (v.getId() == R.id.cancel) finish(); } - - @Override - public GalleryActionBar getGalleryActionBar() { - return mActionBar; - } } |