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"); |
+ } |
} |
} |