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

Commit 696fc420 authored by Peter_Liang's avatar Peter_Liang
Browse files

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
parent 618508c0
Loading
Loading
Loading
Loading
+1 −2
Original line number Original line Diff line number Diff line
@@ -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"
+10 −1
Original line number Original line Diff line number Diff line
@@ -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);
    }
}
}
+5 −0
Original line number Original line Diff line number Diff line
@@ -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());
+13 −0
Original line number Original line Diff line number Diff line
@@ -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);
    }
}
}