Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e18c419f authored by menghanli's avatar menghanli
Browse files

Fix toggle display and preferen style old style and barely seen in “Vision Settings”

Root cause: Apply ThemeHelper.trySetDynamicColor would overlay the
settings style.
Solution: Create SudDynamicColorThemeSettings.SetupWizard to support
dynamicColor and settings style.

Bug: 192410829
Test: manual test
Change-Id: Ic196dfe417e7f804c68ed4ea7bc05b4716999bcf
parent dc07fe1a
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -223,6 +223,24 @@
    <!-- This theme was applied to Settings pages which are running under SUW. -->
    <style name="SubSettings.SetupWizard" parent="SudThemeGlifV3.Light" />

    <!-- This theme was applied to Settings pages which are running under SUW with DynamicColor. -->
    <style name="SudDynamicColorThemeSettings.SetupWizard" parent="SudDynamicColorThemeGlifV3.Light">
        <item name="android:textAppearanceListItem">@style/TextAppearance.PreferenceTitle.SettingsLib</item>
        <item name="android:listPreferredItemPaddingStart">24dp</item>
        <item name="android:listPreferredItemPaddingEnd">16dp</item>
        <item name="preferenceTheme">@style/PreferenceTheme.SettingsLib</item>
        <item name="android:switchStyle">@style/Switch.SettingsLib</item>
    </style>

    <!-- This theme was applied to Settings pages which are running under SUW with DynamicColor. -->
    <style name="SudDynamicColorThemeSettings.SetupWizard.DayNight" parent="SudDynamicColorThemeGlifV3.DayNight">
        <item name="android:textAppearanceListItem">@style/TextAppearance.PreferenceTitle.SettingsLib</item>
        <item name="android:listPreferredItemPaddingStart">24dp</item>
        <item name="android:listPreferredItemPaddingEnd">16dp</item>
        <item name="preferenceTheme">@style/PreferenceTheme.SettingsLib</item>
        <item name="android:switchStyle">@style/Switch.SettingsLib</item>
    </style>

    <!-- DayNight themes -->
    <style name="GlifTheme.DayNight" parent="GlifTheme.Light" />
    <style name="GlifV2Theme.DayNight" parent="GlifV2Theme.Light" />
+12 −2
Original line number Diff line number Diff line
@@ -101,12 +101,22 @@ public class AccessibilitySettingsForSetupWizardActivity extends SettingsActivit
    @Override
    protected void onCreate(Bundle savedState) {
        super.onCreate(savedState);
        setTheme(SetupWizardUtils.getTheme(this, getIntent()));
        ThemeHelper.trySetDynamicColor(this);
        applyTheme();
        tryLaunchFontSizeSettings();
        findViewById(R.id.content_parent).setFitsSystemWindows(false);
    }

    private void applyTheme() {
        if (ThemeHelper.trySetDynamicColor(this)) {
            final int appliedTheme = ThemeHelper.isSetupWizardDayNightEnabled(this)
                    ? R.style.SudDynamicColorThemeSettings_SetupWizard_DayNight
                    : R.style.SudDynamicColorThemeSettings_SetupWizard;
            setTheme(appliedTheme);
        } else {
            setTheme(SetupWizardUtils.getTheme(this, getIntent()));
        }
    }

    @VisibleForTesting
    void tryLaunchFontSizeSettings() {
        if (WizardManagerHelper.isAnySetupWizard(getIntent())
+10 −3
Original line number Diff line number Diff line
@@ -91,10 +91,17 @@ public class SettingsBaseActivity extends FragmentActivity implements CategoryHa
        // Apply SetupWizard light theme during setup flow. This is for SubSettings pages.
        final boolean isAnySetupWizard = WizardManagerHelper.isAnySetupWizard(getIntent());
        if (isAnySetupWizard && this instanceof SubSettings) {
            final int appliedTheme = ThemeHelper.isSetupWizardDayNightEnabled(this)
                    ? R.style.SubSettings_SetupWizard : R.style.SudThemeGlifV3_Light;
            int appliedTheme;
            if (ThemeHelper.trySetDynamicColor(this)) {
                appliedTheme = ThemeHelper.isSetupWizardDayNightEnabled(this)
                        ? R.style.SudDynamicColorThemeSettings_SetupWizard_DayNight
                        : R.style.SudDynamicColorThemeSettings_SetupWizard;
            } else {
                appliedTheme = ThemeHelper.isSetupWizardDayNightEnabled(this)
                        ? R.style.SubSettings_SetupWizard
                        : R.style.SudThemeGlifV3_Light;
            }
            setTheme(appliedTheme);
            ThemeHelper.trySetDynamicColor(this);
        }

        if (isToolbarEnabled() && !isAnySetupWizard) {