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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencer.java

Issue 2237293003: [FRE] Change the First Run Experience launching behavior (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address comments Created 4 years, 4 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/firstrun/FirstRunFlowSequencer.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencer.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencer.java
index faa062f7a375273ce5796966e87b7b093dce6087..d68259cc58d217c922ea0d855db120404f3edfe9 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencer.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencer.java
@@ -16,8 +16,6 @@ import org.chromium.base.CommandLine;
import org.chromium.base.FieldTrialList;
import org.chromium.base.VisibleForTesting;
import org.chromium.chrome.browser.ChromeSwitches;
-import org.chromium.chrome.browser.IntentHandler;
-import org.chromium.chrome.browser.IntentHandler.ExternalAppId;
import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
import org.chromium.chrome.browser.preferences.PrefServiceBridge;
import org.chromium.chrome.browser.preferences.privacy.PrivacyPreferencesManager;
@@ -221,10 +219,11 @@ public abstract class FirstRunFlowSequencer {
* Checks if the First Run needs to be launched.
* @return The intent to launch the First Run Experience if necessary, or null.
* @param context The context.
- * @param fromIntent The intent that was used to launch Chrome. It contains the information of
- * the client to launch different types of the First Run Experience.
+ * @param fromIntent The intent that was used to launch Chrome.
+ * @param forLightweightFre Whether this is a check for the Lightweight First Run Experience.
*/
- public static Intent checkIfFirstRunIsNecessary(Context context, Intent fromIntent) {
+ public static Intent checkIfFirstRunIsNecessary(
+ Context context, Intent fromIntent, boolean forLightweightFre) {
// If FRE is disabled (e.g. in tests), proceed directly to the intent handling.
if (CommandLine.getInstance().hasSwitch(ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE)
|| ApiCompatibilityUtils.isDemoUser(context)) {
@@ -240,20 +239,14 @@ public abstract class FirstRunFlowSequencer {
final boolean baseFreComplete = FirstRunStatus.getFirstRunFlowComplete(context);
if (!baseFreComplete) {
- // Show full First Run Experience if Chrome is opened via Chrome icon or GSA (Google
- // Search App).
- if (fromChromeIcon
- || (fromIntent != null
- && IntentHandler.determineExternalIntentSource(
- context.getPackageName(), fromIntent) == ExternalAppId.GSA)) {
+ if (forLightweightFre) {
+ if (!FirstRunStatus.shouldSkipWelcomePage(context)
+ && !FirstRunStatus.getLightweightFirstRunFlowComplete(context)) {
+ return createLightweightFirstRunIntent(context, fromChromeIcon);
+ }
+ } else {
return createGenericFirstRunIntent(context, fromChromeIcon);
}
-
- // Show lightweight First Run Experience if the user has not accepted the ToS.
- if (!FirstRunStatus.shouldSkipWelcomePage(context)
- && !FirstRunStatus.getLightweightFirstRunFlowComplete(context)) {
- return createLightweightFirstRunIntent(context, fromChromeIcon);
- }
}
// Promo pages are removed, so there is nothing else to show in FRE.

Powered by Google App Engine
This is Rietveld 408576698