| Index: chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebShareActivity.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebShareActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebShareActivity.java
|
| index 5fe13a3583fad9cb49531491e2635c90823778b5..11bb49f73e813153cac0dec598935685f23baa44 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebShareActivity.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebShareActivity.java
|
| @@ -6,39 +6,30 @@ package org.chromium.chrome.browser.physicalweb;
|
|
|
| import android.content.Intent;
|
| import android.os.Build;
|
| -import android.os.Bundle;
|
| -import android.support.v7.app.AppCompatActivity;
|
|
|
| -import org.chromium.chrome.browser.share.ShareHelper;
|
| -import org.chromium.chrome.browser.tab.Tab;
|
| -import org.chromium.chrome.browser.util.IntentUtils;
|
| +import org.chromium.chrome.browser.ChromeActivity;
|
| +import org.chromium.chrome.browser.share.ShareActivity;
|
|
|
| /**
|
| * A simple activity that allows Chrome to start the physical web sharing service.
|
| */
|
| -public class PhysicalWebShareActivity extends AppCompatActivity {
|
| - private static final String TAG = "PhysicalWebShareActivity";
|
| -
|
| +public class PhysicalWebShareActivity extends ShareActivity {
|
| @Override
|
| - protected void onCreate(Bundle savedInstanceState) {
|
| - super.onCreate(savedInstanceState);
|
| -
|
| - try {
|
| - Intent intent = getIntent();
|
| - if (intent == null) return;
|
| - if (!Intent.ACTION_SEND.equals(intent.getAction())) return;
|
| - if (!IntentUtils.safeHasExtra(getIntent(), ShareHelper.EXTRA_TASK_ID)) return;
|
| - handleShareAction();
|
| - } finally {
|
| - finish();
|
| - }
|
| - }
|
| + protected void handleShareAction(ChromeActivity triggeringActivity) {
|
| + String url = triggeringActivity.getActivityTab().getUrl();
|
|
|
| - private void handleShareAction() {
|
| - // TODO(iankc): implement sharing
|
| + Intent intent = new Intent(this, PhysicalWebBroadcastService.class);
|
| + intent.putExtra(PhysicalWebBroadcastService.DISPLAY_URL_KEY, url);
|
| + startService(intent);
|
| }
|
|
|
| - public static boolean sharingIsEnabled(Tab currentTab) {
|
| + /**
|
| + * Returns whether we should show this sharing option in the share sheet.
|
| + * Pre-conditions for Physical Web Sharing to be enabled:
|
| + * Device is Marshmallow or above.
|
| + * Device has sharing feature enabled.
|
| + */
|
| + public static boolean featureIsAvailable() {
|
| return PhysicalWeb.sharingIsEnabled() && Build.VERSION.SDK_INT >= Build.VERSION_CODES.M;
|
| }
|
| }
|
|
|