Loading services/core/java/com/android/server/audio/AudioService.java +9 −3 Original line number Diff line number Diff line Loading @@ -3710,6 +3710,10 @@ public class AudioService extends IAudioService.Stub Objects.requireNonNull(vi); Objects.requireNonNull(ada); Objects.requireNonNull(callingPackage); AudioService.sVolumeLogger.loglogi("setDeviceVolume" + " from:" + callingPackage + " " + vi + " " + ada, TAG); if (!vi.hasStreamType()) { Log.e(TAG, "Unsupported non-stream type based VolumeInfo", new Exception()); return; Loading Loading @@ -7839,6 +7843,7 @@ public class AudioService extends IAudioService.Stub boolean hasModifyAudioSettings) { boolean changed; int oldIndex; final boolean isCurrentDevice; synchronized (mSettingsLock) { synchronized (VolumeStreamState.class) { oldIndex = getIndex(device); Loading @@ -7854,7 +7859,7 @@ public class AudioService extends IAudioService.Stub // - there is no volume index stored for this device on alias stream. // If changing volume of current device, also change volume of current // device on aliased stream final boolean isCurrentDevice = (device == getDeviceForStream(mStreamType)); isCurrentDevice = (device == getDeviceForStream(mStreamType)); final int numStreamTypes = AudioSystem.getNumStreamTypes(); for (int streamType = numStreamTypes - 1; streamType >= 0; streamType--) { final VolumeStreamState aliasStreamState = mStreamStates[streamType]; Loading Loading @@ -7894,8 +7899,9 @@ public class AudioService extends IAudioService.Stub EventLogTags.writeVolumeChanged(mStreamType, oldIndex, index, mIndexMax / 10, caller); } // fire changed intents for all streams if (index != oldIndex) { // fire changed intents for all streams, but only when the device it changed on // is the current device if ((index != oldIndex) && isCurrentDevice) { mVolumeChanged.putExtra(AudioManager.EXTRA_VOLUME_STREAM_VALUE, index); mVolumeChanged.putExtra(AudioManager.EXTRA_PREV_VOLUME_STREAM_VALUE, oldIndex); mVolumeChanged.putExtra(AudioManager.EXTRA_VOLUME_STREAM_TYPE_ALIAS, Loading Loading
services/core/java/com/android/server/audio/AudioService.java +9 −3 Original line number Diff line number Diff line Loading @@ -3710,6 +3710,10 @@ public class AudioService extends IAudioService.Stub Objects.requireNonNull(vi); Objects.requireNonNull(ada); Objects.requireNonNull(callingPackage); AudioService.sVolumeLogger.loglogi("setDeviceVolume" + " from:" + callingPackage + " " + vi + " " + ada, TAG); if (!vi.hasStreamType()) { Log.e(TAG, "Unsupported non-stream type based VolumeInfo", new Exception()); return; Loading Loading @@ -7839,6 +7843,7 @@ public class AudioService extends IAudioService.Stub boolean hasModifyAudioSettings) { boolean changed; int oldIndex; final boolean isCurrentDevice; synchronized (mSettingsLock) { synchronized (VolumeStreamState.class) { oldIndex = getIndex(device); Loading @@ -7854,7 +7859,7 @@ public class AudioService extends IAudioService.Stub // - there is no volume index stored for this device on alias stream. // If changing volume of current device, also change volume of current // device on aliased stream final boolean isCurrentDevice = (device == getDeviceForStream(mStreamType)); isCurrentDevice = (device == getDeviceForStream(mStreamType)); final int numStreamTypes = AudioSystem.getNumStreamTypes(); for (int streamType = numStreamTypes - 1; streamType >= 0; streamType--) { final VolumeStreamState aliasStreamState = mStreamStates[streamType]; Loading Loading @@ -7894,8 +7899,9 @@ public class AudioService extends IAudioService.Stub EventLogTags.writeVolumeChanged(mStreamType, oldIndex, index, mIndexMax / 10, caller); } // fire changed intents for all streams if (index != oldIndex) { // fire changed intents for all streams, but only when the device it changed on // is the current device if ((index != oldIndex) && isCurrentDevice) { mVolumeChanged.putExtra(AudioManager.EXTRA_VOLUME_STREAM_VALUE, index); mVolumeChanged.putExtra(AudioManager.EXTRA_PREV_VOLUME_STREAM_VALUE, oldIndex); mVolumeChanged.putExtra(AudioManager.EXTRA_VOLUME_STREAM_TYPE_ALIAS, Loading