summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/app/GalleryActionBar.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/app/GalleryActionBar.java')
-rw-r--r--src/com/android/gallery3d/app/GalleryActionBar.java73
1 files changed, 47 insertions, 26 deletions
diff --git a/src/com/android/gallery3d/app/GalleryActionBar.java b/src/com/android/gallery3d/app/GalleryActionBar.java
index 69f51bccb..4c6a56309 100644
--- a/src/com/android/gallery3d/app/GalleryActionBar.java
+++ b/src/com/android/gallery3d/app/GalleryActionBar.java
@@ -17,27 +17,28 @@
package com.android.gallery3d.app;
import android.annotation.TargetApi;
-import android.app.ActionBar;
-import android.app.ActionBar.OnMenuVisibilityListener;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
+import android.content.Intent;
import android.view.LayoutInflater;
import android.view.Menu;
-import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
-import android.widget.ShareActionProvider;
import android.widget.TextView;
import com.android.gallery3d.R;
+import com.android.gallery3d.actionbar.ActionBarInterface;
+import com.android.gallery3d.actionbar.ActionBarInterface.OnMenuVisibilityListener;
+import com.android.gallery3d.actionbar.ActionBarUtils;
+import com.android.gallery3d.actionbar.MenuHolder;
import com.android.gallery3d.common.ApiHelper;
import java.util.ArrayList;
-public class GalleryActionBar implements ActionBar.OnNavigationListener {
+public class GalleryActionBar implements ActionBarInterface.OnNavigationListener, MenuHolder {
@SuppressWarnings("unused")
private static final String TAG = "GalleryActionBar";
@@ -47,7 +48,7 @@ public class GalleryActionBar implements ActionBar.OnNavigationListener {
private Context mContext;
private LayoutInflater mInflater;
private GalleryActivity mActivity;
- private ActionBar mActionBar;
+ private ActionBarInterface mActionBar;
private int mCurrentIndex;
private ClusterAdapter mAdapter = new ClusterAdapter();
@@ -130,17 +131,8 @@ public class GalleryActionBar implements ActionBar.OnNavigationListener {
return null;
}
- @TargetApi(ApiHelper.VERSION_CODES.ICE_CREAM_SANDWICH)
- public static ShareActionProvider initializeShareActionProvider(Menu menu,
- Context context) {
- MenuItem item = menu.findItem(R.id.action_share);
- ShareActionProvider shareActionProvider = new ShareActionProvider(context);
- item.setActionProvider(shareActionProvider);
- return shareActionProvider;
- }
-
public GalleryActionBar(GalleryActivity activity) {
- mActionBar = ((Activity) activity).getActionBar();
+ mActionBar = ActionBarUtils.getActionBar((Activity) activity);
mContext = activity.getAndroidContext();
mActivity = activity;
mInflater = ((Activity) mActivity).getLayoutInflater();
@@ -191,7 +183,7 @@ public class GalleryActionBar implements ActionBar.OnNavigationListener {
// Don't set cluster runner until action bar is ready.
mClusterRunner = null;
mActionBar.setListNavigationCallbacks(mAdapter, this);
- mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
+ mActionBar.setNavigationMode(ActionBarInterface.NAVIGATION_MODE_LIST);
setSelectedAction(action);
mClusterRunner = runner;
}
@@ -204,7 +196,7 @@ public class GalleryActionBar implements ActionBar.OnNavigationListener {
if (mActionBar != null) {
mClusterRunner = null;
if (hideMenu) {
- mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
+ mActionBar.setNavigationMode(ActionBarInterface.NAVIGATION_MODE_STANDARD);
}
}
}
@@ -236,13 +228,14 @@ public class GalleryActionBar implements ActionBar.OnNavigationListener {
}
public void setDisplayOptions(boolean displayHomeAsUp, boolean showTitle) {
- if (mActionBar != null) {
- int options = (displayHomeAsUp ? ActionBar.DISPLAY_HOME_AS_UP : 0) |
- (showTitle ? ActionBar.DISPLAY_SHOW_TITLE : 0);
- mActionBar.setDisplayOptions(options,
- ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_TITLE);
- setHomeButtonEnabled(displayHomeAsUp);
- }
+ if (mActionBar == null) return;
+ int options = 0;
+ if (displayHomeAsUp) options |= ActionBarInterface.DISPLAY_HOME_AS_UP;
+ if (showTitle) options |= ActionBarInterface.DISPLAY_SHOW_TITLE;
+
+ mActionBar.setDisplayOptions(options,
+ ActionBarInterface.DISPLAY_HOME_AS_UP | ActionBarInterface.DISPLAY_SHOW_TITLE);
+ mActionBar.setHomeButtonEnabled(displayHomeAsUp);
}
public void setTitle(String title) {
@@ -250,7 +243,9 @@ public class GalleryActionBar implements ActionBar.OnNavigationListener {
}
public void setTitle(int titleId) {
- if (mActionBar != null) mActionBar.setTitle(titleId);
+ if (mActionBar != null) {
+ mActionBar.setTitle(mContext.getString(titleId));
+ }
}
public void setSubtitle(String title) {
@@ -301,4 +296,30 @@ public class GalleryActionBar implements ActionBar.OnNavigationListener {
}
return false;
}
+
+ public boolean hasShareMenuItem() {
+ return mActionBar == null ? false : mActionBar.hasShareMenuItem();
+ }
+
+ public void setShareIntent(Intent intent) {
+ mActionBar.setShareIntent(intent);
+ }
+
+ public boolean createActionMenu(Menu menu, int menuRes) {
+ return mActionBar.createActionMenu(menu, menuRes);
+ }
+
+ @Override
+ public void setMenuItemVisible(int menuItemId, boolean visible) {
+ mActionBar.setMenuItemVisible(menuItemId, visible);
+ }
+
+ @Override
+ public void setMenuItemTitle(int menuItemId, String title) {
+ mActionBar.setMenuItemTitle(menuItemId, title);
+ }
+
+ public void setMenuItemIntent(int menuItemId, Intent intent) {
+ mActionBar.setMenuItemIntent(menuItemId, intent);
+ }
}