Loading res/menu/operation.xml +5 −0 Original line number Diff line number Diff line Loading @@ -22,12 +22,14 @@ <item android:id="@+id/action_share" android:icon="@drawable/ic_menu_share_holo_light" android:title="@string/share" android:visible="false" android:actionProviderClass="android.widget.ShareActionProvider" android:showAsAction="ifRoom"> </item> <item android:id="@+id/action_delete" android:icon="@drawable/ic_menu_trash_holo_light" android:title="@string/delete" android:visible="false" android:showAsAction="ifRoom"> <menu> <item android:id="@+id/action_confirm_delete" Loading @@ -44,9 +46,11 @@ android:visible="false" /> <item android:id="@+id/action_rotate_ccw" android:showAsAction="never" android:visible="false" android:title="@string/rotate_left" /> <item android:id="@+id/action_rotate_cw" android:showAsAction="never" android:visible="false" android:title="@string/rotate_right" /> <item android:id="@+id/action_setas" android:title="@string/set_image" Loading @@ -59,6 +63,7 @@ <item android:id="@+id/action_details" android:icon="@drawable/ic_menu_info_details" android:title="@string/details" android:visible="false" android:showAsAction="never" /> <item android:id="@+id/action_edit" android:title="@string/edit" Loading src/com/android/gallery3d/ui/ActionModeHandler.java +20 −19 Original line number Diff line number Diff line Loading @@ -16,20 +16,6 @@ package com.android.gallery3d.ui; import com.android.gallery3d.R; import com.android.gallery3d.app.GalleryActionBar; import com.android.gallery3d.app.GalleryActivity; import com.android.gallery3d.common.Utils; import com.android.gallery3d.data.DataManager; import com.android.gallery3d.data.MediaObject; import com.android.gallery3d.data.Path; import com.android.gallery3d.ui.CustomMenu.DropDownMenu; import com.android.gallery3d.ui.MenuExecutor.ProgressListener; import com.android.gallery3d.util.Future; import com.android.gallery3d.util.GalleryUtils; import com.android.gallery3d.util.ThreadPool.Job; import com.android.gallery3d.util.ThreadPool.JobContext; import android.app.Activity; import android.content.Context; import android.content.Intent; Loading @@ -42,9 +28,23 @@ import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.ShareActionProvider; import android.widget.PopupMenu.OnMenuItemClickListener; import android.widget.ShareActionProvider.OnShareTargetSelectedListener; import android.widget.ShareActionProvider; import com.android.gallery3d.R; import com.android.gallery3d.app.GalleryActionBar; import com.android.gallery3d.app.GalleryActivity; import com.android.gallery3d.common.Utils; import com.android.gallery3d.data.DataManager; import com.android.gallery3d.data.MediaObject; import com.android.gallery3d.data.Path; import com.android.gallery3d.ui.CustomMenu.DropDownMenu; import com.android.gallery3d.ui.MenuExecutor.ProgressListener; import com.android.gallery3d.util.Future; import com.android.gallery3d.util.GalleryUtils; import com.android.gallery3d.util.ThreadPool.Job; import com.android.gallery3d.util.ThreadPool.JobContext; import java.util.ArrayList; Loading @@ -65,7 +65,7 @@ public class ActionModeHandler implements ActionMode.Callback { private DropDownMenu mSelectionMenu; private ActionModeListener mListener; private Future<?> mMenuTask; private Handler mMainHandler; private final Handler mMainHandler; private ShareActionProvider mShareActionProvider; public ActionModeHandler( Loading Loading @@ -175,7 +175,6 @@ public class ActionModeHandler implements ActionMode.Callback { // e.g. LocalImage can be rotated but collections of them (LocalAlbum) can't. private void updateMenuOptions(JobContext jc) { ArrayList<Path> paths = mSelectionManager.getSelected(false); if (paths.size() == 0) return; int operation = MediaObject.SUPPORT_ALL; DataManager manager = mActivity.getDataManager(); Loading @@ -188,7 +187,9 @@ public class ActionModeHandler implements ActionMode.Callback { } final String mimeType = MenuExecutor.getMimeType(type); if (paths.size() == 1) { if (paths.size() == 0) { operation = 0; } else if (paths.size() == 1) { if (!GalleryUtils.isEditorAvailable((Context) mActivity, mimeType)) { operation &= ~MediaObject.SUPPORT_EDIT; } Loading Loading @@ -286,6 +287,6 @@ public class ActionModeHandler implements ActionMode.Callback { } public void resume() { updateSupportedOperation(); if (mSelectionManager.inSelectionMode()) updateSupportedOperation(); } } src/com/android/gallery3d/ui/MenuExecutor.java +10 −12 Original line number Diff line number Diff line Loading @@ -16,6 +16,16 @@ package com.android.gallery3d.ui; import android.app.Activity; import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; import android.os.Handler; import android.os.Message; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; import com.android.gallery3d.R; import com.android.gallery3d.app.CropImage; import com.android.gallery3d.app.GalleryActivity; Loading @@ -29,18 +39,6 @@ import com.android.gallery3d.util.GalleryUtils; import com.android.gallery3d.util.ThreadPool.Job; import com.android.gallery3d.util.ThreadPool.JobContext; import android.app.Activity; import android.app.ProgressDialog; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Handler; import android.os.Message; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; import java.util.ArrayList; public class MenuExecutor { Loading Loading
res/menu/operation.xml +5 −0 Original line number Diff line number Diff line Loading @@ -22,12 +22,14 @@ <item android:id="@+id/action_share" android:icon="@drawable/ic_menu_share_holo_light" android:title="@string/share" android:visible="false" android:actionProviderClass="android.widget.ShareActionProvider" android:showAsAction="ifRoom"> </item> <item android:id="@+id/action_delete" android:icon="@drawable/ic_menu_trash_holo_light" android:title="@string/delete" android:visible="false" android:showAsAction="ifRoom"> <menu> <item android:id="@+id/action_confirm_delete" Loading @@ -44,9 +46,11 @@ android:visible="false" /> <item android:id="@+id/action_rotate_ccw" android:showAsAction="never" android:visible="false" android:title="@string/rotate_left" /> <item android:id="@+id/action_rotate_cw" android:showAsAction="never" android:visible="false" android:title="@string/rotate_right" /> <item android:id="@+id/action_setas" android:title="@string/set_image" Loading @@ -59,6 +63,7 @@ <item android:id="@+id/action_details" android:icon="@drawable/ic_menu_info_details" android:title="@string/details" android:visible="false" android:showAsAction="never" /> <item android:id="@+id/action_edit" android:title="@string/edit" Loading
src/com/android/gallery3d/ui/ActionModeHandler.java +20 −19 Original line number Diff line number Diff line Loading @@ -16,20 +16,6 @@ package com.android.gallery3d.ui; import com.android.gallery3d.R; import com.android.gallery3d.app.GalleryActionBar; import com.android.gallery3d.app.GalleryActivity; import com.android.gallery3d.common.Utils; import com.android.gallery3d.data.DataManager; import com.android.gallery3d.data.MediaObject; import com.android.gallery3d.data.Path; import com.android.gallery3d.ui.CustomMenu.DropDownMenu; import com.android.gallery3d.ui.MenuExecutor.ProgressListener; import com.android.gallery3d.util.Future; import com.android.gallery3d.util.GalleryUtils; import com.android.gallery3d.util.ThreadPool.Job; import com.android.gallery3d.util.ThreadPool.JobContext; import android.app.Activity; import android.content.Context; import android.content.Intent; Loading @@ -42,9 +28,23 @@ import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.ShareActionProvider; import android.widget.PopupMenu.OnMenuItemClickListener; import android.widget.ShareActionProvider.OnShareTargetSelectedListener; import android.widget.ShareActionProvider; import com.android.gallery3d.R; import com.android.gallery3d.app.GalleryActionBar; import com.android.gallery3d.app.GalleryActivity; import com.android.gallery3d.common.Utils; import com.android.gallery3d.data.DataManager; import com.android.gallery3d.data.MediaObject; import com.android.gallery3d.data.Path; import com.android.gallery3d.ui.CustomMenu.DropDownMenu; import com.android.gallery3d.ui.MenuExecutor.ProgressListener; import com.android.gallery3d.util.Future; import com.android.gallery3d.util.GalleryUtils; import com.android.gallery3d.util.ThreadPool.Job; import com.android.gallery3d.util.ThreadPool.JobContext; import java.util.ArrayList; Loading @@ -65,7 +65,7 @@ public class ActionModeHandler implements ActionMode.Callback { private DropDownMenu mSelectionMenu; private ActionModeListener mListener; private Future<?> mMenuTask; private Handler mMainHandler; private final Handler mMainHandler; private ShareActionProvider mShareActionProvider; public ActionModeHandler( Loading Loading @@ -175,7 +175,6 @@ public class ActionModeHandler implements ActionMode.Callback { // e.g. LocalImage can be rotated but collections of them (LocalAlbum) can't. private void updateMenuOptions(JobContext jc) { ArrayList<Path> paths = mSelectionManager.getSelected(false); if (paths.size() == 0) return; int operation = MediaObject.SUPPORT_ALL; DataManager manager = mActivity.getDataManager(); Loading @@ -188,7 +187,9 @@ public class ActionModeHandler implements ActionMode.Callback { } final String mimeType = MenuExecutor.getMimeType(type); if (paths.size() == 1) { if (paths.size() == 0) { operation = 0; } else if (paths.size() == 1) { if (!GalleryUtils.isEditorAvailable((Context) mActivity, mimeType)) { operation &= ~MediaObject.SUPPORT_EDIT; } Loading Loading @@ -286,6 +287,6 @@ public class ActionModeHandler implements ActionMode.Callback { } public void resume() { updateSupportedOperation(); if (mSelectionManager.inSelectionMode()) updateSupportedOperation(); } }
src/com/android/gallery3d/ui/MenuExecutor.java +10 −12 Original line number Diff line number Diff line Loading @@ -16,6 +16,16 @@ package com.android.gallery3d.ui; import android.app.Activity; import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; import android.os.Handler; import android.os.Message; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; import com.android.gallery3d.R; import com.android.gallery3d.app.CropImage; import com.android.gallery3d.app.GalleryActivity; Loading @@ -29,18 +39,6 @@ import com.android.gallery3d.util.GalleryUtils; import com.android.gallery3d.util.ThreadPool.Job; import com.android.gallery3d.util.ThreadPool.JobContext; import android.app.Activity; import android.app.ProgressDialog; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Handler; import android.os.Message; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; import java.util.ArrayList; public class MenuExecutor { Loading