diff options
| author | Chienyuan Huang <chienyuanhuang@google.com> | 2021-03-20 00:29:17 +0000 |
|---|---|---|
| committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-03-20 00:29:17 +0000 |
| commit | c1b4ca0ef55d93cfdcea1860de16112c77b3ac4a (patch) | |
| tree | c5f0f164878a6ea873a6cdedc6e26c51338e59fe /core/java/android | |
| parent | 1f58a4bf12702f70de6004ecac6421387b180f06 (diff) | |
| parent | 4a47532570e9f67e669a1af30185e20b9ce748ec (diff) | |
Merge "Le Scan: Add ambient discovery mode (1/2)" am: 4a47532570
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1629277
Change-Id: I22fb8518bd1ab6f30b3de88905c60c538685e41b
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/bluetooth/le/ScanSettings.java | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/core/java/android/bluetooth/le/ScanSettings.java b/core/java/android/bluetooth/le/ScanSettings.java index 504118ec5da8..368d1eecade4 100644 --- a/core/java/android/bluetooth/le/ScanSettings.java +++ b/core/java/android/bluetooth/le/ScanSettings.java @@ -52,6 +52,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) { - throw new IllegalArgumentException("invalid scan mode " + scanMode); + 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; } |
