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

Commit acef55d0 authored by Andy Hung's avatar Andy Hung
Browse files

Add mono audio to AccessibilitySettings

Bug: 15283594
Change-Id: If5ca14a800e1932b17ef479589beb8a5d1489b5d
parent f892e216
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -3868,6 +3868,10 @@
    <string name="accessibility_toggle_speak_password_preference_title">Speak passwords</string>
    <!-- Title for the accessibility preference for enabling/disabling large icons for mouse/trackpad pointers. [CHAR LIMIT=35] -->
    <string name="accessibility_toggle_large_pointer_icon_title">Large mouse pointer</string>
    <!-- Title for the accessibility preference for master mono. [CHAR LIMIT=35] -->
    <string name="accessibility_toggle_master_mono_title">Mono audio</string>
    <!-- Summary for the accessibility preference for master mono. [CHAR LIMIT=50] -->
    <string name="accessibility_toggle_master_mono_summary">Combine channels when playing audio</string>
    <!-- Title for accessibility preference to choose long-press delay i.e. timeout before it is detected. [CHAR LIMIT=35] -->
    <string name="accessibility_long_press_timeout_preference_title">Tap &amp; hold delay</string>
    <!-- Title for the accessibility preference to configure display color inversion. [CHAR LIMIT=NONE] -->
+6 −0
Original line number Diff line number Diff line
@@ -76,6 +76,12 @@
                android:key="toggle_large_pointer_icon"
                android:title="@string/accessibility_toggle_large_pointer_icon_title" />

        <SwitchPreference
                android:key="toggle_master_mono"
                android:title="@string/accessibility_toggle_master_mono_title"
                android:summary="@string/accessibility_toggle_master_mono_summary"
                android:persistent="false"/>

        <PreferenceScreen
                android:fragment="com.android.settings.accessibility.ToggleGlobalGesturePreferenceFragment"
                android:key="enable_global_gesture_preference_screen"
+25 −0
Original line number Diff line number Diff line
@@ -86,6 +86,8 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
            "toggle_speak_password_preference";
    private static final String TOGGLE_LARGE_POINTER_ICON =
            "toggle_large_pointer_icon";
    private static final String TOGGLE_MASTER_MONO =
            "toggle_master_mono";
    private static final String SELECT_LONG_PRESS_TIMEOUT_PREFERENCE =
            "select_long_press_timeout_preference";
    private static final String ENABLE_ACCESSIBILITY_GESTURE_PREFERENCE_SCREEN =
@@ -182,6 +184,7 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
    private SwitchPreference mToggleLockScreenRotationPreference;
    private SwitchPreference mToggleSpeakPasswordPreference;
    private SwitchPreference mToggleLargePointerIconPreference;
    private SwitchPreference mToggleMasterMonoPreference;
    private ListPreference mSelectLongPressTimeoutPreference;
    private Preference mNoServicesMessagePreference;
    private PreferenceScreen mCaptioningPreferenceScreen;
@@ -280,6 +283,9 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
        } else if (mToggleLargePointerIconPreference == preference) {
            handleToggleLargePointerIconPreferenceClick();
            return true;
        } else if (mToggleMasterMonoPreference == preference) {
            handleToggleMasterMonoPreferenceClick();
            return true;
        } else if (mGlobalGesturePreferenceScreen == preference) {
            handleToggleEnableAccessibilityGesturePreferenceClick();
            return true;
@@ -321,6 +327,11 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
                mToggleLargePointerIconPreference.isChecked() ? 1 : 0);
    }

    private void handleToggleMasterMonoPreferenceClick() {
        Settings.System.putIntForUser(getContentResolver(), Settings.System.MASTER_MONO,
                mToggleMasterMonoPreference.isChecked() ? 1 : 0, UserHandle.USER_CURRENT);
    }

    private void handleToggleEnableAccessibilityGesturePreferenceClick() {
        Bundle extras = mGlobalGesturePreferenceScreen.getExtras();
        extras.putString(EXTRA_TITLE, getString(
@@ -378,6 +389,10 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
        mToggleLargePointerIconPreference =
                (SwitchPreference) findPreference(TOGGLE_LARGE_POINTER_ICON);

        // Master Mono
        mToggleMasterMonoPreference =
                (SwitchPreference) findPreference(TOGGLE_MASTER_MONO);

        // Long press timeout.
        mSelectLongPressTimeoutPreference =
                (ListPreference) findPreference(SELECT_LONG_PRESS_TIMEOUT_PREFERENCE);
@@ -571,6 +586,9 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
        mToggleLargePointerIconPreference.setChecked(Settings.Secure.getInt(getContentResolver(),
                Settings.Secure.ACCESSIBILITY_LARGE_POINTER_ICON, 0) != 0);

        // Master mono
        updateMasterMono();

        // Long press timeout.
        final int longPressTimeout = Settings.Secure.getInt(getContentResolver(),
                Settings.Secure.LONG_PRESS_TIMEOUT, mLongPressTimeoutDefault);
@@ -640,6 +658,13 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
        }
    }

    private void updateMasterMono() {
        final boolean masterMono = Settings.System.getIntForUser(
                getContentResolver(), Settings.System.MASTER_MONO,
                0 /* default */, UserHandle.USER_CURRENT) == 1;
        mToggleMasterMonoPreference.setChecked(masterMono);
    }

    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
            new BaseSearchIndexProvider() {
        @Override