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

Commit 464a1884 authored by Chienyuan's avatar Chienyuan
Browse files

Le Scan: Add ambient discovery mode (1/2)

Bug: 177466875
Test: manual
Change-Id: I4a5c8a0768903ef0838dcf55cf5cfba9a0a18eef
parent 22ec4e32
Loading
Loading
Loading
Loading
+20 −3
Original line number Diff line number Diff line
@@ -51,6 +51,16 @@ public final class ScanSettings implements Parcelable {
     */
    public static final int SCAN_MODE_LOW_LATENCY = 2;

    /**
     * Perform Bluetooth LE scan in ambient discovery mode. This mode has lower duty cycle and more
     * aggressive scan interval than balanced mode that provides a good trade-off between scan
     * latency and power consumption.
     *
     * @hide
     */
    @SystemApi
    public static final int SCAN_MODE_AMBIENT_DISCOVERY = 3;

    /**
     * Trigger a callback for every Bluetooth advertisement found that matches the filter criteria.
     * If no filter is active, all advertisement packets are reported.
@@ -276,10 +286,17 @@ public final class ScanSettings implements Parcelable {
         * @throws IllegalArgumentException If the {@code scanMode} is invalid.
         */
        public Builder setScanMode(int scanMode) {
            if (scanMode < SCAN_MODE_OPPORTUNISTIC || scanMode > SCAN_MODE_LOW_LATENCY) {
            switch (scanMode) {
                case SCAN_MODE_OPPORTUNISTIC:
                case SCAN_MODE_LOW_POWER:
                case SCAN_MODE_BALANCED:
                case SCAN_MODE_LOW_LATENCY:
                case SCAN_MODE_AMBIENT_DISCOVERY:
                    mScanMode = scanMode;
                    break;
                default:
                    throw new IllegalArgumentException("invalid scan mode " + scanMode);
            }
            mScanMode = scanMode;
            return this;
        }