New feature “Text and reading options” for SetupWizard, Wallpaper, and Settings (15/n).

- Link-up between the ResetPreference and the HighTextContrastPreference.

Bug: 211503117
Test: atest HighTextContrastPreferenceControllerTest
Change-Id: I502e52f6a14243c19a707c91b0b5ab5dd163433a
This commit is contained in:
Peter_Liang
2022-02-06 23:54:05 +08:00
parent 618508c0c4
commit 696fc420f4
4 changed files with 29 additions and 3 deletions

View File

@@ -54,8 +54,7 @@
<SwitchPreference <SwitchPreference
android:key="toggle_high_text_contrast_preference" android:key="toggle_high_text_contrast_preference"
android:persistent="false" android:persistent="false"
android:title="@string/accessibility_toggle_high_text_contrast_preference_title" android:title="@string/accessibility_toggle_high_text_contrast_preference_title" />
settings:controller="com.android.settings.accessibility.HighTextContrastPreferenceController"/>
<com.android.settingslib.widget.LayoutPreference <com.android.settingslib.widget.LayoutPreference
android:key="reset" android:key="reset"

View File

@@ -22,7 +22,11 @@ import android.provider.Settings;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController; import com.android.settings.core.TogglePreferenceController;
public class HighTextContrastPreferenceController extends TogglePreferenceController { /**
* PreferenceController for displaying all text in high contrast style.
*/
public class HighTextContrastPreferenceController extends TogglePreferenceController implements
TextReadingResetController.ResetStateListener {
public HighTextContrastPreferenceController(Context context, String preferenceKey) { public HighTextContrastPreferenceController(Context context, String preferenceKey) {
super(context, preferenceKey); super(context, preferenceKey);
@@ -49,4 +53,9 @@ public class HighTextContrastPreferenceController extends TogglePreferenceContro
public int getSliceHighlightMenuRes() { public int getSliceHighlightMenuRes() {
return R.string.menu_key_accessibility; return R.string.menu_key_accessibility;
} }
@Override
public void resetState() {
setChecked(false);
}
} }

View File

@@ -43,6 +43,7 @@ public class TextReadingPreferenceFragment extends DashboardFragment {
private static final String PREVIEW_KEY = "preview"; private static final String PREVIEW_KEY = "preview";
private static final String RESET_KEY = "reset"; private static final String RESET_KEY = "reset";
private static final String BOLD_TEXT_KEY = "toggle_force_bold_text"; private static final String BOLD_TEXT_KEY = "toggle_force_bold_text";
private static final String HIGHT_TEXT_CONTRAST_KEY = "toggle_high_text_contrast_preference";
@Override @Override
protected int getPreferenceScreenResId() { protected int getPreferenceScreenResId() {
@@ -83,6 +84,10 @@ public class TextReadingPreferenceFragment extends DashboardFragment {
new FontWeightAdjustmentPreferenceController(context, BOLD_TEXT_KEY); new FontWeightAdjustmentPreferenceController(context, BOLD_TEXT_KEY);
controllers.add(fontWeightController); controllers.add(fontWeightController);
final HighTextContrastPreferenceController highTextContrastController =
new HighTextContrastPreferenceController(context, HIGHT_TEXT_CONTRAST_KEY);
controllers.add(highTextContrastController);
final List<ResetStateListener> resetStateListeners = final List<ResetStateListener> resetStateListeners =
controllers.stream().filter(c -> c instanceof ResetStateListener).map( controllers.stream().filter(c -> c instanceof ResetStateListener).map(
c -> (ResetStateListener) c).collect(Collectors.toList()); c -> (ResetStateListener) c).collect(Collectors.toList());

View File

@@ -31,6 +31,9 @@ import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
/**
* Tests for {@link HighTextContrastPreferenceController}.
*/
@RunWith(AndroidJUnit4.class) @RunWith(AndroidJUnit4.class)
public class HighTextContrastPreferenceControllerTest { public class HighTextContrastPreferenceControllerTest {
@@ -93,4 +96,14 @@ public class HighTextContrastPreferenceControllerTest {
assertThat(Settings.Secure.getInt(mContext.getContentResolver(), assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
Settings.Secure.ACCESSIBILITY_HIGH_TEXT_CONTRAST_ENABLED, UNKNOWN)).isEqualTo(OFF); Settings.Secure.ACCESSIBILITY_HIGH_TEXT_CONTRAST_ENABLED, UNKNOWN)).isEqualTo(OFF);
} }
@Test
public void resetState_shouldDisableTextContrast() {
mController.setChecked(true);
mController.resetState();
assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
Settings.Secure.ACCESSIBILITY_HIGH_TEXT_CONTRAST_ENABLED, UNKNOWN)).isEqualTo(OFF);
}
} }