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 484b358e4ed59d437faf6ca87340d3ed211545b7..047d8962d8b1ce818166d146408af4aebe3e9582 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java |
@@ -576,7 +576,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements OverviewMode |
TraceEvent.begin("ChromeTabbedActivity.onNewIntentWithNative"); |
super.onNewIntentWithNative(intent); |
- if (isMainIntent(intent)) { |
+ if (isMainIntentFromLauncher(intent)) { |
if (IntentHandler.getUrlFromIntent(intent) == null) { |
maybeLaunchNtpFromMainIntent(intent); |
} |
@@ -737,18 +737,25 @@ public class ChromeTabbedActivity extends ChromeActivity implements OverviewMode |
textBubble.show(); |
} |
- private boolean isMainIntent(Intent intent) { |
- return intent != null && TextUtils.equals(intent.getAction(), Intent.ACTION_MAIN); |
+ private boolean isMainIntentFromLauncher(Intent intent) { |
+ return intent != null && TextUtils.equals(intent.getAction(), Intent.ACTION_MAIN) |
+ && intent.hasCategory(Intent.CATEGORY_LAUNCHER); |
} |
private void logMainIntentBehavior(Intent intent) { |
- assert isMainIntent(intent); |
+ assert isMainIntentFromLauncher(intent); |
long currentTime = System.currentTimeMillis(); |
long lastBackgroundedTimeMs = ContextUtils.getAppSharedPreferences().getLong( |
LAST_BACKGROUNDED_TIME_MS_PREF, currentTime); |
mMainIntentMetrics.onMainIntentWithNative(currentTime - lastBackgroundedTimeMs); |
} |
+ /** Access the main intent metrics for test validation. */ |
+ @VisibleForTesting |
+ public MainIntentBehaviorMetrics getMainIntentBehaviorMetricsForTesting() { |
+ return mMainIntentMetrics; |
+ } |
+ |
/** |
* Determines if the intent should trigger an NTP and launches it if applicable. |
* |
@@ -756,7 +763,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements OverviewMode |
* @return Whether an NTP was triggered as a result of this intent. |
*/ |
private boolean maybeLaunchNtpFromMainIntent(Intent intent) { |
- assert isMainIntent(intent); |
+ assert isMainIntentFromLauncher(intent); |
if (!mIntentHandler.isIntentUserVisible()) return false; |
if (FeatureUtilities.isChromeHomeEnabled()) return false; |
@@ -860,7 +867,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements OverviewMode |
mIntentWithEffect = mIntentHandler.onNewIntent(intent); |
} |
- if (isMainIntent(intent)) { |
+ if (isMainIntentFromLauncher(intent)) { |
if (IntentHandler.getUrlFromIntent(intent) == null) { |
assert !mIntentWithEffect |
: "ACTION_MAIN should not have triggered any prior action"; |