Merge "Audio policy: setting explicit non-zero volume unmutes the stream." into mnc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
dfe8044160
@@ -726,11 +726,6 @@ public class VolumeDialog {
|
|||||||
}
|
}
|
||||||
row.slider.setProgress(newProgress);
|
row.slider.setProgress(newProgress);
|
||||||
}
|
}
|
||||||
if (mAutomute && mShowing) {
|
|
||||||
if (vlevel == 0 && !row.ss.muted && row.stream == AudioManager.STREAM_MUSIC) {
|
|
||||||
mController.setStreamMute(row.stream, true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -934,16 +929,6 @@ public class VolumeDialog {
|
|||||||
final int userLevel = getImpliedLevel(seekBar, progress);
|
final int userLevel = getImpliedLevel(seekBar, progress);
|
||||||
if (mRow.ss.level != userLevel || mRow.ss.muted && userLevel > 0) {
|
if (mRow.ss.level != userLevel || mRow.ss.muted && userLevel > 0) {
|
||||||
mRow.userAttempt = SystemClock.uptimeMillis();
|
mRow.userAttempt = SystemClock.uptimeMillis();
|
||||||
if (mAutomute) {
|
|
||||||
if (mRow.stream != AudioManager.STREAM_RING) {
|
|
||||||
if (userLevel > 0 && mRow.ss.muted) {
|
|
||||||
mController.setStreamMute(mRow.stream, false);
|
|
||||||
}
|
|
||||||
if (userLevel == 0 && mRow.ss.muteSupported && !mRow.ss.muted) {
|
|
||||||
mController.setStreamMute(mRow.stream, true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (mRow.requestedLevel != userLevel) {
|
if (mRow.requestedLevel != userLevel) {
|
||||||
mController.setStreamVolume(mRow.stream, userLevel);
|
mController.setStreamVolume(mRow.stream, userLevel);
|
||||||
mRow.requestedLevel = userLevel;
|
mRow.requestedLevel = userLevel;
|
||||||
|
|||||||
@@ -1368,10 +1368,11 @@ public class AudioService extends IAudioService.Stub {
|
|||||||
|
|
||||||
private void onSetStreamVolume(int streamType, int index, int flags, int device,
|
private void onSetStreamVolume(int streamType, int index, int flags, int device,
|
||||||
String caller) {
|
String caller) {
|
||||||
setStreamVolumeInt(mStreamVolumeAlias[streamType], index, device, false, caller);
|
final int stream = mStreamVolumeAlias[streamType];
|
||||||
|
setStreamVolumeInt(stream, index, device, false, caller);
|
||||||
// setting volume on ui sounds stream type also controls silent mode
|
// setting volume on ui sounds stream type also controls silent mode
|
||||||
if (((flags & AudioManager.FLAG_ALLOW_RINGER_MODES) != 0) ||
|
if (((flags & AudioManager.FLAG_ALLOW_RINGER_MODES) != 0) ||
|
||||||
(mStreamVolumeAlias[streamType] == getUiSoundsStreamType())) {
|
(stream == getUiSoundsStreamType())) {
|
||||||
int newRingerMode;
|
int newRingerMode;
|
||||||
if (index == 0) {
|
if (index == 0) {
|
||||||
newRingerMode = mHasVibrator ? AudioManager.RINGER_MODE_VIBRATE
|
newRingerMode = mHasVibrator ? AudioManager.RINGER_MODE_VIBRATE
|
||||||
@@ -1382,6 +1383,8 @@ public class AudioService extends IAudioService.Stub {
|
|||||||
}
|
}
|
||||||
setRingerMode(newRingerMode, TAG + ".onSetStreamVolume", false /*external*/);
|
setRingerMode(newRingerMode, TAG + ".onSetStreamVolume", false /*external*/);
|
||||||
}
|
}
|
||||||
|
// setting non-zero volume for a muted stream unmutes the stream and vice versa
|
||||||
|
mStreamStates[stream].mute(index == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @see AudioManager#setStreamVolume(int, int, int) */
|
/** @see AudioManager#setStreamVolume(int, int, int) */
|
||||||
|
|||||||
Reference in New Issue
Block a user