Merge "Expose isCISCentralSupported() and isLePeriodicAdvertisingSyncTransferSenderSupported() API" am: 29f37405b0
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1860616 Change-Id: Ife0ee6fbf4b78d62a9e2e1487d7ba6a062d3f6c9
This commit is contained in:
@@ -8648,12 +8648,14 @@ package android.bluetooth {
|
||||
method public android.bluetooth.BluetoothDevice getRemoteDevice(byte[]);
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public int getScanMode();
|
||||
method public int getState();
|
||||
method public int isCisCentralSupported();
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public boolean isDiscovering();
|
||||
method public boolean isEnabled();
|
||||
method public boolean isLe2MPhySupported();
|
||||
method public boolean isLeCodedPhySupported();
|
||||
method public boolean isLeExtendedAdvertisingSupported();
|
||||
method public boolean isLePeriodicAdvertisingSupported();
|
||||
method public int isLePeriodicAdvertisingSyncTransferSenderSupported();
|
||||
method public boolean isMultipleAdvertisementSupported();
|
||||
method public boolean isOffloadedFilteringSupported();
|
||||
method public boolean isOffloadedScanBatchingSupported();
|
||||
@@ -9506,6 +9508,7 @@ package android.bluetooth {
|
||||
field public static final int ERROR_BLUETOOTH_NOT_ALLOWED = 2; // 0x2
|
||||
field public static final int ERROR_BLUETOOTH_NOT_ENABLED = 1; // 0x1
|
||||
field public static final int ERROR_DEVICE_NOT_BONDED = 3; // 0x3
|
||||
field public static final int ERROR_FEATURE_NOT_SUPPORTED = 8; // 0x8
|
||||
field public static final int ERROR_MISSING_BLUETOOTH_CONNECT_PERMISSION = 6; // 0x6
|
||||
field public static final int ERROR_UNKNOWN = 2147483647; // 0x7fffffff
|
||||
field public static final int SUCCESS = 0; // 0x0
|
||||
|
||||
@@ -2272,6 +2272,66 @@ public final class BluetoothAdapter {
|
||||
return false;
|
||||
}
|
||||
|
||||
/** @hide */
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
@IntDef(value = {
|
||||
BluetoothStatusCodes.SUCCESS,
|
||||
BluetoothStatusCodes.ERROR_UNKNOWN,
|
||||
BluetoothStatusCodes.ERROR_BLUETOOTH_NOT_ENABLED,
|
||||
BluetoothStatusCodes.ERROR_FEATURE_NOT_SUPPORTED,
|
||||
})
|
||||
public @interface LeFeatureReturnValues {}
|
||||
|
||||
/**
|
||||
* Returns {@link BluetoothStatusCodes#SUCCESS} if LE Connected Isochronous Stream Central
|
||||
* feature is supported, returns {@link BluetoothStatusCodes#ERROR_FEATURE_NOT_SUPPORTED} if
|
||||
* the feature is not supported or an error code.
|
||||
*
|
||||
* @return whether the chipset supports the LE Connected Isochronous Stream Central feature
|
||||
*/
|
||||
@RequiresNoPermission
|
||||
public @LeFeatureReturnValues int isCisCentralSupported() {
|
||||
if (!getLeAccess()) {
|
||||
return BluetoothStatusCodes.ERROR_BLUETOOTH_NOT_ENABLED;
|
||||
}
|
||||
try {
|
||||
mServiceLock.readLock().lock();
|
||||
if (mService != null) {
|
||||
return mService.isCisCentralSupported();
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
e.rethrowFromSystemServer();
|
||||
} finally {
|
||||
mServiceLock.readLock().unlock();
|
||||
}
|
||||
return BluetoothStatusCodes.ERROR_UNKNOWN;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns {@link BluetoothStatusCodes#SUCCESS} if LE Periodic Advertising Sync Transfer Sender
|
||||
* feature is supported, returns {@link BluetoothStatusCodes#ERROR_FEATURE_NOT_SUPPORTED} if the
|
||||
* feature is not supported or an error code
|
||||
*
|
||||
* @return whether the chipset supports the LE Periodic Advertising Sync Transfer Sender feature
|
||||
*/
|
||||
@RequiresNoPermission
|
||||
public @LeFeatureReturnValues int isLePeriodicAdvertisingSyncTransferSenderSupported() {
|
||||
if (!getLeAccess()) {
|
||||
return BluetoothStatusCodes.ERROR_BLUETOOTH_NOT_ENABLED;
|
||||
}
|
||||
try {
|
||||
mServiceLock.readLock().lock();
|
||||
if (mService != null) {
|
||||
return mService.isLePeriodicAdvertisingSyncTransferSenderSupported();
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
e.rethrowFromSystemServer();
|
||||
} finally {
|
||||
mServiceLock.readLock().unlock();
|
||||
}
|
||||
return BluetoothStatusCodes.ERROR_UNKNOWN;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the maximum LE advertising data length in bytes,
|
||||
* if LE Extended Advertising feature is supported, 0 otherwise.
|
||||
|
||||
@@ -78,6 +78,11 @@ public final class BluetoothStatusCodes {
|
||||
*/
|
||||
public static final int ERROR_MISSING_BLUETOOTH_SCAN_PERMISSION = 7;
|
||||
|
||||
/**
|
||||
* Error code indicating that the feature is not supported.
|
||||
*/
|
||||
public static final int ERROR_FEATURE_NOT_SUPPORTED = 8;
|
||||
|
||||
/**
|
||||
* If another application has already requested {@link OobData} then another fetch will be
|
||||
* disallowed until the callback is removed.
|
||||
|
||||
Reference in New Issue
Block a user