summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/app/PhotoPage.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/app/PhotoPage.java')
-rw-r--r--src/com/android/gallery3d/app/PhotoPage.java34
1 files changed, 30 insertions, 4 deletions
diff --git a/src/com/android/gallery3d/app/PhotoPage.java b/src/com/android/gallery3d/app/PhotoPage.java
index 9b6f2b961..613ac17eb 100644
--- a/src/com/android/gallery3d/app/PhotoPage.java
+++ b/src/com/android/gallery3d/app/PhotoPage.java
@@ -36,6 +36,7 @@ import android.os.SystemClock;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.RelativeLayout;
+import android.widget.ShareActionProvider;
import android.widget.Toast;
import com.android.camera.CameraActivity;
@@ -59,6 +60,7 @@ import com.android.gallery3d.data.SnailAlbum;
import com.android.gallery3d.data.SnailItem;
import com.android.gallery3d.data.SnailSource;
import com.android.gallery3d.filtershow.FilterShowActivity;
+import com.android.gallery3d.filtershow.crop.CropActivity;
import com.android.gallery3d.picasasource.PicasaSource;
import com.android.gallery3d.ui.DetailsHelper;
import com.android.gallery3d.ui.DetailsHelper.CloseListener;
@@ -72,7 +74,7 @@ import com.android.gallery3d.util.GalleryUtils;
import com.android.gallery3d.util.UsageStatistics;
public abstract class PhotoPage extends ActivityState implements
- PhotoView.Listener, AppBridge.Server,
+ PhotoView.Listener, AppBridge.Server, ShareActionProvider.OnShareTargetSelectedListener,
PhotoPageBottomControls.Delegate, GalleryActionBar.OnAlbumModeSelectedListener {
private static final String TAG = "PhotoPage";
@@ -391,7 +393,7 @@ public abstract class PhotoPage extends ActivityState implements
}
Intent shareIntent = createShareIntent(mCurrentPhoto);
- mActionBar.setShareIntents(panoramaIntent, shareIntent);
+ mActionBar.setShareIntents(panoramaIntent, shareIntent, PhotoPage.this);
setNfcBeamPushUri(contentUri);
}
break;
@@ -1081,8 +1083,8 @@ public abstract class PhotoPage extends ActivityState implements
}
case R.id.action_crop: {
Activity activity = mActivity;
- Intent intent = new Intent(FilterShowActivity.CROP_ACTION);
- intent.setClass(activity, FilterShowActivity.class);
+ Intent intent = new Intent(CropActivity.CROP_ACTION);
+ intent.setClass(activity, CropActivity.class);
intent.setDataAndType(manager.getContentUri(path), current.getMimeType())
.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
activity.startActivityForResult(intent, PicasaSource.isPicasaImage(current)
@@ -1540,4 +1542,28 @@ public abstract class PhotoPage extends ActivityState implements
public void onUndoBarVisibilityChanged(boolean visible) {
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";
+ } else if (item.getMediaType() == MediaObject.MEDIA_TYPE_IMAGE) {
+ return "Photo";
+ } else {
+ return "Unknown:" + item.getMediaType();
+ }
+ }
+
}