From c274fb2d22da480cd48100bbfd13e19a5c0d78aa Mon Sep 17 00:00:00 2001 From: Jakub Pawlowski Date: Wed, 4 Apr 2018 10:15:12 -0700 Subject: Persist volume level on reconnections for Hearing Aid Devices in mFullVolumeDevices have volume level reset to maximum value in checkFixedVolumeDevices. Bug: 69623109 Test: change Hearing Aid volume, restart phone, verify volume persisted Change-Id: Iba134c0b3dc959c19c59f89c3d4ac02eed1e216f --- services/core/java/com/android/server/audio/AudioService.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java index 3e82c25836a8..82124636a486 100644 --- a/services/core/java/com/android/server/audio/AudioService.java +++ b/services/core/java/com/android/server/audio/AudioService.java @@ -588,7 +588,7 @@ public class AudioService extends IAudioService.Stub AudioSystem.DEVICE_OUT_HDMI_ARC | AudioSystem.DEVICE_OUT_SPDIF | AudioSystem.DEVICE_OUT_AUX_LINE; - int mFullVolumeDevices = AudioSystem.DEVICE_OUT_HEARING_AID; + int mFullVolumeDevices = 0; private final boolean mMonitorRotation; @@ -4765,6 +4765,8 @@ public class AudioService extends IAudioService.Stub index = getAbsoluteVolumeIndex((getIndex(device) + 5)/10); } else if ((device & mFullVolumeDevices) != 0) { index = (mIndexMax + 5)/10; + } else if ((device & AudioSystem.DEVICE_OUT_HEARING_AID) != 0) { + index = (mIndexMax + 5)/10; } else { index = (getIndex(device) + 5)/10; } @@ -4785,6 +4787,8 @@ public class AudioService extends IAudioService.Stub index = getAbsoluteVolumeIndex((getIndex(device) + 5)/10); } else if ((device & mFullVolumeDevices) != 0) { index = (mIndexMax + 5)/10; + } else if ((device & AudioSystem.DEVICE_OUT_HEARING_AID) != 0) { + index = (mIndexMax + 5)/10; } else { index = (mIndexMap.valueAt(i) + 5)/10; } -- cgit v1.2.3-59-g8ed1b