Merge "AbsoluteVolume change custom call to official API"

This commit is contained in:
Treehugger Robot
2021-10-20 20:09:14 +00:00
committed by Gerrit Code Review
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));