Merge "Le Scan: Add ambient discovery mode (1/2)"
This commit is contained in:
@@ -1727,6 +1727,7 @@ package android.bluetooth.le {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public final class ScanSettings implements android.os.Parcelable {
|
public final class ScanSettings implements android.os.Parcelable {
|
||||||
|
field public static final int SCAN_MODE_AMBIENT_DISCOVERY = 3; // 0x3
|
||||||
field public static final int SCAN_RESULT_TYPE_ABBREVIATED = 1; // 0x1
|
field public static final int SCAN_RESULT_TYPE_ABBREVIATED = 1; // 0x1
|
||||||
field public static final int SCAN_RESULT_TYPE_FULL = 0; // 0x0
|
field public static final int SCAN_RESULT_TYPE_FULL = 0; // 0x0
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,6 +51,16 @@ public final class ScanSettings implements Parcelable {
|
|||||||
*/
|
*/
|
||||||
public static final int SCAN_MODE_LOW_LATENCY = 2;
|
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.
|
* Trigger a callback for every Bluetooth advertisement found that matches the filter criteria.
|
||||||
* If no filter is active, all advertisement packets are reported.
|
* 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.
|
* @throws IllegalArgumentException If the {@code scanMode} is invalid.
|
||||||
*/
|
*/
|
||||||
public Builder setScanMode(int scanMode) {
|
public Builder setScanMode(int scanMode) {
|
||||||
if (scanMode < SCAN_MODE_OPPORTUNISTIC || scanMode > SCAN_MODE_LOW_LATENCY) {
|
switch (scanMode) {
|
||||||
throw new IllegalArgumentException("invalid scan mode " + 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;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user