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

Commit b556a99b authored by PETER LIANG's avatar PETER LIANG Committed by Automerger Merge Worker
Browse files

Merge "Fix that the toggle of High contrast text doesn't change to turn off...

Merge "Fix that the toggle of High contrast text doesn't change to turn off after tapping the Reset button." into tm-dev am: 9f9c2593

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17183508

Change-Id: I8f7757de919f2a7f4c0333f447af66767cbba53f
parents 8f346be1 9f9c2593
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -19,6 +19,9 @@ package com.android.settings.accessibility;
import android.content.Context;
import android.provider.Settings;

import androidx.preference.PreferenceScreen;
import androidx.preference.SwitchPreference;

import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;

@@ -27,6 +30,7 @@ import com.android.settings.core.TogglePreferenceController;
 */
public class HighTextContrastPreferenceController extends TogglePreferenceController implements
        TextReadingResetController.ResetStateListener {
    private SwitchPreference mSwitchPreference;

    public HighTextContrastPreferenceController(Context context, String preferenceKey) {
        super(context, preferenceKey);
@@ -54,8 +58,15 @@ public class HighTextContrastPreferenceController extends TogglePreferenceContro
        return R.string.menu_key_accessibility;
    }

    @Override
    public void displayPreference(PreferenceScreen screen) {
        super.displayPreference(screen);
        mSwitchPreference = screen.findPreference(getPreferenceKey());
    }

    @Override
    public void resetState() {
        setChecked(false);
        updateState(mSwitchPreference);
    }
}
+16 −1
Original line number Diff line number Diff line
@@ -19,8 +19,11 @@ package com.android.settings.accessibility;
import static com.google.common.truth.Truth.assertThat;

import android.content.Context;
import android.os.Looper;
import android.provider.Settings;

import androidx.preference.PreferenceManager;
import androidx.preference.PreferenceScreen;
import androidx.preference.SwitchPreference;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -37,6 +40,7 @@ import org.junit.runner.RunWith;
@RunWith(AndroidJUnit4.class)
public class HighTextContrastPreferenceControllerTest {

    private static final String PREF_KEY = "text_contrast";
    private static final int ON = 1;
    private static final int OFF = 0;
    private static final int UNKNOWN = -1;
@@ -44,12 +48,20 @@ public class HighTextContrastPreferenceControllerTest {
    private Context mContext;
    private SwitchPreference mPreference;
    private HighTextContrastPreferenceController mController;
    private PreferenceScreen mScreen;

    @Before
    public void setUp() {
        mContext = ApplicationProvider.getApplicationContext();
        if (Looper.myLooper() == null) {
            Looper.prepare();
        }
        final PreferenceManager preferenceManager = new PreferenceManager(mContext);
        mScreen = preferenceManager.createPreferenceScreen(mContext);
        mPreference = new SwitchPreference(mContext);
        mController = new HighTextContrastPreferenceController(mContext, "text_contrast");
        mPreference.setKey(PREF_KEY);
        mScreen.addPreference(mPreference);
        mController = new HighTextContrastPreferenceController(mContext, PREF_KEY);
    }

    @Test
@@ -99,10 +111,13 @@ public class HighTextContrastPreferenceControllerTest {

    @Test
    public void resetState_shouldDisableTextContrast() {
        mController.displayPreference(mScreen);
        mController.setChecked(true);
        mPreference.setChecked(true);

        mController.resetState();

        assertThat(mPreference.isChecked()).isFalse();
        assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
                Settings.Secure.ACCESSIBILITY_HIGH_TEXT_CONTRAST_ENABLED, UNKNOWN)).isEqualTo(OFF);
    }