Loading android/app/src/com/android/bluetooth/btservice/ActiveDeviceManager.java +4 −4 Original line number Diff line number Diff line Loading @@ -20,13 +20,13 @@ import android.annotation.RequiresPermission; import android.annotation.SuppressLint; import android.bluetooth.BluetoothA2dp; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothAudioPolicy; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothHapClient; import android.bluetooth.BluetoothHeadset; import android.bluetooth.BluetoothHearingAid; import android.bluetooth.BluetoothLeAudio; import android.bluetooth.BluetoothProfile; import android.bluetooth.BluetoothSinkAudioPolicy; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; Loading Loading @@ -706,9 +706,9 @@ class ActiveDeviceManager { if (headsetService == null) { return; } BluetoothAudioPolicy audioPolicy = headsetService.getHfpCallAudioPolicy(device); if (audioPolicy == null || audioPolicy.getConnectingTimePolicy() != BluetoothAudioPolicy.POLICY_NOT_ALLOWED) { BluetoothSinkAudioPolicy audioPolicy = headsetService.getHfpCallAudioPolicy(device); if (audioPolicy == null || audioPolicy.getActiveDevicePolicyAfterConnection() != BluetoothSinkAudioPolicy.POLICY_NOT_ALLOWED) { if (!headsetService.setActiveDevice(device)) { return; } Loading android/app/src/com/android/bluetooth/btservice/AdapterService.java +32 −29 Original line number Diff line number Diff line Loading @@ -45,7 +45,6 @@ import android.bluetooth.BluetoothActivityEnergyInfo; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothAdapter.ActiveDeviceProfile; import android.bluetooth.BluetoothAdapter.ActiveDeviceUse; import android.bluetooth.BluetoothAudioPolicy; import android.bluetooth.BluetoothClass; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothFrameworkInitializer; Loading @@ -54,6 +53,7 @@ import android.bluetooth.BluetoothProfile; import android.bluetooth.BluetoothProtoEnums; import android.bluetooth.BluetoothSap; import android.bluetooth.BluetoothServerSocket; import android.bluetooth.BluetoothSinkAudioPolicy; import android.bluetooth.BluetoothSocket; import android.bluetooth.BluetoothStatusCodes; import android.bluetooth.BluetoothUuid; Loading Loading @@ -4018,70 +4018,73 @@ public class AdapterService extends Service { } @Override public void getAudioPolicyRemoteSupported(BluetoothDevice device, public void isRequestAudioPolicyAsSinkSupported(BluetoothDevice device, AttributionSource source, SynchronousResultReceiver receiver) { try { receiver.send(getAudioPolicyRemoteSupported(device, source)); receiver.send(isRequestAudioPolicyAsSinkSupported(device, source)); } catch (RuntimeException e) { receiver.propagateException(e); } } private int getAudioPolicyRemoteSupported(BluetoothDevice device, private int isRequestAudioPolicyAsSinkSupported(BluetoothDevice device, AttributionSource source) { AdapterService service = getService(); if (service == null || !callerIsSystemOrActiveOrManagedUser(service, TAG, "getAudioPolicyRemoteSupported") "isRequestAudioPolicyAsSinkSupported") || !Utils.checkConnectPermissionForDataDelivery(service, source, TAG)) { return BluetoothAudioPolicy.FEATURE_UNCONFIGURED_BY_REMOTE; return BluetoothStatusCodes.FEATURE_NOT_CONFIGURED; } enforceBluetoothPrivilegedPermission(service); return service.getAudioPolicyRemoteSupported(device); return service.isRequestAudioPolicyAsSinkSupported(device); } @Override public void setAudioPolicy(BluetoothDevice device, BluetoothAudioPolicy policies, AttributionSource source, SynchronousResultReceiver receiver) { public void requestAudioPolicyAsSink(BluetoothDevice device, BluetoothSinkAudioPolicy policies, AttributionSource source, SynchronousResultReceiver receiver) { try { receiver.send(setAudioPolicy(device, policies, source)); receiver.send(requestAudioPolicyAsSink(device, policies, source)); } catch (RuntimeException e) { receiver.propagateException(e); } } private int setAudioPolicy(BluetoothDevice device, BluetoothAudioPolicy policies, AttributionSource source) { private int requestAudioPolicyAsSink(BluetoothDevice device, BluetoothSinkAudioPolicy policies, AttributionSource source) { AdapterService service = getService(); if (service == null) { return BluetoothStatusCodes.ERROR_BLUETOOTH_NOT_ENABLED; } else if (!callerIsSystemOrActiveOrManagedUser(service, TAG, "setAudioPolicy")) { } else if (!callerIsSystemOrActiveOrManagedUser(service, TAG, "requestAudioPolicyAsSink")) { return BluetoothStatusCodes.ERROR_BLUETOOTH_NOT_ALLOWED; } else if (!Utils.checkConnectPermissionForDataDelivery( service, source, TAG)) { return BluetoothStatusCodes.ERROR_MISSING_BLUETOOTH_CONNECT_PERMISSION; } enforceBluetoothPrivilegedPermission(service); return service.setAudioPolicy(device, policies); return service.requestAudioPolicyAsSink(device, policies); } @Override public void getAudioPolicy(BluetoothDevice device, public void getRequestedAudioPolicyAsSink(BluetoothDevice device, AttributionSource source, SynchronousResultReceiver receiver) { try { receiver.send(getAudioPolicy(device, source)); receiver.send(getRequestedAudioPolicyAsSink(device, source)); } catch (RuntimeException e) { receiver.propagateException(e); } } private BluetoothAudioPolicy getAudioPolicy(BluetoothDevice device, private BluetoothSinkAudioPolicy getRequestedAudioPolicyAsSink(BluetoothDevice device, AttributionSource source) { AdapterService service = getService(); if (service == null || !callerIsSystemOrActiveOrManagedUser(service, TAG, "getAudioPolicy") || !callerIsSystemOrActiveOrManagedUser(service, TAG, "getRequestedAudioPolicyAsSink") || !Utils.checkConnectPermissionForDataDelivery(service, source, TAG)) { return null; } enforceBluetoothPrivilegedPermission(service); return service.getAudioPolicy(device); return service.getRequestedAudioPolicyAsSink(device); } @Override Loading Loading @@ -6329,12 +6332,12 @@ public class AdapterService extends Service { * @param device Bluetooth device to be checked for audio policy support * @return int status of the remote support for audio policy feature */ public int getAudioPolicyRemoteSupported(BluetoothDevice device) { public int isRequestAudioPolicyAsSinkSupported(BluetoothDevice device) { if (mHeadsetClientService != null) { return mHeadsetClientService.getAudioPolicyRemoteSupported(device); } else { Log.e(TAG, "No audio transport connected"); return BluetoothAudioPolicy.FEATURE_UNCONFIGURED_BY_REMOTE; return BluetoothStatusCodes.FEATURE_NOT_CONFIGURED; } } Loading @@ -6342,19 +6345,19 @@ public class AdapterService extends Service { * Set audio policy for remote device * * @param device Bluetooth device to be set policy for * @return int result status for setAudioPolicy API * @return int result status for requestAudioPolicyAsSink API */ public int setAudioPolicy(BluetoothDevice device, BluetoothAudioPolicy policies) { public int requestAudioPolicyAsSink(BluetoothDevice device, BluetoothSinkAudioPolicy policies) { DeviceProperties deviceProp = mRemoteDevices.getDeviceProperties(device); if (deviceProp == null) { return BluetoothStatusCodes.ERROR_DEVICE_NOT_BONDED; } if (mHeadsetClientService != null) { if (getAudioPolicyRemoteSupported(device) != BluetoothAudioPolicy.FEATURE_SUPPORTED_BY_REMOTE) { Log.w(TAG, "Audio Policy feature not supported by AG"); return BluetoothStatusCodes.FEATURE_NOT_SUPPORTED; if (isRequestAudioPolicyAsSinkSupported(device) != BluetoothStatusCodes.FEATURE_SUPPORTED) { throw new UnsupportedOperationException( "Request Audio Policy As Sink not supported"); } deviceProp.setHfAudioPolicyForRemoteAg(policies); mHeadsetClientService.setAudioPolicy(device, policies); Loading @@ -6369,9 +6372,9 @@ public class AdapterService extends Service { * Get audio policy for remote device * * @param device Bluetooth device to be set policy for * @return {@link BluetoothAudioPolicy} policy stored for the device * @return {@link BluetoothSinkAudioPolicy} policy stored for the device */ public BluetoothAudioPolicy getAudioPolicy(BluetoothDevice device) { public BluetoothSinkAudioPolicy getRequestedAudioPolicyAsSink(BluetoothDevice device) { DeviceProperties deviceProp = mRemoteDevices.getDeviceProperties(device); if (deviceProp == null) { return null; Loading android/app/src/com/android/bluetooth/btservice/RemoteDevices.java +4 −4 Original line number Diff line number Diff line Loading @@ -23,13 +23,13 @@ import android.annotation.RequiresPermission; import android.app.admin.SecurityLog; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothAssignedNumbers; import android.bluetooth.BluetoothAudioPolicy; import android.bluetooth.BluetoothClass; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothHeadset; import android.bluetooth.BluetoothHeadsetClient; import android.bluetooth.BluetoothManager; import android.bluetooth.BluetoothProfile; import android.bluetooth.BluetoothSinkAudioPolicy; import android.bluetooth.IBluetoothConnectionCallback; import android.content.BroadcastReceiver; import android.content.Context; Loading Loading @@ -321,7 +321,7 @@ final class RemoteDevices { @VisibleForTesting int mBondState; @VisibleForTesting int mDeviceType; @VisibleForTesting ParcelUuid[] mUuids; private BluetoothAudioPolicy mAudioPolicy; private BluetoothSinkAudioPolicy mAudioPolicy; DeviceProperties() { mBondState = BluetoothDevice.BOND_NONE; Loading Loading @@ -666,11 +666,11 @@ final class RemoteDevices { } } public void setHfAudioPolicyForRemoteAg(BluetoothAudioPolicy policies) { public void setHfAudioPolicyForRemoteAg(BluetoothSinkAudioPolicy policies) { mAudioPolicy = policies; } public BluetoothAudioPolicy getHfAudioPolicyForRemoteAg() { public BluetoothSinkAudioPolicy getHfAudioPolicyForRemoteAg() { return mAudioPolicy; } } Loading android/app/src/com/android/bluetooth/btservice/storage/AudioPolicyEntity.java +4 −4 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ package com.android.bluetooth.btservice.storage; import android.bluetooth.BluetoothAudioPolicy; import android.bluetooth.BluetoothSinkAudioPolicy; import androidx.room.ColumnInfo; import androidx.room.Entity; Loading @@ -31,9 +31,9 @@ class AudioPolicyEntity { public int inBandRingtoneAudioPolicy; AudioPolicyEntity() { callEstablishAudioPolicy = BluetoothAudioPolicy.POLICY_UNCONFIGURED; connectingTimeAudioPolicy = BluetoothAudioPolicy.POLICY_UNCONFIGURED; inBandRingtoneAudioPolicy = BluetoothAudioPolicy.POLICY_UNCONFIGURED; callEstablishAudioPolicy = BluetoothSinkAudioPolicy.POLICY_UNCONFIGURED; connectingTimeAudioPolicy = BluetoothSinkAudioPolicy.POLICY_UNCONFIGURED; inBandRingtoneAudioPolicy = BluetoothSinkAudioPolicy.POLICY_UNCONFIGURED; } AudioPolicyEntity(int callEstablishAudioPolicy, int connectingTimeAudioPolicy, Loading android/app/src/com/android/bluetooth/btservice/storage/DatabaseManager.java +7 −6 Original line number Diff line number Diff line Loading @@ -20,10 +20,10 @@ import android.bluetooth.BluetoothA2dp; import android.bluetooth.BluetoothA2dp.OptionalCodecsPreferenceStatus; import android.bluetooth.BluetoothA2dp.OptionalCodecsSupportStatus; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothAudioPolicy; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothProfile; import android.bluetooth.BluetoothProtoEnums; import android.bluetooth.BluetoothSinkAudioPolicy; import android.bluetooth.BluetoothStatusCodes; import android.content.BroadcastReceiver; import android.content.ContentResolver; Loading Loading @@ -290,7 +290,8 @@ public class DatabaseManager { * Set audio policy metadata to database with requested key */ @VisibleForTesting public boolean setAudioPolicyMetadata(BluetoothDevice device, BluetoothAudioPolicy policies) { public boolean setAudioPolicyMetadata(BluetoothDevice device, BluetoothSinkAudioPolicy policies) { synchronized (mMetadataCache) { if (device == null) { Log.e(TAG, "setAudioPolicyMetadata: device is null"); Loading @@ -304,7 +305,7 @@ public class DatabaseManager { Metadata data = mMetadataCache.get(address); AudioPolicyEntity entity = data.audioPolicyMetadata; entity.callEstablishAudioPolicy = policies.getCallEstablishPolicy(); entity.connectingTimeAudioPolicy = policies.getConnectingTimePolicy(); entity.connectingTimeAudioPolicy = policies.getActiveDevicePolicyAfterConnection(); entity.inBandRingtoneAudioPolicy = policies.getInBandRingtonePolicy(); updateDatabase(data); Loading @@ -316,7 +317,7 @@ public class DatabaseManager { * Get audio policy metadata from database with requested key */ @VisibleForTesting public BluetoothAudioPolicy getAudioPolicyMetadata(BluetoothDevice device) { public BluetoothSinkAudioPolicy getAudioPolicyMetadata(BluetoothDevice device) { synchronized (mMetadataCache) { if (device == null) { Log.e(TAG, "getAudioPolicyMetadata: device is null"); Loading @@ -331,9 +332,9 @@ public class DatabaseManager { } AudioPolicyEntity entity = mMetadataCache.get(address).audioPolicyMetadata; return new BluetoothAudioPolicy.Builder() return new BluetoothSinkAudioPolicy.Builder() .setCallEstablishPolicy(entity.callEstablishAudioPolicy) .setConnectingTimePolicy(entity.connectingTimeAudioPolicy) .setActiveDevicePolicyAfterConnection(entity.connectingTimeAudioPolicy) .setInBandRingtonePolicy(entity.inBandRingtoneAudioPolicy) .build(); } Loading Loading
android/app/src/com/android/bluetooth/btservice/ActiveDeviceManager.java +4 −4 Original line number Diff line number Diff line Loading @@ -20,13 +20,13 @@ import android.annotation.RequiresPermission; import android.annotation.SuppressLint; import android.bluetooth.BluetoothA2dp; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothAudioPolicy; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothHapClient; import android.bluetooth.BluetoothHeadset; import android.bluetooth.BluetoothHearingAid; import android.bluetooth.BluetoothLeAudio; import android.bluetooth.BluetoothProfile; import android.bluetooth.BluetoothSinkAudioPolicy; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; Loading Loading @@ -706,9 +706,9 @@ class ActiveDeviceManager { if (headsetService == null) { return; } BluetoothAudioPolicy audioPolicy = headsetService.getHfpCallAudioPolicy(device); if (audioPolicy == null || audioPolicy.getConnectingTimePolicy() != BluetoothAudioPolicy.POLICY_NOT_ALLOWED) { BluetoothSinkAudioPolicy audioPolicy = headsetService.getHfpCallAudioPolicy(device); if (audioPolicy == null || audioPolicy.getActiveDevicePolicyAfterConnection() != BluetoothSinkAudioPolicy.POLICY_NOT_ALLOWED) { if (!headsetService.setActiveDevice(device)) { return; } Loading
android/app/src/com/android/bluetooth/btservice/AdapterService.java +32 −29 Original line number Diff line number Diff line Loading @@ -45,7 +45,6 @@ import android.bluetooth.BluetoothActivityEnergyInfo; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothAdapter.ActiveDeviceProfile; import android.bluetooth.BluetoothAdapter.ActiveDeviceUse; import android.bluetooth.BluetoothAudioPolicy; import android.bluetooth.BluetoothClass; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothFrameworkInitializer; Loading @@ -54,6 +53,7 @@ import android.bluetooth.BluetoothProfile; import android.bluetooth.BluetoothProtoEnums; import android.bluetooth.BluetoothSap; import android.bluetooth.BluetoothServerSocket; import android.bluetooth.BluetoothSinkAudioPolicy; import android.bluetooth.BluetoothSocket; import android.bluetooth.BluetoothStatusCodes; import android.bluetooth.BluetoothUuid; Loading Loading @@ -4018,70 +4018,73 @@ public class AdapterService extends Service { } @Override public void getAudioPolicyRemoteSupported(BluetoothDevice device, public void isRequestAudioPolicyAsSinkSupported(BluetoothDevice device, AttributionSource source, SynchronousResultReceiver receiver) { try { receiver.send(getAudioPolicyRemoteSupported(device, source)); receiver.send(isRequestAudioPolicyAsSinkSupported(device, source)); } catch (RuntimeException e) { receiver.propagateException(e); } } private int getAudioPolicyRemoteSupported(BluetoothDevice device, private int isRequestAudioPolicyAsSinkSupported(BluetoothDevice device, AttributionSource source) { AdapterService service = getService(); if (service == null || !callerIsSystemOrActiveOrManagedUser(service, TAG, "getAudioPolicyRemoteSupported") "isRequestAudioPolicyAsSinkSupported") || !Utils.checkConnectPermissionForDataDelivery(service, source, TAG)) { return BluetoothAudioPolicy.FEATURE_UNCONFIGURED_BY_REMOTE; return BluetoothStatusCodes.FEATURE_NOT_CONFIGURED; } enforceBluetoothPrivilegedPermission(service); return service.getAudioPolicyRemoteSupported(device); return service.isRequestAudioPolicyAsSinkSupported(device); } @Override public void setAudioPolicy(BluetoothDevice device, BluetoothAudioPolicy policies, AttributionSource source, SynchronousResultReceiver receiver) { public void requestAudioPolicyAsSink(BluetoothDevice device, BluetoothSinkAudioPolicy policies, AttributionSource source, SynchronousResultReceiver receiver) { try { receiver.send(setAudioPolicy(device, policies, source)); receiver.send(requestAudioPolicyAsSink(device, policies, source)); } catch (RuntimeException e) { receiver.propagateException(e); } } private int setAudioPolicy(BluetoothDevice device, BluetoothAudioPolicy policies, AttributionSource source) { private int requestAudioPolicyAsSink(BluetoothDevice device, BluetoothSinkAudioPolicy policies, AttributionSource source) { AdapterService service = getService(); if (service == null) { return BluetoothStatusCodes.ERROR_BLUETOOTH_NOT_ENABLED; } else if (!callerIsSystemOrActiveOrManagedUser(service, TAG, "setAudioPolicy")) { } else if (!callerIsSystemOrActiveOrManagedUser(service, TAG, "requestAudioPolicyAsSink")) { return BluetoothStatusCodes.ERROR_BLUETOOTH_NOT_ALLOWED; } else if (!Utils.checkConnectPermissionForDataDelivery( service, source, TAG)) { return BluetoothStatusCodes.ERROR_MISSING_BLUETOOTH_CONNECT_PERMISSION; } enforceBluetoothPrivilegedPermission(service); return service.setAudioPolicy(device, policies); return service.requestAudioPolicyAsSink(device, policies); } @Override public void getAudioPolicy(BluetoothDevice device, public void getRequestedAudioPolicyAsSink(BluetoothDevice device, AttributionSource source, SynchronousResultReceiver receiver) { try { receiver.send(getAudioPolicy(device, source)); receiver.send(getRequestedAudioPolicyAsSink(device, source)); } catch (RuntimeException e) { receiver.propagateException(e); } } private BluetoothAudioPolicy getAudioPolicy(BluetoothDevice device, private BluetoothSinkAudioPolicy getRequestedAudioPolicyAsSink(BluetoothDevice device, AttributionSource source) { AdapterService service = getService(); if (service == null || !callerIsSystemOrActiveOrManagedUser(service, TAG, "getAudioPolicy") || !callerIsSystemOrActiveOrManagedUser(service, TAG, "getRequestedAudioPolicyAsSink") || !Utils.checkConnectPermissionForDataDelivery(service, source, TAG)) { return null; } enforceBluetoothPrivilegedPermission(service); return service.getAudioPolicy(device); return service.getRequestedAudioPolicyAsSink(device); } @Override Loading Loading @@ -6329,12 +6332,12 @@ public class AdapterService extends Service { * @param device Bluetooth device to be checked for audio policy support * @return int status of the remote support for audio policy feature */ public int getAudioPolicyRemoteSupported(BluetoothDevice device) { public int isRequestAudioPolicyAsSinkSupported(BluetoothDevice device) { if (mHeadsetClientService != null) { return mHeadsetClientService.getAudioPolicyRemoteSupported(device); } else { Log.e(TAG, "No audio transport connected"); return BluetoothAudioPolicy.FEATURE_UNCONFIGURED_BY_REMOTE; return BluetoothStatusCodes.FEATURE_NOT_CONFIGURED; } } Loading @@ -6342,19 +6345,19 @@ public class AdapterService extends Service { * Set audio policy for remote device * * @param device Bluetooth device to be set policy for * @return int result status for setAudioPolicy API * @return int result status for requestAudioPolicyAsSink API */ public int setAudioPolicy(BluetoothDevice device, BluetoothAudioPolicy policies) { public int requestAudioPolicyAsSink(BluetoothDevice device, BluetoothSinkAudioPolicy policies) { DeviceProperties deviceProp = mRemoteDevices.getDeviceProperties(device); if (deviceProp == null) { return BluetoothStatusCodes.ERROR_DEVICE_NOT_BONDED; } if (mHeadsetClientService != null) { if (getAudioPolicyRemoteSupported(device) != BluetoothAudioPolicy.FEATURE_SUPPORTED_BY_REMOTE) { Log.w(TAG, "Audio Policy feature not supported by AG"); return BluetoothStatusCodes.FEATURE_NOT_SUPPORTED; if (isRequestAudioPolicyAsSinkSupported(device) != BluetoothStatusCodes.FEATURE_SUPPORTED) { throw new UnsupportedOperationException( "Request Audio Policy As Sink not supported"); } deviceProp.setHfAudioPolicyForRemoteAg(policies); mHeadsetClientService.setAudioPolicy(device, policies); Loading @@ -6369,9 +6372,9 @@ public class AdapterService extends Service { * Get audio policy for remote device * * @param device Bluetooth device to be set policy for * @return {@link BluetoothAudioPolicy} policy stored for the device * @return {@link BluetoothSinkAudioPolicy} policy stored for the device */ public BluetoothAudioPolicy getAudioPolicy(BluetoothDevice device) { public BluetoothSinkAudioPolicy getRequestedAudioPolicyAsSink(BluetoothDevice device) { DeviceProperties deviceProp = mRemoteDevices.getDeviceProperties(device); if (deviceProp == null) { return null; Loading
android/app/src/com/android/bluetooth/btservice/RemoteDevices.java +4 −4 Original line number Diff line number Diff line Loading @@ -23,13 +23,13 @@ import android.annotation.RequiresPermission; import android.app.admin.SecurityLog; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothAssignedNumbers; import android.bluetooth.BluetoothAudioPolicy; import android.bluetooth.BluetoothClass; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothHeadset; import android.bluetooth.BluetoothHeadsetClient; import android.bluetooth.BluetoothManager; import android.bluetooth.BluetoothProfile; import android.bluetooth.BluetoothSinkAudioPolicy; import android.bluetooth.IBluetoothConnectionCallback; import android.content.BroadcastReceiver; import android.content.Context; Loading Loading @@ -321,7 +321,7 @@ final class RemoteDevices { @VisibleForTesting int mBondState; @VisibleForTesting int mDeviceType; @VisibleForTesting ParcelUuid[] mUuids; private BluetoothAudioPolicy mAudioPolicy; private BluetoothSinkAudioPolicy mAudioPolicy; DeviceProperties() { mBondState = BluetoothDevice.BOND_NONE; Loading Loading @@ -666,11 +666,11 @@ final class RemoteDevices { } } public void setHfAudioPolicyForRemoteAg(BluetoothAudioPolicy policies) { public void setHfAudioPolicyForRemoteAg(BluetoothSinkAudioPolicy policies) { mAudioPolicy = policies; } public BluetoothAudioPolicy getHfAudioPolicyForRemoteAg() { public BluetoothSinkAudioPolicy getHfAudioPolicyForRemoteAg() { return mAudioPolicy; } } Loading
android/app/src/com/android/bluetooth/btservice/storage/AudioPolicyEntity.java +4 −4 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ package com.android.bluetooth.btservice.storage; import android.bluetooth.BluetoothAudioPolicy; import android.bluetooth.BluetoothSinkAudioPolicy; import androidx.room.ColumnInfo; import androidx.room.Entity; Loading @@ -31,9 +31,9 @@ class AudioPolicyEntity { public int inBandRingtoneAudioPolicy; AudioPolicyEntity() { callEstablishAudioPolicy = BluetoothAudioPolicy.POLICY_UNCONFIGURED; connectingTimeAudioPolicy = BluetoothAudioPolicy.POLICY_UNCONFIGURED; inBandRingtoneAudioPolicy = BluetoothAudioPolicy.POLICY_UNCONFIGURED; callEstablishAudioPolicy = BluetoothSinkAudioPolicy.POLICY_UNCONFIGURED; connectingTimeAudioPolicy = BluetoothSinkAudioPolicy.POLICY_UNCONFIGURED; inBandRingtoneAudioPolicy = BluetoothSinkAudioPolicy.POLICY_UNCONFIGURED; } AudioPolicyEntity(int callEstablishAudioPolicy, int connectingTimeAudioPolicy, Loading
android/app/src/com/android/bluetooth/btservice/storage/DatabaseManager.java +7 −6 Original line number Diff line number Diff line Loading @@ -20,10 +20,10 @@ import android.bluetooth.BluetoothA2dp; import android.bluetooth.BluetoothA2dp.OptionalCodecsPreferenceStatus; import android.bluetooth.BluetoothA2dp.OptionalCodecsSupportStatus; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothAudioPolicy; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothProfile; import android.bluetooth.BluetoothProtoEnums; import android.bluetooth.BluetoothSinkAudioPolicy; import android.bluetooth.BluetoothStatusCodes; import android.content.BroadcastReceiver; import android.content.ContentResolver; Loading Loading @@ -290,7 +290,8 @@ public class DatabaseManager { * Set audio policy metadata to database with requested key */ @VisibleForTesting public boolean setAudioPolicyMetadata(BluetoothDevice device, BluetoothAudioPolicy policies) { public boolean setAudioPolicyMetadata(BluetoothDevice device, BluetoothSinkAudioPolicy policies) { synchronized (mMetadataCache) { if (device == null) { Log.e(TAG, "setAudioPolicyMetadata: device is null"); Loading @@ -304,7 +305,7 @@ public class DatabaseManager { Metadata data = mMetadataCache.get(address); AudioPolicyEntity entity = data.audioPolicyMetadata; entity.callEstablishAudioPolicy = policies.getCallEstablishPolicy(); entity.connectingTimeAudioPolicy = policies.getConnectingTimePolicy(); entity.connectingTimeAudioPolicy = policies.getActiveDevicePolicyAfterConnection(); entity.inBandRingtoneAudioPolicy = policies.getInBandRingtonePolicy(); updateDatabase(data); Loading @@ -316,7 +317,7 @@ public class DatabaseManager { * Get audio policy metadata from database with requested key */ @VisibleForTesting public BluetoothAudioPolicy getAudioPolicyMetadata(BluetoothDevice device) { public BluetoothSinkAudioPolicy getAudioPolicyMetadata(BluetoothDevice device) { synchronized (mMetadataCache) { if (device == null) { Log.e(TAG, "getAudioPolicyMetadata: device is null"); Loading @@ -331,9 +332,9 @@ public class DatabaseManager { } AudioPolicyEntity entity = mMetadataCache.get(address).audioPolicyMetadata; return new BluetoothAudioPolicy.Builder() return new BluetoothSinkAudioPolicy.Builder() .setCallEstablishPolicy(entity.callEstablishAudioPolicy) .setConnectingTimePolicy(entity.connectingTimeAudioPolicy) .setActiveDevicePolicyAfterConnection(entity.connectingTimeAudioPolicy) .setInBandRingtonePolicy(entity.inBandRingtoneAudioPolicy) .build(); } Loading