Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 29f37405 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Expose isCISCentralSupported() and isLePeriodicAdvertisingSyncTransferSenderSupported() API"

parents 4084f95d 0b5f026f
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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
+60 −0
Original line number Diff line number Diff line
@@ -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.
+5 −0
Original line number Diff line number Diff line
@@ -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.