AudioService: Fire the mute-changed intent for all changes.
Not merely those coming from explicit mute adjustments. Change-Id: I79ad7e5800eb0602fd10d966441973800a1c318b
This commit is contained in:
@@ -1107,11 +1107,6 @@ public class AudioService extends IAudioService.Stub {
|
||||
for (int stream = 0; stream < mStreamStates.length; stream++) {
|
||||
if (streamTypeAlias == mStreamVolumeAlias[stream]) {
|
||||
mStreamStates[stream].mute(state);
|
||||
|
||||
Intent intent = new Intent(AudioManager.STREAM_MUTE_CHANGED_ACTION);
|
||||
intent.putExtra(AudioManager.EXTRA_VOLUME_STREAM_TYPE, stream);
|
||||
intent.putExtra(AudioManager.EXTRA_STREAM_VOLUME_MUTED, state);
|
||||
sendBroadcastToAll(intent);
|
||||
}
|
||||
}
|
||||
} else if ((direction == AudioManager.ADJUST_RAISE) &&
|
||||
@@ -3720,9 +3715,12 @@ public class AudioService extends IAudioService.Stub {
|
||||
}
|
||||
|
||||
public void mute(boolean state) {
|
||||
boolean changed = false;
|
||||
synchronized (VolumeStreamState.class) {
|
||||
if (state != mIsMuted) {
|
||||
changed = true;
|
||||
mIsMuted = state;
|
||||
|
||||
// Set the new mute volume. This propagates the values to
|
||||
// the audio system, otherwise the volume won't be changed
|
||||
// at the lower level.
|
||||
@@ -3734,6 +3732,13 @@ public class AudioService extends IAudioService.Stub {
|
||||
this, 0);
|
||||
}
|
||||
}
|
||||
if (changed) {
|
||||
// Stream mute changed, fire the intent.
|
||||
Intent intent = new Intent(AudioManager.STREAM_MUTE_CHANGED_ACTION);
|
||||
intent.putExtra(AudioManager.EXTRA_VOLUME_STREAM_TYPE, mStreamType);
|
||||
intent.putExtra(AudioManager.EXTRA_STREAM_VOLUME_MUTED, state);
|
||||
sendBroadcastToAll(intent);
|
||||
}
|
||||
}
|
||||
|
||||
public int getStreamType() {
|
||||
|
||||
Reference in New Issue
Block a user