Loading core/java/android/bluetooth/le/ScanSettings.java +23 −6 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.annotation.SystemApi; import android.bluetooth.BluetoothDevice; import android.os.Parcel; import android.os.Parcelable; import android.provider.DeviceConfig; /** * Bluetooth LE scan settings are passed to {@link BluetoothLeScanner#startScan} to define the Loading Loading @@ -141,6 +142,12 @@ public final class ScanSettings implements Parcelable { */ public static final int PHY_LE_ALL_SUPPORTED = 255; /** * The default floor value for report delays greater than 0 in * {@link Builder#setReportDelay(long)}. */ private static final long DEFAULT_REPORT_DELAY_FLOOR = 5000; // Bluetooth LE scan mode. private int mScanMode; Loading Loading @@ -345,18 +352,28 @@ public final class ScanSettings implements Parcelable { } /** * Set report delay timestamp for Bluetooth LE scan. * Set report delay timestamp for Bluetooth LE scan. If set to 0, you will be notified of * scan results immediately. If > 0, scan results are queued up and delivered after the * requested delay or 5000 milliseconds (whichever is higher). Note scan results may be * delivered sooner if the internal buffers fill up. * * @param reportDelayMillis Delay of report in milliseconds. Set to 0 to be notified of * results immediately. Values > 0 causes the scan results to be queued up and delivered * after the requested delay or when the internal buffers fill up. * @throws IllegalArgumentException If {@code reportDelayMillis} < 0. * @param reportDelayMillis how frequently scan results should be delivered in * milliseconds * @throws IllegalArgumentException if {@code reportDelayMillis} < 0 */ public Builder setReportDelay(long reportDelayMillis) { if (reportDelayMillis < 0) { throw new IllegalArgumentException("reportDelay must be > 0"); } long floor = DeviceConfig.getLong(DeviceConfig.NAMESPACE_BLUETOOTH, "report_delay", DEFAULT_REPORT_DELAY_FLOOR); if (reportDelayMillis > 0 && reportDelayMillis < floor) { mReportDelayMillis = floor; } else { mReportDelayMillis = reportDelayMillis; } return this; } Loading Loading
core/java/android/bluetooth/le/ScanSettings.java +23 −6 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.annotation.SystemApi; import android.bluetooth.BluetoothDevice; import android.os.Parcel; import android.os.Parcelable; import android.provider.DeviceConfig; /** * Bluetooth LE scan settings are passed to {@link BluetoothLeScanner#startScan} to define the Loading Loading @@ -141,6 +142,12 @@ public final class ScanSettings implements Parcelable { */ public static final int PHY_LE_ALL_SUPPORTED = 255; /** * The default floor value for report delays greater than 0 in * {@link Builder#setReportDelay(long)}. */ private static final long DEFAULT_REPORT_DELAY_FLOOR = 5000; // Bluetooth LE scan mode. private int mScanMode; Loading Loading @@ -345,18 +352,28 @@ public final class ScanSettings implements Parcelable { } /** * Set report delay timestamp for Bluetooth LE scan. * Set report delay timestamp for Bluetooth LE scan. If set to 0, you will be notified of * scan results immediately. If > 0, scan results are queued up and delivered after the * requested delay or 5000 milliseconds (whichever is higher). Note scan results may be * delivered sooner if the internal buffers fill up. * * @param reportDelayMillis Delay of report in milliseconds. Set to 0 to be notified of * results immediately. Values > 0 causes the scan results to be queued up and delivered * after the requested delay or when the internal buffers fill up. * @throws IllegalArgumentException If {@code reportDelayMillis} < 0. * @param reportDelayMillis how frequently scan results should be delivered in * milliseconds * @throws IllegalArgumentException if {@code reportDelayMillis} < 0 */ public Builder setReportDelay(long reportDelayMillis) { if (reportDelayMillis < 0) { throw new IllegalArgumentException("reportDelay must be > 0"); } long floor = DeviceConfig.getLong(DeviceConfig.NAMESPACE_BLUETOOTH, "report_delay", DEFAULT_REPORT_DELAY_FLOOR); if (reportDelayMillis > 0 && reportDelayMillis < floor) { mReportDelayMillis = floor; } else { mReportDelayMillis = reportDelayMillis; } return this; } Loading