diff options
| -rw-r--r-- | packages/SystemUI/res/values/strings.xml | 1 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/volume/VolumeDialogController.java | 22 |
2 files changed, 22 insertions, 1 deletions
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index bfc26e39cdcc..af1fc593cccc 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -1126,6 +1126,7 @@ <item></item> <!-- STREAM_SYSTEM_ENFORCED --> <item></item> <!-- STREAM_DTMF --> <item></item> <!-- STREAM_TTS --> + <item>Accessibility</item> <!-- STREAM_ACCESSIBILITY --> </string-array> <string name="volume_stream_muted" translatable="false">%s silent</string> diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogController.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogController.java index ec0e4cd1d7b6..bb5632b43d4a 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogController.java +++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogController.java @@ -78,6 +78,7 @@ public class VolumeDialogController { AudioSystem.STREAM_SYSTEM_ENFORCED, AudioSystem.STREAM_TTS, AudioSystem.STREAM_VOICE_CALL, + AudioSystem.STREAM_ACCESSIBILITY, }; private final HandlerThread mWorkerThread; @@ -119,7 +120,26 @@ public class VolumeDialogController { mObserver = new SettingObserver(mWorker); mObserver.init(); mReceiver.init(); - mStreamTitles = mContext.getResources().getStringArray(R.array.volume_stream_titles); + final String[] titles = + mContext.getResources().getStringArray(R.array.volume_stream_titles); + if (STREAMS.length == titles.length) { + mStreamTitles = titles; + } else if (STREAMS.length > titles.length) { + Log.e(TAG, String.format("Missing stream titles (found %d, expected %d): " + + " invalid resources for volume_stream_titles", + titles.length, STREAMS.length)); + mStreamTitles = new String[STREAMS.length]; + System.arraycopy(titles, 0, mStreamTitles, 0, titles.length); + for (int i = titles.length ; i < STREAMS.length ; i++) { + mStreamTitles[i] = ""; + } + } else { // STREAMS.length < titles.length + Log.e(TAG, String.format("Too many stream titles (found %d, expected %d): " + + " invalid resources for volume_stream_titles", + titles.length, STREAMS.length)); + mStreamTitles = new String[STREAMS.length]; + System.arraycopy(titles, 0, mStreamTitles, 0, STREAMS.length); + } mVibrator = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE); mHasVibrator = mVibrator != null && mVibrator.hasVibrator(); } |