summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Kasick <mike@kasick.org>2012-11-06 16:01:04 -0500
committerMike Kasick <mike@kasick.org>2012-11-06 16:09:09 -0500
commit4b732cdea2b76df6c85ecece1c0ee252417b26fe (patch)
tree5b36ee1acd8c7cb365e0591adedef6f6a0b449b8
parent9f3ee9f7c0877fcfbe90a7c176481f949194fb75 (diff)
downloadandroid_frameworks_base-4b732cdea2b76df6c85ecece1c0ee252417b26fe.tar.gz
android_frameworks_base-4b732cdea2b76df6c85ecece1c0ee252417b26fe.tar.bz2
android_frameworks_base-4b732cdea2b76df6c85ecece1c0ee252417b26fe.zip
AudioService: Don't adjust volume when vol-downing to vibrate or silent
Pressing vol-down to vibrate or silent would (previously) still adjust the stream volume, setting the last audible volume to 0, which is not allowed for voice-capable devices. Thus, the last audible volume would reset to default on reboot if on vibrate/silent or the lowest volume setting. By not adjusting volume when vol-downing to vibrate or silent on voice-capable devices, the last audible volume is always preserved across reboot.
-rw-r--r--media/java/android/media/AudioService.java4
1 files changed, 4 insertions, 0 deletions
diff --git a/media/java/android/media/AudioService.java b/media/java/android/media/AudioService.java
index a6275ec9e09..5dcec1a5ac4 100644
--- a/media/java/android/media/AudioService.java
+++ b/media/java/android/media/AudioService.java
@@ -2173,11 +2173,15 @@ public class AudioService extends IAudioService.Stub implements OnFinished {
// (step <= oldIndex < 2 * step) is equivalent to: (old UI index == 1)
if (step <= oldIndex && oldIndex < 2 * step) {
ringerMode = RINGER_MODE_VIBRATE;
+ if (mVoiceCapable)
+ adjustVolumeIndex = false;
}
} else {
// (oldIndex < step) is equivalent to (old UI index == 0)
if ((oldIndex < step) && mPrevVolDirection != AudioManager.ADJUST_LOWER) {
ringerMode = RINGER_MODE_SILENT;
+ if (mVoiceCapable)
+ adjustVolumeIndex = false;
}
}
}