summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/ui
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/ui')
-rw-r--r--src/com/android/gallery3d/ui/ActionModeHandler.java90
-rw-r--r--src/com/android/gallery3d/ui/AlbumSetSlidingWindow.java4
-rw-r--r--src/com/android/gallery3d/ui/AlbumSetSlotRenderer.java11
-rw-r--r--src/com/android/gallery3d/ui/AlbumSlidingWindow.java4
-rw-r--r--src/com/android/gallery3d/ui/AlbumSlotRenderer.java10
-rw-r--r--src/com/android/gallery3d/ui/CacheStorageUsageInfo.java6
-rw-r--r--src/com/android/gallery3d/ui/CropView.java6
-rw-r--r--src/com/android/gallery3d/ui/DetailsAddressResolver.java6
-rw-r--r--src/com/android/gallery3d/ui/DetailsHelper.java6
-rw-r--r--src/com/android/gallery3d/ui/DialogDetailsView.java21
-rw-r--r--src/com/android/gallery3d/ui/ImportCompleteListener.java6
-rw-r--r--src/com/android/gallery3d/ui/ManageCacheDrawer.java6
-rw-r--r--src/com/android/gallery3d/ui/MenuExecutor.java50
-rw-r--r--src/com/android/gallery3d/ui/PhotoView.java4
-rw-r--r--src/com/android/gallery3d/ui/SelectionManager.java6
-rw-r--r--src/com/android/gallery3d/ui/SlotView.java10
16 files changed, 120 insertions, 126 deletions
diff --git a/src/com/android/gallery3d/ui/ActionModeHandler.java b/src/com/android/gallery3d/ui/ActionModeHandler.java
index 7deee5bc8..379f79c76 100644
--- a/src/com/android/gallery3d/ui/ActionModeHandler.java
+++ b/src/com/android/gallery3d/ui/ActionModeHandler.java
@@ -17,23 +17,23 @@
package com.android.gallery3d.ui;
import android.annotation.TargetApi;
-import android.app.Activity;
-import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.nfc.NfcAdapter;
import android.os.Handler;
import android.view.LayoutInflater;
-import android.view.Menu;
-import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
+import com.actionbarsherlock.app.SherlockActivity;
+import com.actionbarsherlock.view.ActionMode;
+import com.actionbarsherlock.view.ActionMode.Callback;
+import com.actionbarsherlock.view.Menu;
+import com.actionbarsherlock.view.MenuItem;
+import com.actionbarsherlock.widget.ShareActionProvider;
+import com.actionbarsherlock.widget.ShareActionProvider.OnShareTargetSelectedListener;
import com.android.gallery3d.R;
-import com.android.gallery3d.actionbar.ActionBarUtils;
-import com.android.gallery3d.actionbar.ActionModeInterface;
-import com.android.gallery3d.actionbar.ActionModeInterface.OnShareTargetSelectedListener;
-import com.android.gallery3d.app.GalleryActivity;
+import com.android.gallery3d.app.AbstractGalleryActivity;
import com.android.gallery3d.common.ApiHelper;
import com.android.gallery3d.common.Utils;
import com.android.gallery3d.data.DataManager;
@@ -47,8 +47,7 @@ import com.android.gallery3d.util.ThreadPool.JobContext;
import java.util.ArrayList;
-public class ActionModeHandler implements
- ActionModeInterface.Callback, PopupList.OnPopupItemClickListener {
+public class ActionModeHandler implements Callback, PopupList.OnPopupItemClickListener {
@SuppressWarnings("unused")
private static final String TAG = "ActionModeHandler";
@@ -61,19 +60,20 @@ public class ActionModeHandler implements
public boolean onActionItemClicked(MenuItem item);
}
- private final GalleryActivity mActivity;
+ private final AbstractGalleryActivity mActivity;
private final MenuExecutor mMenuExecutor;
private final SelectionManager mSelectionManager;
private final NfcAdapter mNfcAdapter;
private Menu mMenu;
+ private MenuItem mShareMenuItem;
private SelectionMenu mSelectionMenu;
private ActionModeListener mListener;
private Future<?> mMenuTask;
private final Handler mMainHandler;
- private ActionModeInterface mActionMode;
+ private ActionMode mActionMode;
public ActionModeHandler(
- GalleryActivity activity, SelectionManager selectionManager) {
+ AbstractGalleryActivity activity, SelectionManager selectionManager) {
mActivity = Utils.checkNotNull(activity);
mSelectionManager = Utils.checkNotNull(selectionManager);
mMenuExecutor = new MenuExecutor(activity, selectionManager);
@@ -82,8 +82,8 @@ public class ActionModeHandler implements
}
public void startActionMode() {
- Activity a = (Activity) mActivity;
- mActionMode = ActionBarUtils.startActionMode(a, this);
+ SherlockActivity a = mActivity;
+ mActionMode = a.startActionMode(this);
View customView = LayoutInflater.from(a).inflate(
R.layout.action_mode, null);
mActionMode.setCustomView(customView);
@@ -105,7 +105,7 @@ public class ActionModeHandler implements
}
@Override
- public boolean onActionItemClicked(ActionModeInterface mode, MenuItem item) {
+ public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
GLRoot root = mActivity.getGLRoot();
root.lockRenderThread();
try {
@@ -164,24 +164,35 @@ public class ActionModeHandler implements
mSelectionMenu.updateSelectAllMode(mSelectionManager.inSelectAllMode());
}
+ private final OnShareTargetSelectedListener mShareTargetSelectedListener =
+ new OnShareTargetSelectedListener() {
+ @Override
+ public boolean onShareTargetSelected(ShareActionProvider source, Intent intent) {
+ mSelectionManager.leaveSelectionMode();
+ return false;
+ }
+ };
+
@Override
- public boolean onCreateActionMode(ActionModeInterface mode, Menu menu) {
- mode.inflateMenu(R.menu.operation);
+ public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
+ return false;
+ }
+
+ @Override
+ public boolean onCreateActionMode(ActionMode mode, Menu menu) {
+ mode.getMenuInflater().inflate(R.menu.operation, menu);
- OnShareTargetSelectedListener listener = new OnShareTargetSelectedListener() {
- @Override
- public boolean onShareTargetSelected(Intent intent) {
- mSelectionManager.leaveSelectionMode();
- return false;
- }
- };
- mode.setOnShareTargetSelectedListener(listener);
mMenu = menu;
+ mShareMenuItem = menu.findItem(R.id.action_share);
+ if (mShareMenuItem != null) {
+ ((ShareActionProvider) mShareMenuItem.getActionProvider())
+ .setOnShareTargetSelectedListener(mShareTargetSelectedListener);
+ }
return true;
}
@Override
- public void onDestroyActionMode(ActionModeInterface mode) {
+ public void onDestroyActionMode(ActionMode mode) {
mSelectionManager.leaveSelectionMode();
}
@@ -209,7 +220,7 @@ public class ActionModeHandler implements
switch (unexpandedPaths.size()) {
case 1:
final String mimeType = MenuExecutor.getMimeType(type);
- if (!GalleryUtils.isEditorAvailable((Context) mActivity, mimeType)) {
+ if (!GalleryUtils.isEditorAvailable(mActivity, mimeType)) {
operation &= ~MediaObject.SUPPORT_EDIT;
}
break;
@@ -223,7 +234,7 @@ public class ActionModeHandler implements
@TargetApi(ApiHelper.VERSION_CODES.JELLY_BEAN)
private void setNfcBeamPushUris(Uri[] uris) {
if (mNfcAdapter != null && ApiHelper.HAS_SET_BEAM_PUSH_URIS) {
- mNfcAdapter.setBeamPushUris(uris, (Activity)mActivity);
+ mNfcAdapter.setBeamPushUris(uris, mActivity);
}
}
@@ -275,15 +286,12 @@ public class ActionModeHandler implements
public void updateSupportedOperation() {
// Interrupt previous unfinished task, mMenuTask is only accessed in main thread
- if (mMenuTask != null) {
- mMenuTask.cancel();
- }
+ if (mMenuTask != null) mMenuTask.cancel();
updateSelectionMenu();
// Disable share action until share intent is in good shape
- final boolean hasShareButton = mActionMode.hasShareButton();
- if (hasShareButton) mActionMode.setShareIntent(null);
+ if (mShareMenuItem != null) mShareMenuItem.setEnabled(false);
// Generate sharing intent and update supported operations in the background
// The task can take a long time and be canceled in the mean time.
@@ -294,17 +302,17 @@ public class ActionModeHandler implements
final int operation = computeMenuOptions(jc);
// Pass2: Deal with expanded media object list for sharing operation.
- final Intent intent = hasShareButton ? computeSharingIntent(jc) : null;
+ final Intent intent = (mShareMenuItem != null) ? computeSharingIntent(jc) : null;
mMainHandler.post(new Runnable() {
@Override
public void run() {
mMenuTask = null;
- if (!jc.isCancelled()) {
- MenuExecutor.updateMenuOperation(mActionMode, operation);
- if (hasShareButton) {
- mActionMode.setShareIntent(intent);
- mMenuExecutor.setShareIntent(intent);
- }
+ if (jc.isCancelled()) return;
+ MenuExecutor.updateMenuOperation(mMenu, operation);
+ if (mShareMenuItem != null) {
+ mShareMenuItem.setEnabled(true);
+ ((ShareActionProvider) mShareMenuItem.getActionProvider())
+ .setShareIntent(intent);
}
}
});
diff --git a/src/com/android/gallery3d/ui/AlbumSetSlidingWindow.java b/src/com/android/gallery3d/ui/AlbumSetSlidingWindow.java
index 449c6f9d3..e32ec5160 100644
--- a/src/com/android/gallery3d/ui/AlbumSetSlidingWindow.java
+++ b/src/com/android/gallery3d/ui/AlbumSetSlidingWindow.java
@@ -20,8 +20,8 @@ import android.graphics.Bitmap;
import android.os.Message;
import com.android.gallery3d.R;
+import com.android.gallery3d.app.AbstractGalleryActivity;
import com.android.gallery3d.app.AlbumSetDataLoader;
-import com.android.gallery3d.app.GalleryActivity;
import com.android.gallery3d.common.Utils;
import com.android.gallery3d.data.BitmapPool;
import com.android.gallery3d.data.DataSourceType;
@@ -89,7 +89,7 @@ public class AlbumSetSlidingWindow implements AlbumSetDataLoader.DataListener {
private BitmapLoader coverLoader;
}
- public AlbumSetSlidingWindow(GalleryActivity activity,
+ public AlbumSetSlidingWindow(AbstractGalleryActivity activity,
AlbumSetDataLoader source, AlbumSetSlotRenderer.LabelSpec labelSpec, int cacheSize) {
source.setModelListener(this);
mSource = source;
diff --git a/src/com/android/gallery3d/ui/AlbumSetSlotRenderer.java b/src/com/android/gallery3d/ui/AlbumSetSlotRenderer.java
index bdc0e676e..a1f2b4c4f 100644
--- a/src/com/android/gallery3d/ui/AlbumSetSlotRenderer.java
+++ b/src/com/android/gallery3d/ui/AlbumSetSlotRenderer.java
@@ -16,10 +16,8 @@
package com.android.gallery3d.ui;
-import android.content.Context;
-
+import com.android.gallery3d.app.AbstractGalleryActivity;
import com.android.gallery3d.app.AlbumSetDataLoader;
-import com.android.gallery3d.app.GalleryActivity;
import com.android.gallery3d.data.MediaObject;
import com.android.gallery3d.data.Path;
import com.android.gallery3d.ui.AlbumSetSlidingWindow.AlbumSetEntry;
@@ -31,7 +29,7 @@ public class AlbumSetSlotRenderer extends AbstractSlotRenderer {
private final int mPlaceholderColor;
private final ColorTexture mWaitLoadingTexture;
- private final GalleryActivity mActivity;
+ private final AbstractGalleryActivity mActivity;
private final SelectionManager mSelectionManager;
protected final LabelSpec mLabelSpec;
@@ -58,9 +56,10 @@ public class AlbumSetSlotRenderer extends AbstractSlotRenderer {
public int borderSize;
}
- public AlbumSetSlotRenderer(GalleryActivity activity, SelectionManager selectionManager,
+ public AlbumSetSlotRenderer(AbstractGalleryActivity activity,
+ SelectionManager selectionManager,
SlotView slotView, LabelSpec labelSpec, int placeholderColor) {
- super ((Context) activity);
+ super (activity);
mActivity = activity;
mSelectionManager = selectionManager;
mSlotView = slotView;
diff --git a/src/com/android/gallery3d/ui/AlbumSlidingWindow.java b/src/com/android/gallery3d/ui/AlbumSlidingWindow.java
index d5d90a9ea..e4d636a7a 100644
--- a/src/com/android/gallery3d/ui/AlbumSlidingWindow.java
+++ b/src/com/android/gallery3d/ui/AlbumSlidingWindow.java
@@ -19,8 +19,8 @@ package com.android.gallery3d.ui;
import android.graphics.Bitmap;
import android.os.Message;
+import com.android.gallery3d.app.AbstractGalleryActivity;
import com.android.gallery3d.app.AlbumDataLoader;
-import com.android.gallery3d.app.GalleryActivity;
import com.android.gallery3d.common.Utils;
import com.android.gallery3d.data.BitmapPool;
import com.android.gallery3d.data.MediaItem;
@@ -73,7 +73,7 @@ public class AlbumSlidingWindow implements AlbumDataLoader.DataListener {
private int mActiveRequestCount = 0;
private boolean mIsActive = false;
- public AlbumSlidingWindow(GalleryActivity activity,
+ public AlbumSlidingWindow(AbstractGalleryActivity activity,
AlbumDataLoader source, int cacheSize) {
source.setDataListener(this);
mSource = source;
diff --git a/src/com/android/gallery3d/ui/AlbumSlotRenderer.java b/src/com/android/gallery3d/ui/AlbumSlotRenderer.java
index f6df3b380..d9e3fb7ae 100644
--- a/src/com/android/gallery3d/ui/AlbumSlotRenderer.java
+++ b/src/com/android/gallery3d/ui/AlbumSlotRenderer.java
@@ -16,10 +16,8 @@
package com.android.gallery3d.ui;
-import android.content.Context;
-
+import com.android.gallery3d.app.AbstractGalleryActivity;
import com.android.gallery3d.app.AlbumDataLoader;
-import com.android.gallery3d.app.GalleryActivity;
import com.android.gallery3d.data.MediaObject;
import com.android.gallery3d.data.Path;
@@ -35,7 +33,7 @@ public class AlbumSlotRenderer extends AbstractSlotRenderer {
private static final int CACHE_SIZE = 96;
private AlbumSlidingWindow mDataWindow;
- private final GalleryActivity mActivity;
+ private final AbstractGalleryActivity mActivity;
private final ColorTexture mWaitLoadingTexture;
private final SlotView mSlotView;
private final SelectionManager mSelectionManager;
@@ -47,9 +45,9 @@ public class AlbumSlotRenderer extends AbstractSlotRenderer {
private SlotFilter mSlotFilter;
- public AlbumSlotRenderer(GalleryActivity activity, SlotView slotView,
+ public AlbumSlotRenderer(AbstractGalleryActivity activity, SlotView slotView,
SelectionManager selectionManager, int placeholderColor) {
- super((Context) activity);
+ super(activity);
mActivity = activity;
mSlotView = slotView;
mSelectionManager = selectionManager;
diff --git a/src/com/android/gallery3d/ui/CacheStorageUsageInfo.java b/src/com/android/gallery3d/ui/CacheStorageUsageInfo.java
index 611648a29..46f7a2433 100644
--- a/src/com/android/gallery3d/ui/CacheStorageUsageInfo.java
+++ b/src/com/android/gallery3d/ui/CacheStorageUsageInfo.java
@@ -19,7 +19,7 @@ package com.android.gallery3d.ui;
import android.content.Context;
import android.os.StatFs;
-import com.android.gallery3d.app.GalleryActivity;
+import com.android.gallery3d.app.AbstractGalleryActivity;
import com.android.gallery3d.util.ThreadPool.JobContext;
import java.io.File;
@@ -40,11 +40,11 @@ public class CacheStorageUsageInfo {
// number of bytes used for the cache if all pending downloads (and removals) are completed.
private long mTargetCacheBytes;
- private GalleryActivity mActivity;
+ private AbstractGalleryActivity mActivity;
private Context mContext;
private long mUserChangeDelta;
- public CacheStorageUsageInfo(GalleryActivity activity) {
+ public CacheStorageUsageInfo(AbstractGalleryActivity activity) {
mActivity = activity;
mContext = activity.getAndroidContext();
}
diff --git a/src/com/android/gallery3d/ui/CropView.java b/src/com/android/gallery3d/ui/CropView.java
index 8c2c3df2a..1890c7630 100644
--- a/src/com/android/gallery3d/ui/CropView.java
+++ b/src/com/android/gallery3d/ui/CropView.java
@@ -33,7 +33,7 @@ import android.widget.Toast;
import com.android.gallery3d.R;
import com.android.gallery3d.anim.Animation;
-import com.android.gallery3d.app.GalleryActivity;
+import com.android.gallery3d.app.AbstractGalleryActivity;
import com.android.gallery3d.common.Utils;
import java.util.ArrayList;
@@ -92,14 +92,14 @@ public class CropView extends GLView {
private int mImageWidth = SIZE_UNKNOWN;
private int mImageHeight = SIZE_UNKNOWN;
- private GalleryActivity mActivity;
+ private AbstractGalleryActivity mActivity;
private GLPaint mPaint = new GLPaint();
private GLPaint mFacePaint = new GLPaint();
private int mImageRotation;
- public CropView(GalleryActivity activity) {
+ public CropView(AbstractGalleryActivity activity) {
mActivity = activity;
mImageView = new TileImageView(activity);
mFaceDetectionView = new FaceHighlightView();
diff --git a/src/com/android/gallery3d/ui/DetailsAddressResolver.java b/src/com/android/gallery3d/ui/DetailsAddressResolver.java
index 3dd20a5e0..8de667745 100644
--- a/src/com/android/gallery3d/ui/DetailsAddressResolver.java
+++ b/src/com/android/gallery3d/ui/DetailsAddressResolver.java
@@ -21,7 +21,7 @@ import android.location.Address;
import android.os.Handler;
import android.os.Looper;
-import com.android.gallery3d.app.GalleryActivity;
+import com.android.gallery3d.app.AbstractGalleryActivity;
import com.android.gallery3d.data.MediaDetails;
import com.android.gallery3d.util.Future;
import com.android.gallery3d.util.FutureListener;
@@ -32,7 +32,7 @@ import com.android.gallery3d.util.ThreadPool.JobContext;
public class DetailsAddressResolver {
private AddressResolvingListener mListener;
- private final GalleryActivity mContext;
+ private final AbstractGalleryActivity mContext;
private Future<Address> mAddressLookupJob;
private final Handler mHandler;
@@ -54,7 +54,7 @@ public class DetailsAddressResolver {
public void onAddressAvailable(String address);
}
- public DetailsAddressResolver(GalleryActivity context) {
+ public DetailsAddressResolver(AbstractGalleryActivity context) {
mContext = context;
mHandler = new Handler(Looper.getMainLooper());
}
diff --git a/src/com/android/gallery3d/ui/DetailsHelper.java b/src/com/android/gallery3d/ui/DetailsHelper.java
index f86ffbe05..301601156 100644
--- a/src/com/android/gallery3d/ui/DetailsHelper.java
+++ b/src/com/android/gallery3d/ui/DetailsHelper.java
@@ -19,7 +19,7 @@ import android.content.Context;
import android.view.View.MeasureSpec;
import com.android.gallery3d.R;
-import com.android.gallery3d.app.GalleryActivity;
+import com.android.gallery3d.app.AbstractGalleryActivity;
import com.android.gallery3d.data.MediaDetails;
import com.android.gallery3d.ui.DetailsAddressResolver.AddressResolvingListener;
@@ -44,7 +44,7 @@ public class DetailsHelper {
public void hide();
}
- public DetailsHelper(GalleryActivity activity, GLView rootPane, DetailsSource source) {
+ public DetailsHelper(AbstractGalleryActivity activity, GLView rootPane, DetailsSource source) {
mContainer = new DialogDetailsView(activity, source);
}
@@ -65,7 +65,7 @@ public class DetailsHelper {
mContainer.setCloseListener(listener);
}
- public static String resolveAddress(GalleryActivity activity, double[] latlng,
+ public static String resolveAddress(AbstractGalleryActivity activity, double[] latlng,
AddressResolvingListener listener) {
if (sAddressResolver == null) {
sAddressResolver = new DetailsAddressResolver(activity);
diff --git a/src/com/android/gallery3d/ui/DialogDetailsView.java b/src/com/android/gallery3d/ui/DialogDetailsView.java
index a55660035..fb6ccf5ae 100644
--- a/src/com/android/gallery3d/ui/DialogDetailsView.java
+++ b/src/com/android/gallery3d/ui/DialogDetailsView.java
@@ -16,7 +16,6 @@
package com.android.gallery3d.ui;
-import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
@@ -31,7 +30,7 @@ import android.widget.ListView;
import android.widget.TextView;
import com.android.gallery3d.R;
-import com.android.gallery3d.app.GalleryActivity;
+import com.android.gallery3d.app.AbstractGalleryActivity;
import com.android.gallery3d.common.Utils;
import com.android.gallery3d.data.MediaDetails;
import com.android.gallery3d.ui.DetailsAddressResolver.AddressResolvingListener;
@@ -46,7 +45,7 @@ public class DialogDetailsView implements DetailsViewContainer {
@SuppressWarnings("unused")
private static final String TAG = "DialogDetailsView";
- private final GalleryActivity mContext;
+ private final AbstractGalleryActivity mActivity;
private DetailsAdapter mAdapter;
private MediaDetails mDetails;
private final DetailsSource mSource;
@@ -54,8 +53,8 @@ public class DialogDetailsView implements DetailsViewContainer {
private Dialog mDialog;
private CloseListener mListener;
- public DialogDetailsView(GalleryActivity activity, DetailsSource source) {
- mContext = activity;
+ public DialogDetailsView(AbstractGalleryActivity activity, DetailsSource source) {
+ mActivity = activity;
mSource = source;
}
@@ -86,12 +85,12 @@ public class DialogDetailsView implements DetailsViewContainer {
private void setDetails(MediaDetails details) {
mAdapter = new DetailsAdapter(details);
String title = String.format(
- mContext.getAndroidContext().getString(R.string.details_title),
+ mActivity.getAndroidContext().getString(R.string.details_title),
mIndex + 1, mSource.size());
- ListView detailsList = (ListView) LayoutInflater.from(mContext.getAndroidContext()).inflate(
+ ListView detailsList = (ListView) LayoutInflater.from(mActivity.getAndroidContext()).inflate(
R.layout.details_list, null, false);
detailsList.setAdapter(mAdapter);
- mDialog = new AlertDialog.Builder((Activity) mContext)
+ mDialog = new AlertDialog.Builder(mActivity)
.setView(detailsList)
.setTitle(title)
.setPositiveButton(R.string.close, new DialogInterface.OnClickListener() {
@@ -117,7 +116,7 @@ public class DialogDetailsView implements DetailsViewContainer {
private int mLocationIndex;
public DetailsAdapter(MediaDetails details) {
- Context context = mContext.getAndroidContext();
+ Context context = mActivity.getAndroidContext();
mItems = new ArrayList<String>(details.size());
mLocationIndex = -1;
setDetails(context, details);
@@ -130,7 +129,7 @@ public class DialogDetailsView implements DetailsViewContainer {
case MediaDetails.INDEX_LOCATION: {
double[] latlng = (double[]) detail.getValue();
mLocationIndex = mItems.size();
- value = DetailsHelper.resolveAddress(mContext, latlng, this);
+ value = DetailsHelper.resolveAddress(mActivity, latlng, this);
break;
}
case MediaDetails.INDEX_SIZE: {
@@ -222,7 +221,7 @@ public class DialogDetailsView implements DetailsViewContainer {
public View getView(int position, View convertView, ViewGroup parent) {
TextView tv;
if (convertView == null) {
- tv = (TextView) LayoutInflater.from(mContext.getAndroidContext()).inflate(
+ tv = (TextView) LayoutInflater.from(mActivity.getAndroidContext()).inflate(
R.layout.details, parent, false);
} else {
tv = (TextView) convertView;
diff --git a/src/com/android/gallery3d/ui/ImportCompleteListener.java b/src/com/android/gallery3d/ui/ImportCompleteListener.java
index 5b6e0a17f..30af47065 100644
--- a/src/com/android/gallery3d/ui/ImportCompleteListener.java
+++ b/src/com/android/gallery3d/ui/ImportCompleteListener.java
@@ -23,15 +23,15 @@ import android.os.PowerManager;
import android.widget.Toast;
import com.android.gallery3d.R;
+import com.android.gallery3d.app.AbstractGalleryActivity;
import com.android.gallery3d.app.AlbumPage;
-import com.android.gallery3d.app.GalleryActivity;
import com.android.gallery3d.util.MediaSetUtils;
public class ImportCompleteListener implements MenuExecutor.ProgressListener {
- private GalleryActivity mActivity;
+ private AbstractGalleryActivity mActivity;
private PowerManager.WakeLock mWakeLock;
- public ImportCompleteListener(GalleryActivity galleryActivity) {
+ public ImportCompleteListener(AbstractGalleryActivity galleryActivity) {
mActivity = galleryActivity;
PowerManager pm =
(PowerManager) ((Activity) mActivity).getSystemService(Context.POWER_SERVICE);
diff --git a/src/com/android/gallery3d/ui/ManageCacheDrawer.java b/src/com/android/gallery3d/ui/ManageCacheDrawer.java
index 91dc7ac44..e989af27d 100644
--- a/src/com/android/gallery3d/ui/ManageCacheDrawer.java
+++ b/src/com/android/gallery3d/ui/ManageCacheDrawer.java
@@ -19,7 +19,7 @@ package com.android.gallery3d.ui;
import android.content.Context;
import com.android.gallery3d.R;
-import com.android.gallery3d.app.GalleryActivity;
+import com.android.gallery3d.app.AbstractGalleryActivity;
import com.android.gallery3d.data.DataSourceType;
import com.android.gallery3d.data.MediaSet;
import com.android.gallery3d.data.Path;
@@ -36,11 +36,11 @@ public class ManageCacheDrawer extends AlbumSetSlotRenderer {
private final int mCachePinSize;
private final int mCachePinMargin;
- public ManageCacheDrawer(GalleryActivity activity, SelectionManager selectionManager,
+ public ManageCacheDrawer(AbstractGalleryActivity activity, SelectionManager selectionManager,
SlotView slotView, LabelSpec labelSpec, int cachePinSize, int cachePinMargin) {
super(activity, selectionManager, slotView, labelSpec,
activity.getResources().getColor(R.color.cache_placeholder));
- Context context = (Context) activity;
+ Context context = activity;
mCheckedItem = new ResourceTexture(
context, R.drawable.btn_make_offline_normal_on_holo_dark);
mUnCheckedItem = new ResourceTexture(
diff --git a/src/com/android/gallery3d/ui/MenuExecutor.java b/src/com/android/gallery3d/ui/MenuExecutor.java
index ff6a61f7a..7bccda84c 100644
--- a/src/com/android/gallery3d/ui/MenuExecutor.java
+++ b/src/com/android/gallery3d/ui/MenuExecutor.java
@@ -26,13 +26,12 @@ import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.os.Handler;
import android.os.Message;
-import android.view.MenuItem;
+import com.actionbarsherlock.view.Menu;
+import com.actionbarsherlock.view.MenuItem;
import com.android.gallery3d.R;
-import com.android.gallery3d.actionbar.MenuHolder;
+import com.android.gallery3d.app.AbstractGalleryActivity;
import com.android.gallery3d.app.CropImage;
-import com.android.gallery3d.app.GalleryActivity;
-import com.android.gallery3d.common.ApiHelper;
import com.android.gallery3d.common.Utils;
import com.android.gallery3d.data.DataManager;
import com.android.gallery3d.data.MediaItem;
@@ -64,7 +63,7 @@ public class MenuExecutor {
private boolean mWaitOnStop;
private Intent mShareIntent;
- private final GalleryActivity mActivity;
+ private final AbstractGalleryActivity mActivity;
private final SelectionManager mSelectionManager;
private final Handler mHandler;
@@ -90,7 +89,7 @@ public class MenuExecutor {
}
public MenuExecutor(
- GalleryActivity activity, SelectionManager selectionManager) {
+ AbstractGalleryActivity activity, SelectionManager selectionManager) {
mActivity = Utils.checkNotNull(activity);
mSelectionManager = Utils.checkNotNull(selectionManager);
mHandler = new SynchronizedHandler(mActivity.getGLRoot()) {
@@ -157,7 +156,7 @@ public class MenuExecutor {
mHandler.sendMessage(mHandler.obtainMessage(MSG_TASK_COMPLETE, result, 0, listener));
}
- public static void updateMenuOperation(MenuHolder menu, int supported) {
+ public static void updateMenuOperation(Menu menu, int supported) {
boolean supportDelete = (supported & MediaObject.SUPPORT_DELETE) != 0;
boolean supportRotate = (supported & MediaObject.SUPPORT_ROTATE) != 0;
boolean supportCrop = (supported & MediaObject.SUPPORT_CROP) != 0;
@@ -169,16 +168,21 @@ public class MenuExecutor {
boolean supportInfo = (supported & MediaObject.SUPPORT_INFO) != 0;
boolean supportImport = (supported & MediaObject.SUPPORT_IMPORT) != 0;
- menu.setMenuItemVisible(R.id.action_delete, supportDelete);
- menu.setMenuItemVisible(R.id.action_rotate_ccw, supportRotate);
- menu.setMenuItemVisible(R.id.action_rotate_cw, supportRotate);
- menu.setMenuItemVisible(R.id.action_crop, supportCrop);
- menu.setMenuItemVisible(R.id.action_share, supportShare);
- menu.setMenuItemVisible(R.id.action_setas, supportSetAs);
- menu.setMenuItemVisible(R.id.action_show_on_map, supportShowOnMap);
- menu.setMenuItemVisible(R.id.action_edit, supportEdit);
- menu.setMenuItemVisible(R.id.action_details, supportInfo);
- menu.setMenuItemVisible(R.id.action_import, supportImport);
+ setMenuItemVisible(menu, R.id.action_delete, supportDelete);
+ setMenuItemVisible(menu, R.id.action_rotate_ccw, supportRotate);
+ setMenuItemVisible(menu, R.id.action_rotate_cw, supportRotate);
+ setMenuItemVisible(menu, R.id.action_crop, supportCrop);
+ setMenuItemVisible(menu, R.id.action_share, supportShare);
+ setMenuItemVisible(menu, R.id.action_setas, supportSetAs);
+ setMenuItemVisible(menu, R.id.action_show_on_map, supportShowOnMap);
+ setMenuItemVisible(menu, R.id.action_edit, supportEdit);
+ setMenuItemVisible(menu, R.id.action_details, supportInfo);
+ setMenuItemVisible(menu, R.id.action_import, supportImport);
+ }
+
+ private static void setMenuItemVisible(Menu menu, int itemId, boolean visible) {
+ MenuItem item = menu.findItem(itemId);
+ if (item != null) item.setVisible(visible);
}
private Path getSingleSelectedPath() {
@@ -244,14 +248,6 @@ public class MenuExecutor {
case R.id.action_import:
title = R.string.Import;
break;
- case R.id.action_share: {
- if (!ApiHelper.HAS_SHARE_ACTION_PROVIDER) {
- Activity activity = (Activity) mActivity;
- activity.startActivity(Intent.createChooser(
- mShareIntent, activity.getString(R.string.share)));
- }
- return;
- }
default:
return;
}
@@ -326,10 +322,6 @@ public class MenuExecutor {
mWaitOnStop = waitOnStop;
}
- public void setShareIntent(Intent intent) {
- mShareIntent = intent;
- }
-
public static String getMimeType(int type) {
switch (type) {
case MediaObject.MEDIA_TYPE_IMAGE :
diff --git a/src/com/android/gallery3d/ui/PhotoView.java b/src/com/android/gallery3d/ui/PhotoView.java
index 16d93ca20..25d3154a9 100644
--- a/src/com/android/gallery3d/ui/PhotoView.java
+++ b/src/com/android/gallery3d/ui/PhotoView.java
@@ -28,7 +28,7 @@ import android.view.View.MeasureSpec;
import android.view.animation.AccelerateInterpolator;
import com.android.gallery3d.R;
-import com.android.gallery3d.app.GalleryActivity;
+import com.android.gallery3d.app.AbstractGalleryActivity;
import com.android.gallery3d.common.Utils;
import com.android.gallery3d.data.MediaItem;
import com.android.gallery3d.data.MediaObject;
@@ -232,7 +232,7 @@ public class PhotoView extends GLView {
// item. The value Integer.MAX_VALUE means there is no such hint.
private int mUndoIndexHint = Integer.MAX_VALUE;
- public PhotoView(GalleryActivity activity) {
+ public PhotoView(AbstractGalleryActivity activity) {
mTileView = new TileImageView(activity);
addComponent(mTileView);
Context context = activity.getAndroidContext();
diff --git a/src/com/android/gallery3d/ui/SelectionManager.java b/src/com/android/gallery3d/ui/SelectionManager.java
index 86e92da90..a6be0dd9f 100644
--- a/src/com/android/gallery3d/ui/SelectionManager.java
+++ b/src/com/android/gallery3d/ui/SelectionManager.java
@@ -16,7 +16,7 @@
package com.android.gallery3d.ui;
-import com.android.gallery3d.app.GalleryContext;
+import com.android.gallery3d.app.AbstractGalleryActivity;
import com.android.gallery3d.data.DataManager;
import com.android.gallery3d.data.MediaItem;
import com.android.gallery3d.data.MediaSet;
@@ -49,8 +49,8 @@ public class SelectionManager {
public void onSelectionChange(Path path, boolean selected);
}
- public SelectionManager(GalleryContext galleryContext, boolean isAlbumSet) {
- mDataManager = galleryContext.getDataManager();
+ public SelectionManager(AbstractGalleryActivity activity, boolean isAlbumSet) {
+ mDataManager = activity.getDataManager();
mClickedSet = new HashSet<Path>();
mIsAlbumSet = isAlbumSet;
mTotal = -1;
diff --git a/src/com/android/gallery3d/ui/SlotView.java b/src/com/android/gallery3d/ui/SlotView.java
index 1325aecd6..d77080adb 100644
--- a/src/com/android/gallery3d/ui/SlotView.java
+++ b/src/com/android/gallery3d/ui/SlotView.java
@@ -16,7 +16,6 @@
package com.android.gallery3d.ui;
-import android.content.Context;
import android.graphics.Rect;
import android.os.Handler;
import android.view.GestureDetector;
@@ -24,7 +23,7 @@ import android.view.MotionEvent;
import android.view.animation.DecelerateInterpolator;
import com.android.gallery3d.anim.Animation;
-import com.android.gallery3d.app.GalleryActivity;
+import com.android.gallery3d.app.AbstractGalleryActivity;
import com.android.gallery3d.common.Utils;
public class SlotView extends GLView {
@@ -88,10 +87,9 @@ public class SlotView extends GLView {
// to prevent allocating memory
private final Rect mTempRect = new Rect();
- public SlotView(GalleryActivity activity, Spec spec) {
- mGestureDetector = new GestureDetector(
- (Context) activity, new MyGestureListener());
- mScroller = new ScrollerHelper((Context) activity);
+ public SlotView(AbstractGalleryActivity activity, Spec spec) {
+ mGestureDetector = new GestureDetector(activity, new MyGestureListener());
+ mScroller = new ScrollerHelper(activity);
mHandler = new SynchronizedHandler(activity.getGLRoot());
setSlotSpec(spec);
}