Search in sources :

Example 21 with ScanSettings

use of android.bluetooth.le.ScanSettings in project android_packages_apps_Settings by omnirom.

the class AnomalyActions method doUnoptimizedBleScan.

private static void doUnoptimizedBleScan(Context ctx, long durationMs) {
    ScanSettings scanSettings = new ScanSettings.Builder().setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY).build();
    // perform ble scanning
    BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
    if (bluetoothAdapter == null || !bluetoothAdapter.isEnabled()) {
        Log.e(TAG, "Device does not support Bluetooth or Bluetooth not enabled");
        return;
    }
    BluetoothLeScanner bleScanner = bluetoothAdapter.getBluetoothLeScanner();
    if (bleScanner == null) {
        Log.e(TAG, "Cannot access BLE scanner");
        return;
    }
    ScanCallback scanCallback = new ScanCallback() {

        @Override
        public void onScanResult(int callbackType, ScanResult result) {
            Log.v(TAG, "called onScanResult");
        }

        @Override
        public void onScanFailed(int errorCode) {
            Log.v(TAG, "called onScanFailed");
        }

        @Override
        public void onBatchScanResults(List<ScanResult> results) {
            Log.v(TAG, "called onBatchScanResults");
        }
    };
    bleScanner.startScan(null, scanSettings, scanCallback);
    try {
        Thread.sleep(durationMs);
    } catch (InterruptedException e) {
        Log.e(TAG, "Thread couldn't sleep for " + durationMs, e);
    }
    bleScanner.stopScan(scanCallback);
}
Also used : ScanSettings(android.bluetooth.le.ScanSettings) BluetoothLeScanner(android.bluetooth.le.BluetoothLeScanner) ScanResult(android.bluetooth.le.ScanResult) ScanCallback(android.bluetooth.le.ScanCallback) List(java.util.List) BluetoothAdapter(android.bluetooth.BluetoothAdapter)

Example 22 with ScanSettings

use of android.bluetooth.le.ScanSettings in project android_packages_apps_Settings by crdroidandroid.

the class AnomalyActions method doUnoptimizedBleScan.

private static void doUnoptimizedBleScan(Context ctx, long durationMs) {
    ScanSettings scanSettings = new ScanSettings.Builder().setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY).build();
    // perform ble scanning
    BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
    if (bluetoothAdapter == null || !bluetoothAdapter.isEnabled()) {
        Log.e(TAG, "Device does not support Bluetooth or Bluetooth not enabled");
        return;
    }
    BluetoothLeScanner bleScanner = bluetoothAdapter.getBluetoothLeScanner();
    if (bleScanner == null) {
        Log.e(TAG, "Cannot access BLE scanner");
        return;
    }
    ScanCallback scanCallback = new ScanCallback() {

        @Override
        public void onScanResult(int callbackType, ScanResult result) {
            Log.v(TAG, "called onScanResult");
        }

        @Override
        public void onScanFailed(int errorCode) {
            Log.v(TAG, "called onScanFailed");
        }

        @Override
        public void onBatchScanResults(List<ScanResult> results) {
            Log.v(TAG, "called onBatchScanResults");
        }
    };
    bleScanner.startScan(null, scanSettings, scanCallback);
    try {
        Thread.sleep(durationMs);
    } catch (InterruptedException e) {
        Log.e(TAG, "Thread couldn't sleep for " + durationMs, e);
    }
    bleScanner.stopScan(scanCallback);
}
Also used : ScanSettings(android.bluetooth.le.ScanSettings) BluetoothLeScanner(android.bluetooth.le.BluetoothLeScanner) ScanResult(android.bluetooth.le.ScanResult) ScanCallback(android.bluetooth.le.ScanCallback) List(java.util.List) BluetoothAdapter(android.bluetooth.BluetoothAdapter)

Example 23 with ScanSettings

use of android.bluetooth.le.ScanSettings in project robolectric by robolectric.

the class ShadowBluetoothLeScannerTest method setUp.

