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,8 +800,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements Accessibilit
public void startNativeInitialization() {
try (TraceEvent e = TraceEvent.scoped("ChromeTabbedActivity.startNativeInitialization")) {
// This is on the critical path so don't delay.
if (CachedFeatureFlags.isNightModeAvailable()
&& ChromeFeatureList.isEnabled(
if (ChromeFeatureList.isEnabled(
ChromeFeatureList.DARKEN_WEBSITES_CHECKBOX_IN_THEMES_SETTING)) {
WebContentsDarkModeController.createInstance();
}
......
......@@ -7,7 +7,6 @@ package org.chromium.chrome.browser.flags;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
import org.chromium.base.BuildInfo;
import org.chromium.base.ContextUtils;
import org.chromium.base.FieldTrialList;
import org.chromium.base.SysUtils;
......@@ -200,7 +199,6 @@ public class CachedFeatureFlags {
* Do not add new simple boolean flags here, use {@link #cacheNativeFlags} instead.
*/
public static void cacheAdditionalNativeFlags() {
cacheNightModeAvailable();
cacheNetworkServiceWarmUpEnabled();
cacheNativeTabSwitcherUiFlags();
cacheReachedCodeProfilerTrialGroup();
......@@ -276,36 +274,6 @@ public class CachedFeatureFlags {
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
* enabled) for custom tabs.
......
......@@ -12,7 +12,6 @@ import androidx.annotation.VisibleForTesting;
import org.chromium.base.CommandLine;
import org.chromium.chrome.browser.ChromeBaseAppCompatActivity;
import org.chromium.chrome.browser.ChromeSwitches;
import org.chromium.chrome.browser.flags.CachedFeatureFlags;
import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
/**
......@@ -59,8 +58,7 @@ public class GlobalNightModeStateProviderHolder {
public static NightModeStateProvider getInstance() {
if (sInstance == null) {
if (CommandLine.getInstance().hasSwitch(ChromeSwitches.FORCE_ENABLE_NIGHT_MODE)
|| !NightModeUtils.isNightModeSupported()
|| !CachedFeatureFlags.isNightModeAvailable()) {
|| !NightModeUtils.isNightModeSupported()) {
sInstance = new DummyNightModeStateProvider();
} else {
sInstance = new GlobalNightModeStateController(SystemNightModeMonitor.getInstance(),
......
......@@ -18,7 +18,6 @@ import androidx.annotation.VisibleForTesting;
import org.chromium.base.ContextUtils;
import org.chromium.chrome.R;
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.net.spdyproxy.DataReductionProxySettings;
import org.chromium.chrome.browser.night_mode.NightModeUtils;
......@@ -196,7 +195,7 @@ public class MainSettings extends PreferenceFragmentCompat
Preference homepagePref = addPreferenceIfAbsent(PREF_HOMEPAGE);
setOnOffSummary(homepagePref, HomepageManager.isHomepageEnabled());
if (NightModeUtils.isNightModeSupported() && CachedFeatureFlags.isNightModeAvailable()) {
if (NightModeUtils.isNightModeSupported()) {
addPreferenceIfAbsent(PREF_UI_THEME);
} else {
removePreferenceIfPresent(PREF_UI_THEME);
......
......@@ -4,7 +4,6 @@
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.SharedPreferencesManager;
......@@ -18,7 +17,6 @@ public class ChromeNightModeTestUtils {
* {@link org.chromium.chrome.browser.ChromeActivity} is launched.
*/
public static void setUpNightModeBeforeChromeActivityLaunched() {
CachedFeatureFlags.setNightModeAvailableForTesting(true);
NightModeUtils.setNightModeSupportedForTesting(true);
}
......@@ -36,7 +34,6 @@ public class ChromeNightModeTestUtils {
* destroyed.
*/
public static void tearDownNightModeAfterChromeActivityDestroyed() {
CachedFeatureFlags.setNightModeAvailableForTesting(null);
NightModeUtils.setNightModeSupportedForTesting(null);
GlobalNightModeStateProviderHolder.resetInstanceForTesting();
SharedPreferencesManager.getInstance().removeKey(ChromePreferenceKeys.UI_THEME_SETTING);
......
......@@ -4,7 +4,6 @@
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.preferences.ChromePreferenceKeys.UI_THEME_DARKEN_WEBSITES_ENABLED;
import static org.chromium.chrome.browser.preferences.ChromePreferenceKeys.UI_THEME_SETTING;
......@@ -43,7 +42,6 @@ import java.util.List;
* Tests for ThemeSettingsFragment.
*/
// clang-format off
@Features.EnableFeatures(ANDROID_NIGHT_MODE)
@RunWith(ParameterizedRunner.class)
@ParameterAnnotations.UseRunnerDelegate(ChromeJUnit4RunnerDelegate.class)
public class ThemeSettingsFragmentTest extends DummyUiActivityTestCase {
......
......@@ -15,7 +15,6 @@ import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.chrome.browser.flags.CachedFeatureFlags;
import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
/**
......@@ -26,14 +25,14 @@ import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
public class GlobalNightModeStateProviderHolderTest {
@After
public void tearDown() {
CachedFeatureFlags.setNightModeAvailableForTesting(null);
GlobalNightModeStateProviderHolder.resetInstanceForTesting();
NightModeUtils.setNightModeSupportedForTesting(null);
SharedPreferencesManager.getInstance().removeKey(UI_THEME_SETTING);
}
@Test
public void testNightModeNotAvailable() {
CachedFeatureFlags.setNightModeAvailableForTesting(false);
NightModeUtils.setNightModeSupportedForTesting(false);
// Verify that night mode is disabled.
assertFalse(GlobalNightModeStateProviderHolder.getInstance().isInNightMode());
......@@ -47,7 +46,6 @@ public class GlobalNightModeStateProviderHolderTest {
public void testNightModeAvailable() {
// Verify that the instance is a GlobalNightModeStateController. Other tests are covered
// in GlobalNightModeStateControllerTest.java.
CachedFeatureFlags.setNightModeAvailableForTesting(true);
assertTrue(GlobalNightModeStateProviderHolder.getInstance()
instanceof GlobalNightModeStateController);
}
......
......@@ -97,9 +97,7 @@ const base::Feature* kFeaturesExposedToJava[] = {
&kAllowNewIncognitoTabIntents,
&kAllowRemoteContextForNotifications,
&kAndroidBlockIntentNonSafelistedHeaders,
&kAndroidNightMode,
&kAndroidNightModeCCT,
&kAndroidNightModeForQ,
&kAndroidNightModeTabReparenting,
&kAndroidPayIntegrationV1,
&kAndroidPayIntegrationV2,
......@@ -273,15 +271,9 @@ const base::Feature kAndroidBlockIntentNonSafelistedHeaders{
"AndroidBlockIntentNonSafelistedHeaders",
base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kAndroidNightMode{"AndroidNightMode",
base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kAndroidNightModeCCT{"AndroidNightModeCCT",
base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kAndroidNightModeForQ{"AndroidNightModeForQ",
base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kAndroidNightModeTabReparenting{
"AndroidNightModeTabReparenting", base::FEATURE_ENABLED_BY_DEFAULT};
......
......@@ -16,9 +16,7 @@ extern const base::Feature kAdjustWebApkInstallationSpace;
extern const base::Feature kAllowNewIncognitoTabIntents;
extern const base::Feature kAllowRemoteContextForNotifications;
extern const base::Feature kAndroidBlockIntentNonSafelistedHeaders;
extern const base::Feature kAndroidNightMode;
extern const base::Feature kAndroidNightModeCCT;
extern const base::Feature kAndroidNightModeForQ;
extern const base::Feature kAndroidNightModeTabReparenting;
extern const base::Feature kAndroidPayIntegrationV1;
extern const base::Feature kAndroidPayIntegrationV2;
......
......@@ -208,9 +208,7 @@ public abstract class ChromeFeatureList {
public static final String ADJUST_WEBAPK_INSTALLATION_SPACE = "AdjustWebApkInstallationSpace";
public static final String ANDROID_BLOCK_INTENT_NON_SAFELISTED_HEADERS =
"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_FOR_Q = "AndroidNightModeForQ";
public static final String ANDROID_NIGHT_MODE_TAB_REPARENTING =
"AndroidNightModeTabReparenting";
public static final String ANDROID_PAY_INTEGRATION_V1 = "AndroidPayIntegrationV1";
......
......@@ -332,11 +332,6 @@ public final class ChromePreferenceKeys {
*/
public static final String FLAGS_CACHED_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.
* Default value is false.
......@@ -738,6 +733,7 @@ public final class ChromePreferenceKeys {
"home_page_button_force_enabled",
"homepage_tile_enabled",
"inflate_toolbar_on_background_thread",
"night_mode_available",
"night_mode_default_to_light",
"ntp_button_enabled",
"ntp_button_variant",
......@@ -834,7 +830,6 @@ public final class ChromePreferenceKeys {
FLAGS_CACHED_INTEREST_FEED_CONTENT_SUGGESTIONS,
FLAGS_CACHED_LABELED_BOTTOM_TOOLBAR_ENABLED,
FLAGS_CACHED_NETWORK_SERVICE_WARM_UP_ENABLED,
FLAGS_CACHED_NIGHT_MODE_AVAILABLE,
FLAGS_CACHED_NIGHT_MODE_CCT_AVAILABLE,
FLAGS_CACHED_PRIORITIZE_BOOTSTRAP_TASKS,
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