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:
@@ -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"
|
||||||
|
@@ -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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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());
|
||||||
|
@@ -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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user