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

Commit da8229a6 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Expose isCISCentralSupported() and...

Merge "Expose isCISCentralSupported() and isLePeriodicAdvertisingSyncTransferSenderSupported() API" am: 29f37405 am: 61d4e7ca am: fd2248fc am: 7b7621a4

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

Change-Id: I41fb07fbcb3d3a2c2f03ca0ae3b991b01afcec70
parents ca6a67a4 7b7621a4
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -8655,12 +8655,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();
@@ -9513,6 +9515,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.