[automerge] AudioService: fix volume group setting name 2p: 205fdba74e

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/22648361

Bug: 270815307
Change-Id: Ieb8bb0060a4c56078d418c5bb69f789a4dc6f28b
This commit is contained in:
Eric Laurent
2023-04-14 14:05:11 +00:00
committed by Presubmit Automerger Backend

View File

@@ -2254,8 +2254,8 @@ public class AudioService extends IAudioService.Stub
synchronized (VolumeStreamState.class) {
mStreamStates[AudioSystem.STREAM_DTMF]
.setAllIndexes(mStreamStates[dtmfStreamAlias], caller);
mStreamStates[AudioSystem.STREAM_ACCESSIBILITY].mVolumeIndexSettingName =
System.VOLUME_SETTINGS_INT[a11yStreamAlias];
mStreamStates[AudioSystem.STREAM_ACCESSIBILITY].setSettingName(
System.VOLUME_SETTINGS_INT[a11yStreamAlias]);
mStreamStates[AudioSystem.STREAM_ACCESSIBILITY].setAllIndexes(
mStreamStates[a11yStreamAlias], caller);
}
@@ -7513,7 +7513,7 @@ public class AudioService extends IAudioService.Stub
private int mPublicStreamType = AudioSystem.STREAM_MUSIC;
private AudioAttributes mAudioAttributes = AudioProductStrategy.getDefaultAttributes();
private boolean mIsMuted = false;
private final String mSettingName;
private String mSettingName;
// No API in AudioSystem to get a device from strategy or from attributes.
// Need a valid public stream type to use current API getDeviceForStream
@@ -7842,15 +7842,19 @@ public class AudioService extends IAudioService.Stub
}
private void persistVolumeGroup(int device) {
if (mUseFixedVolume) {
// No need to persist the index if the volume group is backed up
// by a public stream type as this is redundant
if (mUseFixedVolume || mHasValidStreamType) {
return;
}
if (DEBUG_VOL) {
Log.v(TAG, "persistVolumeGroup: storing index " + getIndex(device) + " for group "
+ mAudioVolumeGroup.name()
+ ", device " + AudioSystem.getOutputDeviceName(device)
+ " and User=" + getCurrentUserId());
+ " and User=" + getCurrentUserId()
+ " mSettingName: " + mSettingName);
}
boolean success = mSettings.putSystemIntForUser(mContentResolver,
getSettingNameForDevice(device),
getIndex(device),
@@ -7913,6 +7917,14 @@ public class AudioService extends IAudioService.Stub
return mSettingName + "_" + AudioSystem.getOutputDeviceName(device);
}
void setSettingName(String settingName) {
mSettingName = settingName;
}
String getSettingName() {
return mSettingName;
}
private void dump(PrintWriter pw) {
pw.println("- VOLUME GROUP " + mAudioVolumeGroup.name() + ":");
pw.print(" Muted: ");
@@ -8037,6 +8049,9 @@ public class AudioService extends IAudioService.Stub
*/
public void setVolumeGroupState(VolumeGroupState volumeGroupState) {
mVolumeGroupState = volumeGroupState;
if (mVolumeGroupState != null) {
mVolumeGroupState.setSettingName(mVolumeIndexSettingName);
}
}
/**
* Update the minimum index that can be used without MODIFY_AUDIO_SETTINGS permission
@@ -8107,6 +8122,17 @@ public class AudioService extends IAudioService.Stub
return (mVolumeIndexSettingName != null && !mVolumeIndexSettingName.isEmpty());
}
void setSettingName(String settingName) {
mVolumeIndexSettingName = settingName;
if (mVolumeGroupState != null) {
mVolumeGroupState.setSettingName(mVolumeIndexSettingName);
}
}
String getSettingName() {
return mVolumeIndexSettingName;
}
public void readSettings() {
synchronized (mSettingsLock) {
synchronized (VolumeStreamState.class) {
@@ -8755,7 +8781,7 @@ public class AudioService extends IAudioService.Stub
if (streamState.hasValidSettingsName()) {
mSettings.putSystemIntForUser(mContentResolver,
streamState.getSettingNameForDevice(device),
(streamState.getIndex(device) + 5)/ 10,
(streamState.getIndex(device) + 5) / 10,
UserHandle.USER_CURRENT);
}
}