Merge "AbsoluteVolume change custom call to official API" am: d51c3f3a2c am: 29da6bb3e4

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

Change-Id: Ic4571d3ad540958567b3a7e9585f19ac001fe77e
This commit is contained in:
Treehugger Robot
2021-10-20 20:44:46 +00:00
committed by Automerger Merge Worker
3 changed files with 6 additions and 18 deletions

View File

@@ -5203,21 +5203,6 @@ public class AudioManager {
} }
} }
/**
* @hide
* Notifies AudioService that it is connected to an A2DP device that supports absolute volume,
* so that AudioService can send volume change events to the A2DP device, rather than handling
* them.
*/
public void avrcpSupportsAbsoluteVolume(String address, boolean support) {
final IAudioService service = getService();
try {
service.avrcpSupportsAbsoluteVolume(address, support);
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
}
/** /**
* {@hide} * {@hide}
*/ */

View File

@@ -171,8 +171,6 @@ interface IAudioService {
int getEncodedSurroundMode(int targetSdkVersion); int getEncodedSurroundMode(int targetSdkVersion);
oneway void avrcpSupportsAbsoluteVolume(String address, boolean support);
void setSpeakerphoneOn(IBinder cb, boolean on); void setSpeakerphoneOn(IBinder cb, boolean on);
boolean isSpeakerphoneOn(); boolean isSpeakerphoneOn();

View File

@@ -6136,6 +6136,11 @@ public class AudioService extends IAudioService.Stub
if (pkgName == null) { if (pkgName == null) {
pkgName = ""; pkgName = "";
} }
if (device.getType() == AudioDeviceInfo.TYPE_BLUETOOTH_A2DP) {
avrcpSupportsAbsoluteVolume(device.getAddress(),
deviceVolumeBehavior == AudioManager.DEVICE_VOLUME_BEHAVIOR_ABSOLUTE);
return;
}
int audioSystemDeviceOut = AudioDeviceInfo.convertDeviceTypeToInternalDevice( int audioSystemDeviceOut = AudioDeviceInfo.convertDeviceTypeToInternalDevice(
device.getType()); device.getType());
@@ -7792,7 +7797,7 @@ public class AudioService extends IAudioService.Stub
} }
} }
public void avrcpSupportsAbsoluteVolume(String address, boolean support) { private void avrcpSupportsAbsoluteVolume(String address, boolean support) {
// address is not used for now, but may be used when multiple a2dp devices are supported // address is not used for now, but may be used when multiple a2dp devices are supported
sVolumeLogger.log(new AudioEventLogger.StringEvent("avrcpSupportsAbsoluteVolume addr=" sVolumeLogger.log(new AudioEventLogger.StringEvent("avrcpSupportsAbsoluteVolume addr="
+ address + " support=" + support)); + address + " support=" + support));