Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3754)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/share/ShareHelper.java

Issue 2180293002: Remove the print option from the menu and make it a share destination. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/share/ShareHelper.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/ShareHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/share/ShareHelper.java
index 9f0590a64eaaa24ec6345cea8b28e4da7fa34e56..6ee99ab36e0a232950239e430a812b401389f438 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/share/ShareHelper.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/share/ShareHelper.java
@@ -59,6 +59,9 @@ public class ShareHelper {
private static final String TAG = "share";
+ /** The task ID of the activity that triggered the share action. */
+ public static final String EXTRA_TASK_ID = "org.chromium.chrome.extra.TASK_ID";
+
private static final String JPEG_EXTENSION = ".jpg";
private static final String PACKAGE_NAME_KEY = "last_shared_package_name";
private static final String CLASS_NAME_KEY = "last_shared_class_name";
@@ -140,7 +143,7 @@ public class ShareHelper {
ComponentName target = intent.getParcelableExtra(Intent.EXTRA_CHOSEN_COMPONENT);
if (target != null) {
- setLastShareComponentName(context, target);
+ setLastShareComponentName(target);
}
}
}
@@ -259,7 +262,7 @@ public class ShareHelper {
*/
private static void showShareDialog(final Activity activity, final String title,
final String url, final Bitmap screenshot) {
- Intent intent = getShareIntent(title, url, null);
+ Intent intent = getShareIntent(activity, title, url, null);
PackageManager manager = activity.getPackageManager();
List<ResolveInfo> resolveInfoList = manager.queryIntentActivities(intent, 0);
assert resolveInfoList.size() > 0;
@@ -281,7 +284,7 @@ public class ShareHelper {
ActivityInfo ai = info.activityInfo;
ComponentName component =
new ComponentName(ai.applicationInfo.packageName, ai.name);
- setLastShareComponentName(activity, component);
+ setLastShareComponentName(component);
makeIntentAndShare(activity, title, url, screenshot, component);
dialog.dismiss();
}
@@ -298,7 +301,7 @@ public class ShareHelper {
*/
private static void shareWithLastUsed(
Activity activity, String title, String url, Bitmap screenshot) {
- ComponentName component = getLastShareComponentName(activity);
+ ComponentName component = getLastShareComponentName();
if (component == null) return;
makeIntentAndShare(activity, title, url, screenshot, component);
}
@@ -315,7 +318,8 @@ public class ShareHelper {
private static void makeIntentAndShare(final Activity activity, final String title,
final String url, final Bitmap screenshot, final ComponentName component) {
if (screenshot == null) {
- shareIntent(activity, getDirectShareIntentForComponent(title, url, null, component));
+ shareIntent(activity,
+ getDirectShareIntentForComponent(activity, title, url, null, component));
} else {
new AsyncTask<Void, Void, File>() {
@Override
@@ -355,7 +359,7 @@ public class ShareHelper {
Uri screenshotUri = saveFile == null
? null : UiUtils.getUriForImageCaptureFile(activity, saveFile);
shareIntent(activity, getDirectShareIntentForComponent(
- title, url, screenshotUri, component));
+ activity, title, url, screenshotUri, component));
}
}
}.execute();
@@ -372,10 +376,10 @@ public class ShareHelper {
Drawable directShareIcon = null;
CharSequence directShareTitle = null;
- final ComponentName component = getLastShareComponentName(activity);
+ final ComponentName component = getLastShareComponentName();
boolean isComponentValid = false;
if (component != null) {
- Intent intent = getShareIntent("", "", null);
+ Intent intent = getShareIntent(activity, "", "", null);
intent.setPackage(component.getPackageName());
PackageManager manager = activity.getPackageManager();
List<ResolveInfo> resolveInfoList = manager.queryIntentActivities(intent, 0);
@@ -434,13 +438,16 @@ public class ShareHelper {
}
@VisibleForTesting
- public static Intent getShareIntent(String title, String url, Uri screenshotUri) {
+ protected static Intent getShareIntent(
+ Activity activity, String title, String url, Uri screenshotUri) {
url = DomDistillerUrlUtils.getOriginalUrlFromDistillerUrl(url);
Intent intent = new Intent(Intent.ACTION_SEND);
intent.addFlags(ApiCompatibilityUtils.getActivityNewDocumentFlag());
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_SUBJECT, title);
intent.putExtra(Intent.EXTRA_TEXT, url);
+ intent.putExtra(EXTRA_TASK_ID, activity.getTaskId());
+
if (screenshotUri != null) {
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
// To give read access to an Intent target, we need to put |screenshotUri| in clipData
@@ -462,15 +469,16 @@ public class ShareHelper {
}
private static Intent getDirectShareIntentForComponent(
- String title, String url, Uri screenshotUri, ComponentName component) {
- Intent intent = getShareIntent(title, url, screenshotUri);
+ Activity activity, String title, String url,
+ Uri screenshotUri, ComponentName component) {
+ Intent intent = getShareIntent(activity, title, url, screenshotUri);
intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT
| Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP);
intent.setComponent(component);
return intent;
}
- private static ComponentName getLastShareComponentName(Context context) {
+ private static ComponentName getLastShareComponentName() {
SharedPreferences preferences = ContextUtils.getAppSharedPreferences();
String packageName = preferences.getString(PACKAGE_NAME_KEY, null);
String className = preferences.getString(CLASS_NAME_KEY, null);
@@ -478,7 +486,7 @@ public class ShareHelper {
return new ComponentName(packageName, className);
}
- private static void setLastShareComponentName(Context context, ComponentName component) {
+ private static void setLastShareComponentName(ComponentName component) {
SharedPreferences preferences = ContextUtils.getAppSharedPreferences();
SharedPreferences.Editor editor = preferences.edit();
editor.putString(PACKAGE_NAME_KEY, component.getPackageName());

Powered by Google App Engine
This is Rietveld 408576698