Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java |
| index 4701a6b175ccf433e3dcb8a43514f6115a880012..aa552df4cca6a4e4260ffd8b45a8e976cb7015b1 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java |
| @@ -764,6 +764,13 @@ public class ChromeTabbedActivity extends ChromeActivity implements OverviewMode |
| public void processUrlViewIntent(String url, String referer, String headers, |
| TabOpenType tabOpenType, String externalAppId, int tabIdToBringToFront, |
| boolean hasUserGesture, Intent intent) { |
| + if (IntentHandler.wasIntentSenderChrome(intent, ChromeTabbedActivity.this) |
| + || TextUtils.equals(externalAppId, getPackageName())) { |
|
Mark P
2017/01/05 22:41:18
Why is the latter test necessary?
(Is it obvious t
Ted C
2017/01/05 23:59:46
Done.
|
| + RecordUserAction.record("MobileTabbedModeViewIntentFromChrome"); |
| + } else { |
| + RecordUserAction.record("MobileTabbedModeViewIntentFromApp"); |
| + } |
| + |
| TabModel tabModel = getCurrentTabModel(); |
| boolean fromLauncherShortcut = IntentUtils.safeGetBooleanExtra( |
| intent, IntentHandler.EXTRA_INVOKED_FROM_SHORTCUT, false); |
| @@ -784,7 +791,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements OverviewMode |
| } else { |
| launchIntent(url, referer, headers, externalAppId, true, intent); |
| } |
| - RecordUserAction.record("MobileReceivedExternalIntent"); |
| + logMobileReceivedExternalIntent(externalAppId, intent); |
| int shortcutSource = intent.getIntExtra( |
| ShortcutHelper.EXTRA_SOURCE, ShortcutSource.UNKNOWN); |
| LaunchMetrics.recordHomeScreenLaunchIntoTab(url, shortcutSource); |
| @@ -807,7 +814,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements OverviewMode |
| } else { |
| TabModelUtils.setIndex(tabModel, tabIndex); |
| } |
| - RecordUserAction.record("MobileReceivedExternalIntent"); |
| + logMobileReceivedExternalIntent(externalAppId, intent); |
| break; |
| case CLOBBER_CURRENT_TAB: |
| // The browser triggered the intent. This happens when clicking links which |
| @@ -890,7 +897,20 @@ public class ChromeTabbedActivity extends ChromeActivity implements OverviewMode |
| Tab newTab = |
| launchIntent(url, referer, headers, externalAppId, forceNewTab, intent); |
| newTab.setIsAllowedToReturnToExternalApp(isAllowedToReturnToExternalApp); |
| + logMobileReceivedExternalIntent(externalAppId, intent); |
| + } |
| + |
| + // TODO(tedchoc): Remove once we have verified that MobileTabbedModeViewIntentFromChrome |
| + // and MobileTabbedModeViewIntentFromApp are suitable/more correct |
| + // replacments for these. |
| + private void logMobileReceivedExternalIntent(String externalAppId, Intent intent) { |
| RecordUserAction.record("MobileReceivedExternalIntent"); |
| + if (IntentHandler.wasIntentSenderChrome(intent, ChromeTabbedActivity.this) |
| + || TextUtils.equals(externalAppId, getPackageName())) { |
| + RecordUserAction.record("MobileReceivedExternalIntent.Chrome"); |
| + } else { |
| + RecordUserAction.record("MobileReceivedExternalIntent.App"); |
| + } |
| } |
| } |