Fix Settings app crashes when clicked on the magnification

1. Apply SetupWizardUtils.getTheme for AOSP / Nexus phone
2. Remove Magnification controller
3. Correct the description of the Talkback and Magnification page

Bug: 202792097
Test: manual test and upload fixed demo on bug
Change-Id: I108af30e3e2530bfabfcbdae03a7139a5b4e7a63
This commit is contained in:
menghanli
2021-10-13 13:05:49 +08:00
committed by Menghan Li
parent 502f53619f
commit f9ca092d58
6 changed files with 9 additions and 18 deletions

View File

@@ -17,9 +17,6 @@
<!-- SUW related themes -->
<resources>
<!-- This theme was applied to Settings pages which are running under SUW. -->
<style name="SubSettings.SetupWizard" parent="SudThemeGlifV3" />
<!-- DayNight themes -->
<style name="GlifTheme.DayNight" parent="GlifTheme" />
<style name="GlifV2Theme.DayNight" parent="GlifV2Theme" />

View File

@@ -224,9 +224,6 @@
<item name="android:fontFamily">@*android:string/config_bodyFontFamily</item>
</style>
<!-- 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>

View File

@@ -35,12 +35,11 @@
settings:controller="com.android.settings.accessibility.ScreenSizePreferenceController" />
<Preference
android:fragment="com.android.settings.accessibility.MagnificationPreferenceFragment"
android:fragment="com.android.settings.accessibility.ToggleScreenMagnificationPreferenceFragmentForSetupWizard"
android:key="screen_magnification_preference"
android:icon="@drawable/ic_accessibility_magnification"
android:summary="@string/accessibility_preference_magnification_summary"
android:title="@string/accessibility_screen_magnification_title"
settings:controller="com.android.settings.accessibility.MagnificationPreferenceController"/>
android:title="@string/accessibility_screen_magnification_title" />
<com.android.settingslib.RestrictedPreference
android:fragment="com.android.settings.accessibility.ToggleSelectToSpeakPreferenceFragmentForSetupWizard"

View File

@@ -39,7 +39,8 @@ public class ToggleScreenMagnificationPreferenceFragmentForSetupWizard
final GlifPreferenceLayout layout = (GlifPreferenceLayout) view;
final String title = getContext().getString(
R.string.accessibility_screen_magnification_title);
final String description = getContext().getString(R.string.accelerometer_title);
final String description = getContext().getString(
R.string.accessibility_preference_magnification_summary);
final Drawable icon = getContext().getDrawable(R.drawable.ic_accessibility_visibility);
AccessibilitySetupWizardUtils.updateGlifPreferenceLayout(getContext(), layout, title,
description, icon);

View File

@@ -40,8 +40,7 @@ public class ToggleScreenReaderPreferenceFragmentForSetupWizard
final GlifPreferenceLayout layout = (GlifPreferenceLayout) view;
final String title = getArguments().getString(AccessibilitySettings.EXTRA_TITLE);
final String description = getContext().getString(
R.string.accessibility_screen_magnification_title);
final String description = getContext().getString(R.string.talkback_summary);
final Drawable icon = getContext().getDrawable(R.drawable.ic_accessibility_visibility);
AccessibilitySetupWizardUtils.updateGlifPreferenceLayout(getContext(), layout, title,
description, icon);

View File

@@ -36,6 +36,7 @@ import androidx.coordinatorlayout.widget.CoordinatorLayout;
import androidx.fragment.app.FragmentActivity;
import com.android.settings.R;
import com.android.settings.SetupWizardUtils;
import com.android.settings.SubSettings;
import com.android.settings.core.CategoryMixin.CategoryHandler;
import com.android.settingslib.core.lifecycle.HideNonSystemOverlayMixin;
@@ -91,17 +92,14 @@ 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) {
int appliedTheme;
if (ThemeHelper.trySetDynamicColor(this)) {
appliedTheme = ThemeHelper.isSetupWizardDayNightEnabled(this)
final int appliedTheme = ThemeHelper.isSetupWizardDayNightEnabled(this)
? R.style.SudDynamicColorThemeSettings_SetupWizard_DayNight
: R.style.SudDynamicColorThemeSettings_SetupWizard;
setTheme(appliedTheme);
} else {
appliedTheme = ThemeHelper.isSetupWizardDayNightEnabled(this)
? R.style.SubSettings_SetupWizard
: R.style.SudThemeGlifV3_Light;
setTheme(SetupWizardUtils.getTheme(this, getIntent()));
}
setTheme(appliedTheme);
}
if (isToolbarEnabled() && !isAnySetupWizard) {