@Before
public void setUp() throws Exception {
    BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
    if (RuntimeEnvironment.getApiLevel() < M) {
        // On SDK < 23, bluetooth has to be in STATE_ON in order to get a BluetoothLeScanner.
        shadowOf(adapter).setState(BluetoothAdapter.STATE_ON);
    }
    bluetoothLeScanner = adapter.getBluetoothLeScanner();
    ParcelUuid serviceUuid = new ParcelUuid(UUID.fromString("12345678-90AB-CDEF-1234-567890ABCDEF"));
    byte[] serviceData = new byte[] { 0x01, 0x02, 0x03 };
    scanFilters = Collections.singletonList(new ScanFilter.Builder().setServiceUuid(serviceUuid).setServiceData(serviceUuid, serviceData).build());
    scanSettings = new ScanSettings.Builder().setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY).setCallbackType(ScanSettings.CALLBACK_TYPE_ALL_MATCHES).setReportDelay(0).build();
    scanCallback = new ScanCallback() {

        @Override
        public void onScanResult(int callbackType, ScanResult scanResult) {
        }

        @Override
        public void onScanFailed(int errorCode) {
        }
    };
    pendingIntent = PendingIntent.getBroadcast(ApplicationProvider.getApplicationContext(), 0, new Intent("SCAN_CALLBACK"), 0);
}
Also used : ParcelUuid(android.os.ParcelUuid) ScanSettings(android.bluetooth.le.ScanSettings) ScanResult(android.bluetooth.le.ScanResult) ScanFilter(android.bluetooth.le.ScanFilter) ScanCallback(android.bluetooth.le.ScanCallback) Intent(android.content.Intent) PendingIntent(android.app.PendingIntent) BluetoothAdapter(android.bluetooth.BluetoothAdapter) Before(org.junit.Before)

Example 24 with ScanSettings

use of android.bluetooth.le.ScanSettings in project android_packages_apps_Settings by SudaMod.

the class AnomalyActions method doUnoptimizedBleScan.

private static void doUnoptimizedBleScan(Context ctx, long durationMs) {
    ScanSettings scanSettings = new ScanSettings.Builder().setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY).build();
    // perform ble scanning
    BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
    if (bluetoothAdapter == null || !bluetoothAdapter.isEnabled()) {
        Log.e(TAG, "Device does not support Bluetooth or Bluetooth not enabled");
        return;
    }
    BluetoothLeScanner bleScanner = bluetoothAdapter.getBluetoothLeScanner();
    if (bleScanner == null) {
        Log.e(TAG, "Cannot access BLE scanner");
        return;
    }
    ScanCallback scanCallback = new ScanCallback() {

        @Override
        public void onScanResult(int callbackType, ScanResult result) {
            Log.v(TAG, "called onScanResult");
        }

        @Override
        public void onScanFailed(int errorCode) {
            Log.v(TAG, "called onScanFailed");
        }

        @Override
        public void onBatchScanResults(List<ScanResult> results) {
            Log.v(TAG, "called onBatchScanResults");
        }
    };
    bleScanner.startScan(null, scanSettings, scanCallback);
    try {
        Thread.sleep(durationMs);
    } catch (InterruptedException e) {
        Log.e(TAG, "Thread couldn't sleep for " + durationMs, e);
    }
    bleScanner.stopScan(scanCallback);
}
Also used : ScanSettings(android.bluetooth.le.ScanSettings) BluetoothLeScanner(android.bluetooth.le.BluetoothLeScanner) ScanResult(android.bluetooth.le.ScanResult) ScanCallback(android.bluetooth.le.ScanCallback) List(java.util.List) BluetoothAdapter(android.bluetooth.BluetoothAdapter)

Aggregations

ScanSettings (android.bluetooth.le.ScanSettings)24 BluetoothLeScanner (android.bluetooth.le.BluetoothLeScanner)18 ScanFilter (android.bluetooth.le.ScanFilter)14 ScanCallback (android.bluetooth.le.ScanCallback)13 ScanResult (android.bluetooth.le.ScanResult)13 BluetoothAdapter (android.bluetooth.BluetoothAdapter)9 ArrayList (java.util.ArrayList)7 List (java.util.List)7 ParcelUuid (android.os.ParcelUuid)6 RequiresPermission (android.annotation.RequiresPermission)5 ScanRecord (android.bluetooth.le.ScanRecord)5 Message (android.os.Message)5 RemoteException (android.os.RemoteException)5 UUID (java.util.UUID)5 TargetApi (android.annotation.TargetApi)2 PendingIntent (android.app.PendingIntent)2 UnsupportedEncodingException (java.io.UnsupportedEncodingException)2 SuppressLint (android.annotation.SuppressLint)1 BluetoothManager (android.bluetooth.BluetoothManager)1 Intent (android.content.Intent)1