[Android] Dynamically detect disable option for Tab Groups

This commit is contained in:
samartnik
2021-04-23 10:08:43 -04:00
parent 3bd67d0db4
commit 5515dfb25e
3 changed files with 40 additions and 23 deletions
@@ -14,18 +14,16 @@ public abstract class BraveFeatureList {
public static final String USE_DEV_UPDATER_URL = "UseDevUpdaterUrl";
public static final String FORCE_WEB_CONTENTS_DARK_MODE = "WebContentsForceDark";
public static final String ENABLE_FORCE_DARK = "enable-force-dark";
public static final String ENABLE_FORCE_DARK_DISABLED_VALUE = "0";
public static final String ENABLE_TAB_GROUPS = "enable-tab-groups";
public static final String ENABLE_TAB_GROUPS_DISABLED_VALUE = "2";
public static final String ENABLE_TAB_GRID = "enable-tab-grid-layout";
public static final String ENABLE_TAB_GRID_DISABLED_VALUE = "8";
public static void enableFeature(String featureName, boolean enabled, String disabledValue) {
BraveFeatureListJni.get().enableFeature(featureName, enabled, disabledValue);
public static void enableFeature(
String featureName, boolean enabled, boolean fallbackToDefault) {
BraveFeatureListJni.get().enableFeature(featureName, enabled, fallbackToDefault);
}
@NativeMethods
interface Natives {
void enableFeature(String featureName, boolean enabled, String disabledValue);
void enableFeature(String featureName, boolean enabled, boolean fallbackToDefault);
}
}
@@ -69,20 +69,21 @@ public class AppearancePreferences extends BravePreferenceFragment
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
ChromeSwitchPreference hideBraveRewardsIconPref = (ChromeSwitchPreference) findPreference(PREF_HIDE_BRAVE_REWARDS_ICON);
ChromeSwitchPreference hideBraveRewardsIconPref =
(ChromeSwitchPreference) findPreference(PREF_HIDE_BRAVE_REWARDS_ICON);
if (hideBraveRewardsIconPref != null) {
SharedPreferences sharedPreferences = ContextUtils.getAppSharedPreferences();
hideBraveRewardsIconPref.setChecked(sharedPreferences.getBoolean(PREF_HIDE_BRAVE_REWARDS_ICON, false));
hideBraveRewardsIconPref.setChecked(
sharedPreferences.getBoolean(PREF_HIDE_BRAVE_REWARDS_ICON, false));
hideBraveRewardsIconPref.setOnPreferenceChangeListener(this);
}
Preference nightModeEnabled =
findPreference(PREF_BRAVE_NIGHT_MODE_ENABLED);
Preference nightModeEnabled = findPreference(PREF_BRAVE_NIGHT_MODE_ENABLED);
nightModeEnabled.setOnPreferenceChangeListener(this);
if (nightModeEnabled instanceof ChromeSwitchPreference) {
((ChromeSwitchPreference) nightModeEnabled)
.setChecked(ChromeFeatureList.isEnabled(
BraveFeatureList.FORCE_WEB_CONTENTS_DARK_MODE));
BraveFeatureList.FORCE_WEB_CONTENTS_DARK_MODE));
}
Preference enableBottomToolbar =
@@ -94,8 +95,7 @@ public class AppearancePreferences extends BravePreferenceFragment
boolean isTablet = DeviceFormFactor.isNonMultiDisplayContextOnTablet(
ContextUtils.getApplicationContext());
((ChromeSwitchPreference) enableBottomToolbar)
.setChecked(!isTablet
&& BottomToolbarConfiguration.isBottomToolbarEnabled());
.setChecked(!isTablet && BottomToolbarConfiguration.isBottomToolbarEnabled());
}
Preference enableTabGroups = findPreference(PREF_BRAVE_ENABLE_TAB_GROUPS);
@@ -130,8 +130,8 @@ public class AppearancePreferences extends BravePreferenceFragment
SharedPreferences prefs = ContextUtils.getAppSharedPreferences();
Boolean originalStatus = BottomToolbarConfiguration.isBottomToolbarEnabled();
prefs.edit()
.putBoolean(BravePreferenceKeys.BRAVE_BOTTOM_TOOLBAR_ENABLED_KEY,
!originalStatus)
.putBoolean(
BravePreferenceKeys.BRAVE_BOTTOM_TOOLBAR_ENABLED_KEY, !originalStatus)
.apply();
BraveRelaunchUtils.askForRelaunch(getActivity());
} else if (PREF_HIDE_BRAVE_REWARDS_ICON.equals(key)) {
@@ -141,14 +141,14 @@ public class AppearancePreferences extends BravePreferenceFragment
sharedPreferencesEditor.apply();
BraveRelaunchUtils.askForRelaunch(getActivity());
} else if (PREF_BRAVE_NIGHT_MODE_ENABLED.equals(key)) {
BraveFeatureList.enableFeature(BraveFeatureList.ENABLE_FORCE_DARK, (boolean) newValue,
BraveFeatureList.ENABLE_FORCE_DARK_DISABLED_VALUE);
BraveFeatureList.enableFeature(
BraveFeatureList.ENABLE_FORCE_DARK, (boolean) newValue, true);
BraveRelaunchUtils.askForRelaunch(getActivity());
} else if (PREF_BRAVE_ENABLE_TAB_GROUPS.equals(key)) {
BraveFeatureList.enableFeature(BraveFeatureList.ENABLE_TAB_GROUPS, (boolean) newValue,
BraveFeatureList.ENABLE_TAB_GROUPS_DISABLED_VALUE);
BraveFeatureList.enableFeature(BraveFeatureList.ENABLE_TAB_GRID, (boolean) newValue,
BraveFeatureList.ENABLE_TAB_GRID_DISABLED_VALUE);
BraveFeatureList.enableFeature(
BraveFeatureList.ENABLE_TAB_GROUPS, (boolean) newValue, false);
BraveFeatureList.enableFeature(
BraveFeatureList.ENABLE_TAB_GRID, (boolean) newValue, false);
SharedPreferencesManager.getInstance().writeBoolean(
BravePreferenceKeys.BRAVE_DOUBLE_RESTART, true);
BraveRelaunchUtils.askForRelaunch(getActivity());