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

Commit a77940d0 authored by Andy Hung's avatar Andy Hung Committed by Android (Google) Code Review
Browse files

Merge changes from topic 'update mono audio' into nyc-dev

* changes:
  Add mono audio to AccessibilitySettings
  Remove mono audio from SoundSettings
parents 1ea368b5 acef55d0
Loading
Loading
Loading
Loading
+4 −9
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] -->
@@ -5823,15 +5827,6 @@
    <!-- Sound: Title for the option managing whether or not to vibrate when ringing. [CHAR LIMIT=30] -->
    <string name="vibrate_when_ringing_title">Also vibrate for calls</string>
    <!-- Sound: Title for the option managing mono audio output. [CHAR LIMIT=30] -->
    <string name="master_mono_title">Mono playback</string>
    <!-- Sound: Mono audio: Summary for mono audio output when enabled.  [CHAR LIMIT=40] -->
    <string name="master_mono_on">Always play back audio in mono</string>
    <!-- Sound: Mono audio: Summary for mono audio output when disabled.  [CHAR LIMIT=40] -->
    <string name="master_mono_off">Always play back audio in mono</string>
    <!-- Sound: Title for the other sounds option and associated settings page. [CHAR LIMIT=30] -->
    <string name="other_sound_settings">Other sounds</string>
+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"
+0 −6
Original line number Diff line number Diff line
@@ -49,12 +49,6 @@
                android:key="vibrate_when_ringing"
                android:title="@string/vibrate_when_ringing_title" />

        <!-- Master mono -->
        <SwitchPreference
                android:key="master_mono"
                android:title="@string/master_mono_title"
                android:summaryOn="@string/master_mono_on"
                android:summaryOff="@string/master_mono_off" />

        <!-- Interruptions -->
        <com.android.settingslib.RestrictedPreference
+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
+1 −38
Original line number Diff line number Diff line
@@ -80,7 +80,6 @@ public class SoundSettings extends SettingsPreferenceFragment implements Indexab
    private static final String KEY_NOTIFICATION_RINGTONE = "notification_ringtone";
    private static final String KEY_ALARM_RINGTONE = "alarm_ringtone";
    private static final String KEY_VIBRATE_WHEN_RINGING = "vibrate_when_ringing";
    private static final String KEY_MASTER_MONO = "master_mono";
    private static final String KEY_WIFI_DISPLAY = "wifi_display";
    private static final String KEY_ZEN_MODE = "zen_mode";
    private static final String KEY_CELL_BROADCAST_SETTINGS = "cell_broadcast_settings";
@@ -111,7 +110,6 @@ public class SoundSettings extends SettingsPreferenceFragment implements Indexab
    private Preference mNotificationRingtonePreference;
    private Preference mAlarmRingtonePreference;
    private TwoStatePreference mVibrateWhenRinging;
    private TwoStatePreference mMasterMono;
    private ComponentName mSuppressor;
    private int mRingerMode = -1;

@@ -176,7 +174,6 @@ public class SoundSettings extends SettingsPreferenceFragment implements Indexab
        }
        initRingtones();
        initVibrateWhenRinging();
        initMasterMono();
        updateRingerMode();
        updateEffectsSuppressor();
    }
@@ -451,33 +448,6 @@ public class SoundSettings extends SettingsPreferenceFragment implements Indexab
                Settings.System.VIBRATE_WHEN_RINGING, 0) != 0);
    }

    // === Master mono ===

    private void initMasterMono() {
        mMasterMono =
                (TwoStatePreference) getPreferenceScreen().findPreference(KEY_MASTER_MONO);
        if (mMasterMono == null) {
            Log.i(TAG, "Preference not found: " + KEY_MASTER_MONO);
            return;
        }

        mMasterMono.setPersistent(false);
        updateMasterMono();
        mMasterMono.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
            @Override
            public boolean onPreferenceChange(Preference preference, Object newValue) {
                final boolean val = (Boolean) newValue;
                mAudioManager.setMasterMono(val);
                return true;
            }
        });
    }

    private void updateMasterMono() {
        if (mMasterMono == null) return;
        mMasterMono.setChecked(mAudioManager.isMasterMono());
    }

    // === Callbacks ===

    private final class SettingsObserver extends ContentObserver {
@@ -512,8 +482,7 @@ public class SoundSettings extends SettingsPreferenceFragment implements Indexab
        private static final int STOP_SAMPLE = 3;
        private static final int UPDATE_EFFECTS_SUPPRESSOR = 4;
        private static final int UPDATE_RINGER_MODE = 5;
        private static final int UPDATE_MASTER_MONO = 6;
        private static final int UPDATE_ALARM_RINGTONE = 7;
        private static final int UPDATE_ALARM_RINGTONE = 6;

        private H() {
            super(Looper.getMainLooper());
@@ -537,9 +506,6 @@ public class SoundSettings extends SettingsPreferenceFragment implements Indexab
                case UPDATE_RINGER_MODE:
                    updateRingerMode();
                    break;
                case UPDATE_MASTER_MONO:
                    updateMasterMono();
                    break;
                case UPDATE_ALARM_RINGTONE:
                    mAlarmRingtonePreference.setSummary((CharSequence) msg.obj);
                    break;
@@ -556,7 +522,6 @@ public class SoundSettings extends SettingsPreferenceFragment implements Indexab
                final IntentFilter filter = new IntentFilter();
                filter.addAction(NotificationManager.ACTION_EFFECTS_SUPPRESSOR_CHANGED);
                filter.addAction(AudioManager.INTERNAL_RINGER_MODE_CHANGED_ACTION);
                filter.addAction(AudioManager.MASTER_MONO_CHANGED_ACTION);
                mContext.registerReceiver(this, filter);
            } else {
                mContext.unregisterReceiver(this);
@@ -571,8 +536,6 @@ public class SoundSettings extends SettingsPreferenceFragment implements Indexab
                mHandler.sendEmptyMessage(H.UPDATE_EFFECTS_SUPPRESSOR);
            } else if (AudioManager.INTERNAL_RINGER_MODE_CHANGED_ACTION.equals(action)) {
                mHandler.sendEmptyMessage(H.UPDATE_RINGER_MODE);
            } else if (AudioManager.MASTER_MONO_CHANGED_ACTION.equals(action)) {
                mHandler.sendEmptyMessage(H.UPDATE_MASTER_MONO);
            }
        }
    }