OSDN Git Service

am 89127bbe: am 41185c4f: Fix downsampling check in crop.
[android-x86/packages-apps-Gallery2.git] / src / com / android / gallery3d / ui / MenuExecutor.java
index 46e4004..8f4854e 100644 (file)
@@ -36,7 +36,7 @@ import com.android.gallery3d.data.DataManager;
 import com.android.gallery3d.data.MediaItem;
 import com.android.gallery3d.data.MediaObject;
 import com.android.gallery3d.data.Path;
-import com.android.gallery3d.filtershow.FilterShowActivity;
+import com.android.gallery3d.filtershow.crop.CropActivity;
 import com.android.gallery3d.util.Future;
 import com.android.gallery3d.util.GalleryUtils;
 import com.android.gallery3d.util.ThreadPool.Job;
@@ -132,7 +132,6 @@ public class MenuExecutor {
     private void stopTaskAndDismissDialog() {
         if (mTask != null) {
             if (!mWaitOnStop) mTask.cancel();
-            mTask.waitDone();
             if (mDialog != null && mDialog.isShowing()) mDialog.dismiss();
             mDialog = null;
             mTask = null;
@@ -178,7 +177,6 @@ public class MenuExecutor {
         boolean supportCache = (supported & MediaObject.SUPPORT_CACHE) != 0;
         boolean supportEdit = (supported & MediaObject.SUPPORT_EDIT) != 0;
         boolean supportInfo = (supported & MediaObject.SUPPORT_INFO) != 0;
-        boolean supportImport = (supported & MediaObject.SUPPORT_IMPORT) != 0;
 
         setMenuItemVisible(menu, R.id.action_delete, supportDelete);
         setMenuItemVisible(menu, R.id.action_rotate_ccw, supportRotate);
@@ -192,8 +190,8 @@ public class MenuExecutor {
         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_simple_edit, supportEdit);
         setMenuItemVisible(menu, R.id.action_details, supportInfo);
-        setMenuItemVisible(menu, R.id.action_import, supportImport);
     }
 
     public static void updateMenuForPanorama(Menu menu, boolean shareAsPanorama360,
@@ -239,8 +237,7 @@ public class MenuExecutor {
                 }
                 return;
             case R.id.action_crop: {
-                Intent intent = getIntentBySingleSelectedPath(FilterShowActivity.CROP_ACTION)
-                        .setClass((Activity) mActivity, FilterShowActivity.class);
+                Intent intent = getIntentBySingleSelectedPath(CropActivity.CROP_ACTION);
                 ((Activity) mActivity).startActivity(intent);
                 return;
             }
@@ -271,9 +268,6 @@ public class MenuExecutor {
             case R.id.action_show_on_map:
                 title = R.string.show_on_map;
                 break;
-            case R.id.action_import:
-                title = R.string.Import;
-                break;
             default:
                 return;
         }
@@ -339,15 +333,26 @@ public class MenuExecutor {
         stopTaskAndDismissDialog();
 
         Activity activity = mActivity;
-        mDialog = createProgressDialog(activity, title, ids.size());
         if (showDialog) {
+            mDialog = createProgressDialog(activity, title, ids.size());
             mDialog.show();
+        } else {
+            mDialog = null;
         }
         MediaOperation operation = new MediaOperation(action, ids, listener);
         mTask = mActivity.getBatchServiceThreadPoolIfAvailable().submit(operation, null);
         mWaitOnStop = waitOnStop;
     }
 
+    public void startSingleItemAction(int action, Path targetPath) {
+        ArrayList<Path> ids = new ArrayList<Path>(1);
+        ids.add(targetPath);
+        mDialog = null;
+        MediaOperation operation = new MediaOperation(action, ids, null);
+        mTask = mActivity.getBatchServiceThreadPoolIfAvailable().submit(operation, null);
+        mWaitOnStop = false;
+    }
+
     public static String getMimeType(int type) {
         switch (type) {
             case MediaObject.MEDIA_TYPE_IMAGE :
@@ -394,11 +399,6 @@ public class MenuExecutor {
                 }
                 break;
             }
-            case R.id.action_import: {
-                MediaObject obj = manager.getMediaObject(path);
-                result = obj.Import();
-                break;
-            }
             default:
                 throw new AssertionError();
         }