diff options
Diffstat (limited to 'src/com/android/gallery3d')
-rw-r--r-- | src/com/android/gallery3d/app/GalleryActionBar.java | 46 | ||||
-rw-r--r-- | src/com/android/gallery3d/app/MovieActivity.java | 38 | ||||
-rwxr-xr-x | src/com/android/gallery3d/app/PhotoPage.java | 21 | ||||
-rwxr-xr-x | src/com/android/gallery3d/filtershow/FilterShowActivity.java | 35 | ||||
-rw-r--r-- | src/com/android/gallery3d/ui/ActionModeHandler.java | 39 |
5 files changed, 83 insertions, 96 deletions
diff --git a/src/com/android/gallery3d/app/GalleryActionBar.java b/src/com/android/gallery3d/app/GalleryActionBar.java index 6c6878f13..dcea7c48c 100644 --- a/src/com/android/gallery3d/app/GalleryActionBar.java +++ b/src/com/android/gallery3d/app/GalleryActionBar.java @@ -34,7 +34,6 @@ 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 android.widget.Toolbar; import android.widget.TwoLineListItem; @@ -405,8 +404,6 @@ public class GalleryActionBar { // } private Menu mActionBarMenu; - private ShareActionProvider mSharePanoramaActionProvider; - private ShareActionProvider mShareActionProvider; private Intent mSharePanoramaIntent; private Intent mShareIntent; @@ -416,20 +413,32 @@ public class GalleryActionBar { MenuItem item = menu.findItem(R.id.action_share_panorama); if (item != null) { - mSharePanoramaActionProvider = (ShareActionProvider) - item.getActionProvider(); - mSharePanoramaActionProvider - .setShareHistoryFileName("panorama_share_history.xml"); - mSharePanoramaActionProvider.setShareIntent(mSharePanoramaIntent); + item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() { + @Override + public boolean onMenuItemClick(MenuItem item) { + if (mSharePanoramaIntent != null) { + Intent intent = Intent.createChooser(mSharePanoramaIntent, null); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + mContext.startActivity(intent); + } + return true; + } + }); } item = menu.findItem(R.id.action_share); if (item != null) { - mShareActionProvider = (ShareActionProvider) - item.getActionProvider(); - mShareActionProvider - .setShareHistoryFileName("share_history.xml"); - mShareActionProvider.setShareIntent(mShareIntent); + item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() { + @Override + public boolean onMenuItemClick(MenuItem item) { + if (mShareIntent != null) { + Intent intent = Intent.createChooser(mShareIntent, null); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + mContext.startActivity(intent); + } + return true; + } + }); } } @@ -437,18 +446,9 @@ public class GalleryActionBar { return mActionBarMenu; } - public void setShareIntents(Intent sharePanoramaIntent, Intent shareIntent, - ShareActionProvider.OnShareTargetSelectedListener onShareListener) { + public void setShareIntents(Intent sharePanoramaIntent, Intent shareIntent) { mSharePanoramaIntent = sharePanoramaIntent; - if (mSharePanoramaActionProvider != null) { - mSharePanoramaActionProvider.setShareIntent(sharePanoramaIntent); - } mShareIntent = shareIntent; - if (mShareActionProvider != null) { - mShareActionProvider.setShareIntent(shareIntent); - mShareActionProvider.setOnShareTargetSelectedListener( - onShareListener); - } } public void setBackGroundTransparent() { diff --git a/src/com/android/gallery3d/app/MovieActivity.java b/src/com/android/gallery3d/app/MovieActivity.java index 27f3d4ac1..22ab27292 100644 --- a/src/com/android/gallery3d/app/MovieActivity.java +++ b/src/com/android/gallery3d/app/MovieActivity.java @@ -61,7 +61,6 @@ import android.view.Window; import android.view.WindowManager; import android.widget.CompoundButton; import android.widget.ImageView; -import android.widget.ShareActionProvider; import android.widget.ToggleButton; import android.widget.Toast; @@ -121,7 +120,6 @@ public class MovieActivity extends AbstractPermissionActivity { private Knob mVirtualizerKnob; private SharedPreferences mPrefs; - private ShareActionProvider mShareProvider; private IMovieItem mMovieItem; private IActivityHooker mMovieHooker; private KeyguardManager mKeyguardManager; @@ -130,6 +128,8 @@ public class MovieActivity extends AbstractPermissionActivity { private boolean mResumed = false; private boolean mControlResumed = false; + private Intent mShareIntent; + private final BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override public void onReceive(final Context context, final Intent intent) { @@ -354,11 +354,18 @@ public class MovieActivity extends AbstractPermissionActivity { getMenuInflater().inflate(R.menu.movie, menu); MenuItem shareMenu = menu.findItem(R.id.action_share); shareMenu.setVisible(false); - ShareActionProvider provider = (ShareActionProvider) shareMenu.getActionProvider(); - mShareProvider = provider; - if (mShareProvider != null) { - // share provider is singleton, we should refresh our history file. - mShareProvider.setShareHistoryFileName(SHARE_HISTORY_FILE); + if (shareMenu != null) { + shareMenu.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() { + @Override + public boolean onMenuItemClick(MenuItem item) { + if (mShareIntent != null) { + Intent intent = Intent.createChooser(mShareIntent, null); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + getApplicationContext().startActivity(mShareIntent); + } + return true; + } + }); } final MenuItem mi = menu.add(R.string.audio_effects); @@ -793,16 +800,13 @@ public class MovieActivity extends AbstractPermissionActivity { private void refreshShareProvider(IMovieItem info) { // we only share the video if it's "content:". - if (mShareProvider != null) { - Intent intent = new Intent(Intent.ACTION_SEND); - if (MovieUtils.isLocalFile(info.getUri(), info.getMimeType())) { - intent.setType("video/*"); - intent.putExtra(Intent.EXTRA_STREAM, info.getUri()); - } else { - intent.setType("text/plain"); - intent.putExtra(Intent.EXTRA_TEXT, String.valueOf(info.getUri())); - } - mShareProvider.setShareIntent(intent); + mShareIntent = new Intent(Intent.ACTION_SEND); + if (MovieUtils.isLocalFile(info.getUri(), info.getMimeType())) { + mShareIntent.setType("video/*"); + mShareIntent.putExtra(Intent.EXTRA_STREAM, info.getUri()); + } else { + mShareIntent.setType("text/plain"); + mShareIntent.putExtra(Intent.EXTRA_TEXT, String.valueOf(info.getUri())); } } diff --git a/src/com/android/gallery3d/app/PhotoPage.java b/src/com/android/gallery3d/app/PhotoPage.java index 8ad53df22..8f657e0be 100755 --- a/src/com/android/gallery3d/app/PhotoPage.java +++ b/src/com/android/gallery3d/app/PhotoPage.java @@ -43,7 +43,6 @@ import android.view.ViewGroup; import android.view.Window; import android.view.WindowManager; import android.widget.RelativeLayout; -import android.widget.ShareActionProvider; import android.widget.Toast; import android.widget.Toolbar; @@ -88,8 +87,8 @@ import java.util.Locale; //import android.drm.DrmHelper; public abstract class PhotoPage extends ActivityState implements - PhotoView.Listener, AppBridge.Server, ShareActionProvider.OnShareTargetSelectedListener, - PhotoPageBottomControls.Delegate, ThreeDButton.Delegate{ + PhotoView.Listener, AppBridge.Server, PhotoPageBottomControls.Delegate, + ThreeDButton.Delegate { private static final String TAG = "PhotoPage"; private static final int MSG_HIDE_BARS = 1; @@ -207,7 +206,6 @@ public abstract class PhotoPage extends ActivityState implements private int mLastSystemUiVis = 0; - private ShareActionProvider mShareActionProvider; private Intent mShareIntent; //use for saving the original height and padding of toolbar @@ -398,7 +396,7 @@ public abstract class PhotoPage extends ActivityState implements } Intent shareIntent = createShareIntent(mCurrentPhoto); if (shareIntent != null) { - mActionBar.setShareIntents(panoramaIntent, shareIntent, PhotoPage.this); + mActionBar.setShareIntents(panoramaIntent, shareIntent); } setNfcBeamPushUri(contentUri); } @@ -1788,19 +1786,6 @@ public abstract class PhotoPage extends ActivityState implements refreshBottomControlsWhenReady(); } - @Override - public boolean onShareTargetSelected(ShareActionProvider source, Intent intent) { - final long timestampMillis = mCurrentPhoto.getDateInMs(); - final String mediaType = getMediaTypeString(mCurrentPhoto); - UsageStatistics.onEvent(UsageStatistics.COMPONENT_GALLERY, - UsageStatistics.ACTION_SHARE, - mediaType, - timestampMillis > 0 - ? System.currentTimeMillis() - timestampMillis - : -1); - return false; - } - private static String getMediaTypeString(MediaItem item) { if (item.getMediaType() == MediaObject.MEDIA_TYPE_VIDEO) { return "Video"; diff --git a/src/com/android/gallery3d/filtershow/FilterShowActivity.java b/src/com/android/gallery3d/filtershow/FilterShowActivity.java index f769b5ecd..c3fb58684 100755 --- a/src/com/android/gallery3d/filtershow/FilterShowActivity.java +++ b/src/com/android/gallery3d/filtershow/FilterShowActivity.java @@ -75,8 +75,6 @@ import android.widget.ImageButton; import android.widget.LinearLayout; import android.widget.PopupMenu; import android.widget.RelativeLayout; -import android.widget.ShareActionProvider; -import android.widget.ShareActionProvider.OnShareTargetSelectedListener; import android.widget.Toast; import org.codeaurora.gallery.R; @@ -147,8 +145,8 @@ import com.thundersoft.hz.selfportrait.makeup.engine.MakeupEngine; import static android.app.Activity.RESULT_OK; public class FilterShowActivity extends FragmentActivity implements OnItemClickListener, -OnShareTargetSelectedListener, DialogInterface.OnShowListener, -DialogInterface.OnDismissListener, PopupMenu.OnDismissListener{ + DialogInterface.OnShowListener, + DialogInterface.OnDismissListener, PopupMenu.OnDismissListener { private String mAction = ""; MasterImage mMasterImage = null; @@ -175,7 +173,6 @@ DialogInterface.OnDismissListener, PopupMenu.OnDismissListener{ private final Vector<ImageShow> mImageViews = new Vector<ImageShow>(); - private ShareActionProvider mShareActionProvider; private File mSharedOutputFile = null; private boolean mSharingImage = false; @@ -1605,8 +1602,7 @@ DialogInterface.OnDismissListener, PopupMenu.OnDismissListener{ finish(); } - @Override - public boolean onShareTargetSelected(ShareActionProvider arg0, Intent arg1) { + private boolean onShareTargetSelected() { // First, let's tell the SharedImageProvider that it will need to wait // for the image Uri uri = Uri.withAppendedPath(SharedImageProvider.CONTENT_URI, @@ -1638,10 +1634,20 @@ DialogInterface.OnDismissListener, PopupMenu.OnDismissListener{ public boolean onPrepareOptionsMenu(Menu menu) { menu.clear(); getMenuInflater().inflate(R.menu.filtershow_activity_menu, menu); - mShareActionProvider = (ShareActionProvider) menu.findItem( - R.id.menu_share).getActionProvider(); - mShareActionProvider.setShareIntent(getDefaultShareIntent()); - mShareActionProvider.setOnShareTargetSelectedListener(this); + MenuItem item = menu.findItem(R.id.menu_share); + if (item != null) { + item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() { + @Override + public boolean onMenuItemClick(MenuItem item) { + final Intent shareIntent = getDefaultShareIntent(); + onShareTargetSelected(); + Intent intent = Intent.createChooser(shareIntent, null); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + FilterShowActivity.this.startActivity(intent); + return true; + } + }); + } mMenu = menu; setupMenu(); @@ -1658,6 +1664,7 @@ DialogInterface.OnDismissListener, PopupMenu.OnDismissListener{ //MenuItem undoItem = mMenu.findItem(R.id.undoButton); //MenuItem redoItem = mMenu.findItem(R.id.redoButton); MenuItem resetItem = mMenu.findItem(R.id.resetHistoryButton); + MenuItem shareItem = mMenu.findItem(R.id.menu_share); //mMasterImage.getHistory().setMenuItems(undoItem, redoItem, resetItem); if (!mMasterImage.hasModifications()) { mMenu.removeItem(R.id.resetHistoryButton); @@ -1667,17 +1674,11 @@ DialogInterface.OnDismissListener, PopupMenu.OnDismissListener{ @Override public void onPause() { super.onPause(); - if (mShareActionProvider != null) { - mShareActionProvider.setOnShareTargetSelectedListener(null); - } } @Override public void onResume() { super.onResume(); - if (mShareActionProvider != null) { - mShareActionProvider.setOnShareTargetSelectedListener(this); - } if (SimpleMakeupImageFilter.HAS_TS_MAKEUP) { MakeupEngine.getMakeupObj(); } diff --git a/src/com/android/gallery3d/ui/ActionModeHandler.java b/src/com/android/gallery3d/ui/ActionModeHandler.java index 0b367d7dc..b78b03473 100644 --- a/src/com/android/gallery3d/ui/ActionModeHandler.java +++ b/src/com/android/gallery3d/ui/ActionModeHandler.java @@ -30,9 +30,7 @@ import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; -import android.widget.ShareActionProvider; import android.widget.Toolbar; -import android.widget.ShareActionProvider.OnShareTargetSelectedListener; import org.codeaurora.gallery.R; import com.android.gallery3d.app.AbstractGalleryActivity; @@ -76,8 +74,6 @@ public class ActionModeHandler implements Callback, PopupList.OnPopupItemClickLi private Menu mMenu; private MenuItem mSharePanoramaMenuItem; private MenuItem mShareMenuItem; - private Intent shareIntent; - private ShareActionProvider mSharePanoramaActionProvider; private SelectionMenu mSelectionMenu; private ActionModeListener mListener; private Future<?> mMenuTask; @@ -85,6 +81,8 @@ public class ActionModeHandler implements Callback, PopupList.OnPopupItemClickLi private ActionMode mActionMode; private boolean mShareMaxDialog = false; private Toolbar mToolbar; + private Intent mShareIntent; + private Intent mSharePanoramaIntent; private static class GetAllPanoramaSupports implements PanoramaSupportCallback { private int mNumInfoRequired; @@ -198,7 +196,7 @@ public class ActionModeHandler implements Callback, PopupList.OnPopupItemClickLi String shareTitle = mActivity.getResources(). getString(R.string.share_dialogue_title); mActivity.startActivity(Intent.createChooser( - shareIntent, shareTitle)); + mShareIntent, shareTitle)); return true; } mMenuExecutor.onMenuClicked(item, confirmMsg, listener); @@ -239,15 +237,6 @@ public class ActionModeHandler implements Callback, PopupList.OnPopupItemClickLi 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 onPrepareActionMode(ActionMode mode, Menu menu) { return false; @@ -261,11 +250,19 @@ public class ActionModeHandler implements Callback, PopupList.OnPopupItemClickLi mMenu = menu; mSharePanoramaMenuItem = menu.findItem(R.id.action_share_panorama); if (mSharePanoramaMenuItem != null) { - mSharePanoramaActionProvider = (ShareActionProvider) mSharePanoramaMenuItem - .getActionProvider(); - mSharePanoramaActionProvider.setOnShareTargetSelectedListener( - mShareTargetSelectedListener); - mSharePanoramaActionProvider.setShareHistoryFileName("panorama_share_history.xml"); + mSharePanoramaMenuItem.setOnMenuItemClickListener( + new MenuItem.OnMenuItemClickListener() { + @Override + public boolean onMenuItemClick(MenuItem item) { + mSelectionManager.leaveSelectionMode(); + if (mSharePanoramaIntent != null) { + Intent intent = Intent.createChooser(mSharePanoramaIntent, null); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + mActivity.startActivity(intent); + } + return true; + } + }); } mShareMenuItem = menu.findItem(R.id.action_share); return true; @@ -547,14 +544,14 @@ public class ActionModeHandler implements Callback, PopupList.OnPopupItemClickLi mShareMenuItem.setTitle( mActivity.getResources().getString(R.string.share)); } - mSharePanoramaActionProvider.setShareIntent(share_panorama_intent); + mSharePanoramaIntent = share_panorama_intent; } if (mShareMenuItem != null) { showShareMaxDialogIfNeed(canShare); mShareMenuItem.setEnabled(canShare); isThreadComplete = true; - shareIntent = share_intent; + mShareIntent = share_intent; } } }); |