summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2011-08-15 19:58:28 -0700
committerEric Laurent <elaurent@google.com>2011-08-16 12:31:00 -0700
commitc11c3ae4dd5d4054e5b44a7bdfe6b203bdb69976 (patch)
tree19f8654cb2cb9134fe98c75b0219863e6e6e7893 /media
parent0a2f9664737f112e7a15d8b28e053469845a5a80 (diff)
downloadframeworks_base-c11c3ae4dd5d4054e5b44a7bdfe6b203bdb69976.zip
frameworks_base-c11c3ae4dd5d4054e5b44a7bdfe6b203bdb69976.tar.gz
frameworks_base-c11c3ae4dd5d4054e5b44a7bdfe6b203bdb69976.tar.bz2
Change condition to enter silent mode.
Previously, silent mode was entered if volume was already at 0 and volume down key was pressed once. The new volume management policy specifies that silent mode is entered when volume is at last audible step and volume down key is pressed once. Pressing volume down key continuously will decrease volume until last audible step is reached, not 0. Change-Id: Ib7b530668473d6a5af1e748f445d6185afed2158
Diffstat (limited to 'media')
-rw-r--r--media/java/android/media/AudioService.java19
1 files changed, 11 insertions, 8 deletions
diff --git a/media/java/android/media/AudioService.java b/media/java/android/media/AudioService.java
index ff2e66b..179b8a4 100644
--- a/media/java/android/media/AudioService.java
+++ b/media/java/android/media/AudioService.java
@@ -1552,14 +1552,17 @@ public class AudioService extends IAudioService.Stub {
int newRingerMode = mRingerMode;
if (mRingerMode == AudioManager.RINGER_MODE_NORMAL) {
- // audible mode, at the bottom of the scale
- if ((direction == AudioManager.ADJUST_LOWER &&
- mPrevVolDirection != AudioManager.ADJUST_LOWER) &&
- ((oldIndex + 5) / 10 == 0)) {
- // "silent mode", but which one?
- newRingerMode = System.getInt(mContentResolver, System.VIBRATE_IN_SILENT, 1) == 1
- ? AudioManager.RINGER_MODE_VIBRATE
- : AudioManager.RINGER_MODE_SILENT;
+ if ((direction == AudioManager.ADJUST_LOWER) && ((oldIndex + 5) / 10 <= 1)) {
+ // enter silent mode if current index is the last audible one and not repeating a
+ // volume key down
+ if (mPrevVolDirection != AudioManager.ADJUST_LOWER) {
+ // "silent mode", but which one?
+ newRingerMode = System.getInt(mContentResolver, System.VIBRATE_IN_SILENT, 1) == 1
+ ? AudioManager.RINGER_MODE_VIBRATE
+ : AudioManager.RINGER_MODE_SILENT;
+ } else {
+ adjustVolumeIndex = false;
+ }
}
} else {
if (direction == AudioManager.ADJUST_RAISE) {