Commit 31f8e515 authored by Henrique Nakashima's avatar Henrique Nakashima Committed by Commit Bot

Cleanup night mode main flags

These flags are default enabled and can be removed to simplify a ton
of code.

Bug: 1012975, 1018268
Change-Id: I606ea81d3cef3f9bead86276467c1aeb27fce350
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2068864
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: default avatarTheresa  <twellington@chromium.org>
Cr-Commit-Position: refs/heads/master@{#744072}
parent d890cfae
...@@ -800,9 +800,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements Accessibilit ...@@ -800,9 +800,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements Accessibilit
public void startNativeInitialization() { public void startNativeInitialization() {
try (TraceEvent e = TraceEvent.scoped("ChromeTabbedActivity.startNativeInitialization")) { try (TraceEvent e = TraceEvent.scoped("ChromeTabbedActivity.startNativeInitialization")) {
// This is on the critical path so don't delay. // This is on the critical path so don't delay.
if (CachedFeatureFlags.isNightModeAvailable() if (ChromeFeatureList.isEnabled(
&& ChromeFeatureList.isEnabled( ChromeFeatureList.DARKEN_WEBSITES_CHECKBOX_IN_THEMES_SETTING)) {
ChromeFeatureList.DARKEN_WEBSITES_CHECKBOX_IN_THEMES_SETTING)) {
WebContentsDarkModeController.createInstance(); WebContentsDarkModeController.createInstance();
} }
setupCompositorContent(); setupCompositorContent();
......
...@@ -7,7 +7,6 @@ package org.chromium.chrome.browser.flags; ...@@ -7,7 +7,6 @@ package org.chromium.chrome.browser.flags;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import org.chromium.base.BuildInfo;
import org.chromium.base.ContextUtils; import org.chromium.base.ContextUtils;
import org.chromium.base.FieldTrialList; import org.chromium.base.FieldTrialList;
import org.chromium.base.SysUtils; import org.chromium.base.SysUtils;
...@@ -200,7 +199,6 @@ public class CachedFeatureFlags { ...@@ -200,7 +199,6 @@ public class CachedFeatureFlags {
* Do not add new simple boolean flags here, use {@link #cacheNativeFlags} instead. * Do not add new simple boolean flags here, use {@link #cacheNativeFlags} instead.
*/ */
public static void cacheAdditionalNativeFlags() { public static void cacheAdditionalNativeFlags() {
cacheNightModeAvailable();
cacheNetworkServiceWarmUpEnabled(); cacheNetworkServiceWarmUpEnabled();
cacheNativeTabSwitcherUiFlags(); cacheNativeTabSwitcherUiFlags();
cacheReachedCodeProfilerTrialGroup(); cacheReachedCodeProfilerTrialGroup();
...@@ -276,36 +274,6 @@ public class CachedFeatureFlags { ...@@ -276,36 +274,6 @@ public class CachedFeatureFlags {
return isEnabled(ChromeFeatureList.CHROME_DUET_LABELED) && isBottomToolbarEnabled(); return isEnabled(ChromeFeatureList.CHROME_DUET_LABELED) && isBottomToolbarEnabled();
} }
/**
* Cache whether or not night mode is available (i.e. night mode experiment is enabled) so on
* next startup, the value can be made available immediately.
*/
public static void cacheNightModeAvailable() {
boolean available = ChromeFeatureList.isEnabled(ChromeFeatureList.ANDROID_NIGHT_MODE)
|| (BuildInfo.isAtLeastQ()
&& ChromeFeatureList.isEnabled(ChromeFeatureList.ANDROID_NIGHT_MODE_FOR_Q));
SharedPreferencesManager.getInstance().writeBoolean(
ChromePreferenceKeys.FLAGS_CACHED_NIGHT_MODE_AVAILABLE, available);
}
/**
* @return Whether or not night mode experiment is enabled (i.e. night mode experiment is
* enabled).
*/
public static boolean isNightModeAvailable() {
return getConsistentBooleanValue(
ChromePreferenceKeys.FLAGS_CACHED_NIGHT_MODE_AVAILABLE, true);
}
/**
* Toggles whether the night mode experiment is enabled for testing. Should be reset back to
* null after the test has finished.
*/
@VisibleForTesting
public static void setNightModeAvailableForTesting(@Nullable Boolean available) {
sBoolValuesReturned.put(ChromePreferenceKeys.FLAGS_CACHED_NIGHT_MODE_AVAILABLE, available);
}
/** /**
* @return Whether or not night mode experiment is enabled (i.e. night mode experiment is * @return Whether or not night mode experiment is enabled (i.e. night mode experiment is
* enabled) for custom tabs. * enabled) for custom tabs.
......
...@@ -12,7 +12,6 @@ import androidx.annotation.VisibleForTesting; ...@@ -12,7 +12,6 @@ import androidx.annotation.VisibleForTesting;
import org.chromium.base.CommandLine; import org.chromium.base.CommandLine;
import org.chromium.chrome.browser.ChromeBaseAppCompatActivity; import org.chromium.chrome.browser.ChromeBaseAppCompatActivity;
import org.chromium.chrome.browser.ChromeSwitches; import org.chromium.chrome.browser.ChromeSwitches;
import org.chromium.chrome.browser.flags.CachedFeatureFlags;
import org.chromium.chrome.browser.preferences.SharedPreferencesManager; import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
/** /**
...@@ -59,8 +58,7 @@ public class GlobalNightModeStateProviderHolder { ...@@ -59,8 +58,7 @@ public class GlobalNightModeStateProviderHolder {
public static NightModeStateProvider getInstance() { public static NightModeStateProvider getInstance() {
if (sInstance == null) { if (sInstance == null) {
if (CommandLine.getInstance().hasSwitch(ChromeSwitches.FORCE_ENABLE_NIGHT_MODE) if (CommandLine.getInstance().hasSwitch(ChromeSwitches.FORCE_ENABLE_NIGHT_MODE)
|| !NightModeUtils.isNightModeSupported() || !NightModeUtils.isNightModeSupported()) {
|| !CachedFeatureFlags.isNightModeAvailable()) {
sInstance = new DummyNightModeStateProvider(); sInstance = new DummyNightModeStateProvider();
} else { } else {
sInstance = new GlobalNightModeStateController(SystemNightModeMonitor.getInstance(), sInstance = new GlobalNightModeStateController(SystemNightModeMonitor.getInstance(),
......
...@@ -18,7 +18,6 @@ import androidx.annotation.VisibleForTesting; ...@@ -18,7 +18,6 @@ import androidx.annotation.VisibleForTesting;
import org.chromium.base.ContextUtils; import org.chromium.base.ContextUtils;
import org.chromium.chrome.R; import org.chromium.chrome.R;
import org.chromium.chrome.browser.datareduction.settings.DataReductionPreferenceFragment; import org.chromium.chrome.browser.datareduction.settings.DataReductionPreferenceFragment;
import org.chromium.chrome.browser.flags.CachedFeatureFlags;
import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings; import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
import org.chromium.chrome.browser.night_mode.NightModeUtils; import org.chromium.chrome.browser.night_mode.NightModeUtils;
...@@ -196,7 +195,7 @@ public class MainSettings extends PreferenceFragmentCompat ...@@ -196,7 +195,7 @@ public class MainSettings extends PreferenceFragmentCompat
Preference homepagePref = addPreferenceIfAbsent(PREF_HOMEPAGE); Preference homepagePref = addPreferenceIfAbsent(PREF_HOMEPAGE);
setOnOffSummary(homepagePref, HomepageManager.isHomepageEnabled()); setOnOffSummary(homepagePref, HomepageManager.isHomepageEnabled());
if (NightModeUtils.isNightModeSupported() && CachedFeatureFlags.isNightModeAvailable()) { if (NightModeUtils.isNightModeSupported()) {
addPreferenceIfAbsent(PREF_UI_THEME); addPreferenceIfAbsent(PREF_UI_THEME);
} else { } else {
removePreferenceIfPresent(PREF_UI_THEME); removePreferenceIfPresent(PREF_UI_THEME);
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
package org.chromium.chrome.browser.night_mode; package org.chromium.chrome.browser.night_mode;
import org.chromium.chrome.browser.flags.CachedFeatureFlags;
import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
import org.chromium.chrome.browser.preferences.SharedPreferencesManager; import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
...@@ -18,7 +17,6 @@ public class ChromeNightModeTestUtils { ...@@ -18,7 +17,6 @@ public class ChromeNightModeTestUtils {
* {@link org.chromium.chrome.browser.ChromeActivity} is launched. * {@link org.chromium.chrome.browser.ChromeActivity} is launched.
*/ */
public static void setUpNightModeBeforeChromeActivityLaunched() { public static void setUpNightModeBeforeChromeActivityLaunched() {
CachedFeatureFlags.setNightModeAvailableForTesting(true);
NightModeUtils.setNightModeSupportedForTesting(true); NightModeUtils.setNightModeSupportedForTesting(true);
} }
...@@ -36,7 +34,6 @@ public class ChromeNightModeTestUtils { ...@@ -36,7 +34,6 @@ public class ChromeNightModeTestUtils {
* destroyed. * destroyed.
*/ */
public static void tearDownNightModeAfterChromeActivityDestroyed() { public static void tearDownNightModeAfterChromeActivityDestroyed() {
CachedFeatureFlags.setNightModeAvailableForTesting(null);
NightModeUtils.setNightModeSupportedForTesting(null); NightModeUtils.setNightModeSupportedForTesting(null);
GlobalNightModeStateProviderHolder.resetInstanceForTesting(); GlobalNightModeStateProviderHolder.resetInstanceForTesting();
SharedPreferencesManager.getInstance().removeKey(ChromePreferenceKeys.UI_THEME_SETTING); SharedPreferencesManager.getInstance().removeKey(ChromePreferenceKeys.UI_THEME_SETTING);
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
package org.chromium.chrome.browser.night_mode.settings; package org.chromium.chrome.browser.night_mode.settings;
import static org.chromium.chrome.browser.flags.ChromeFeatureList.ANDROID_NIGHT_MODE;
import static org.chromium.chrome.browser.flags.ChromeFeatureList.DARKEN_WEBSITES_CHECKBOX_IN_THEMES_SETTING; import static org.chromium.chrome.browser.flags.ChromeFeatureList.DARKEN_WEBSITES_CHECKBOX_IN_THEMES_SETTING;
import static org.chromium.chrome.browser.preferences.ChromePreferenceKeys.UI_THEME_DARKEN_WEBSITES_ENABLED; import static org.chromium.chrome.browser.preferences.ChromePreferenceKeys.UI_THEME_DARKEN_WEBSITES_ENABLED;
import static org.chromium.chrome.browser.preferences.ChromePreferenceKeys.UI_THEME_SETTING; import static org.chromium.chrome.browser.preferences.ChromePreferenceKeys.UI_THEME_SETTING;
...@@ -43,7 +42,6 @@ import java.util.List; ...@@ -43,7 +42,6 @@ import java.util.List;
* Tests for ThemeSettingsFragment. * Tests for ThemeSettingsFragment.
*/ */
// clang-format off // clang-format off
@Features.EnableFeatures(ANDROID_NIGHT_MODE)
@RunWith(ParameterizedRunner.class) @RunWith(ParameterizedRunner.class)
@ParameterAnnotations.UseRunnerDelegate(ChromeJUnit4RunnerDelegate.class) @ParameterAnnotations.UseRunnerDelegate(ChromeJUnit4RunnerDelegate.class)
public class ThemeSettingsFragmentTest extends DummyUiActivityTestCase { public class ThemeSettingsFragmentTest extends DummyUiActivityTestCase {
......
...@@ -15,7 +15,6 @@ import org.junit.runner.RunWith; ...@@ -15,7 +15,6 @@ import org.junit.runner.RunWith;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.chromium.base.test.BaseRobolectricTestRunner; import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.chrome.browser.flags.CachedFeatureFlags;
import org.chromium.chrome.browser.preferences.SharedPreferencesManager; import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
/** /**
...@@ -26,14 +25,14 @@ import org.chromium.chrome.browser.preferences.SharedPreferencesManager; ...@@ -26,14 +25,14 @@ import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
public class GlobalNightModeStateProviderHolderTest { public class GlobalNightModeStateProviderHolderTest {
@After @After
public void tearDown() { public void tearDown() {
CachedFeatureFlags.setNightModeAvailableForTesting(null);
GlobalNightModeStateProviderHolder.resetInstanceForTesting(); GlobalNightModeStateProviderHolder.resetInstanceForTesting();
NightModeUtils.setNightModeSupportedForTesting(null);
SharedPreferencesManager.getInstance().removeKey(UI_THEME_SETTING); SharedPreferencesManager.getInstance().removeKey(UI_THEME_SETTING);
} }
@Test @Test
public void testNightModeNotAvailable() { public void testNightModeNotAvailable() {
CachedFeatureFlags.setNightModeAvailableForTesting(false); NightModeUtils.setNightModeSupportedForTesting(false);
// Verify that night mode is disabled. // Verify that night mode is disabled.
assertFalse(GlobalNightModeStateProviderHolder.getInstance().isInNightMode()); assertFalse(GlobalNightModeStateProviderHolder.getInstance().isInNightMode());
...@@ -47,7 +46,6 @@ public class GlobalNightModeStateProviderHolderTest { ...@@ -47,7 +46,6 @@ public class GlobalNightModeStateProviderHolderTest {
public void testNightModeAvailable() { public void testNightModeAvailable() {
// Verify that the instance is a GlobalNightModeStateController. Other tests are covered // Verify that the instance is a GlobalNightModeStateController. Other tests are covered
// in GlobalNightModeStateControllerTest.java. // in GlobalNightModeStateControllerTest.java.
CachedFeatureFlags.setNightModeAvailableForTesting(true);
assertTrue(GlobalNightModeStateProviderHolder.getInstance() assertTrue(GlobalNightModeStateProviderHolder.getInstance()
instanceof GlobalNightModeStateController); instanceof GlobalNightModeStateController);
} }
......
...@@ -97,9 +97,7 @@ const base::Feature* kFeaturesExposedToJava[] = { ...@@ -97,9 +97,7 @@ const base::Feature* kFeaturesExposedToJava[] = {
&kAllowNewIncognitoTabIntents, &kAllowNewIncognitoTabIntents,
&kAllowRemoteContextForNotifications, &kAllowRemoteContextForNotifications,
&kAndroidBlockIntentNonSafelistedHeaders, &kAndroidBlockIntentNonSafelistedHeaders,
&kAndroidNightMode,
&kAndroidNightModeCCT, &kAndroidNightModeCCT,
&kAndroidNightModeForQ,
&kAndroidNightModeTabReparenting, &kAndroidNightModeTabReparenting,
&kAndroidPayIntegrationV1, &kAndroidPayIntegrationV1,
&kAndroidPayIntegrationV2, &kAndroidPayIntegrationV2,
...@@ -273,15 +271,9 @@ const base::Feature kAndroidBlockIntentNonSafelistedHeaders{ ...@@ -273,15 +271,9 @@ const base::Feature kAndroidBlockIntentNonSafelistedHeaders{
"AndroidBlockIntentNonSafelistedHeaders", "AndroidBlockIntentNonSafelistedHeaders",
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kAndroidNightMode{"AndroidNightMode",
base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kAndroidNightModeCCT{"AndroidNightModeCCT", const base::Feature kAndroidNightModeCCT{"AndroidNightModeCCT",
base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kAndroidNightModeForQ{"AndroidNightModeForQ",
base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kAndroidNightModeTabReparenting{ const base::Feature kAndroidNightModeTabReparenting{
"AndroidNightModeTabReparenting", base::FEATURE_ENABLED_BY_DEFAULT}; "AndroidNightModeTabReparenting", base::FEATURE_ENABLED_BY_DEFAULT};
......
...@@ -16,9 +16,7 @@ extern const base::Feature kAdjustWebApkInstallationSpace; ...@@ -16,9 +16,7 @@ extern const base::Feature kAdjustWebApkInstallationSpace;
extern const base::Feature kAllowNewIncognitoTabIntents; extern const base::Feature kAllowNewIncognitoTabIntents;
extern const base::Feature kAllowRemoteContextForNotifications; extern const base::Feature kAllowRemoteContextForNotifications;
extern const base::Feature kAndroidBlockIntentNonSafelistedHeaders; extern const base::Feature kAndroidBlockIntentNonSafelistedHeaders;
extern const base::Feature kAndroidNightMode;
extern const base::Feature kAndroidNightModeCCT; extern const base::Feature kAndroidNightModeCCT;
extern const base::Feature kAndroidNightModeForQ;
extern const base::Feature kAndroidNightModeTabReparenting; extern const base::Feature kAndroidNightModeTabReparenting;
extern const base::Feature kAndroidPayIntegrationV1; extern const base::Feature kAndroidPayIntegrationV1;
extern const base::Feature kAndroidPayIntegrationV2; extern const base::Feature kAndroidPayIntegrationV2;
......
...@@ -208,9 +208,7 @@ public abstract class ChromeFeatureList { ...@@ -208,9 +208,7 @@ public abstract class ChromeFeatureList {
public static final String ADJUST_WEBAPK_INSTALLATION_SPACE = "AdjustWebApkInstallationSpace"; public static final String ADJUST_WEBAPK_INSTALLATION_SPACE = "AdjustWebApkInstallationSpace";
public static final String ANDROID_BLOCK_INTENT_NON_SAFELISTED_HEADERS = public static final String ANDROID_BLOCK_INTENT_NON_SAFELISTED_HEADERS =
"AndroidBlockIntentNonSafelistedHeaders"; "AndroidBlockIntentNonSafelistedHeaders";
public static final String ANDROID_NIGHT_MODE = "AndroidNightMode";
public static final String ANDROID_NIGHT_MODE_CCT = "AndroidNightModeCCT"; public static final String ANDROID_NIGHT_MODE_CCT = "AndroidNightModeCCT";
public static final String ANDROID_NIGHT_MODE_FOR_Q = "AndroidNightModeForQ";
public static final String ANDROID_NIGHT_MODE_TAB_REPARENTING = public static final String ANDROID_NIGHT_MODE_TAB_REPARENTING =
"AndroidNightModeTabReparenting"; "AndroidNightModeTabReparenting";
public static final String ANDROID_PAY_INTEGRATION_V1 = "AndroidPayIntegrationV1"; public static final String ANDROID_PAY_INTEGRATION_V1 = "AndroidPayIntegrationV1";
......
...@@ -332,11 +332,6 @@ public final class ChromePreferenceKeys { ...@@ -332,11 +332,6 @@ public final class ChromePreferenceKeys {
*/ */
public static final String FLAGS_CACHED_NETWORK_SERVICE_WARM_UP_ENABLED = public static final String FLAGS_CACHED_NETWORK_SERVICE_WARM_UP_ENABLED =
"network_service_warm_up_enabled"; "network_service_warm_up_enabled";
/**
* Whether or not night mode is available.
* Default value is false.
*/
public static final String FLAGS_CACHED_NIGHT_MODE_AVAILABLE = "night_mode_available";
/** /**
* Whether or not night mode is available for custom tabs. * Whether or not night mode is available for custom tabs.
* Default value is false. * Default value is false.
...@@ -738,6 +733,7 @@ public final class ChromePreferenceKeys { ...@@ -738,6 +733,7 @@ public final class ChromePreferenceKeys {
"home_page_button_force_enabled", "home_page_button_force_enabled",
"homepage_tile_enabled", "homepage_tile_enabled",
"inflate_toolbar_on_background_thread", "inflate_toolbar_on_background_thread",
"night_mode_available",
"night_mode_default_to_light", "night_mode_default_to_light",
"ntp_button_enabled", "ntp_button_enabled",
"ntp_button_variant", "ntp_button_variant",
...@@ -834,7 +830,6 @@ public final class ChromePreferenceKeys { ...@@ -834,7 +830,6 @@ public final class ChromePreferenceKeys {
FLAGS_CACHED_INTEREST_FEED_CONTENT_SUGGESTIONS, FLAGS_CACHED_INTEREST_FEED_CONTENT_SUGGESTIONS,
FLAGS_CACHED_LABELED_BOTTOM_TOOLBAR_ENABLED, FLAGS_CACHED_LABELED_BOTTOM_TOOLBAR_ENABLED,
FLAGS_CACHED_NETWORK_SERVICE_WARM_UP_ENABLED, FLAGS_CACHED_NETWORK_SERVICE_WARM_UP_ENABLED,
FLAGS_CACHED_NIGHT_MODE_AVAILABLE,
FLAGS_CACHED_NIGHT_MODE_CCT_AVAILABLE, FLAGS_CACHED_NIGHT_MODE_CCT_AVAILABLE,
FLAGS_CACHED_PRIORITIZE_BOOTSTRAP_TASKS, FLAGS_CACHED_PRIORITIZE_BOOTSTRAP_TASKS,
FLAGS_CACHED_SERVICE_MANAGER_FOR_BACKGROUND_PREFETCH, FLAGS_CACHED_SERVICE_MANAGER_FOR_BACKGROUND_PREFETCH,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment