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

Commit a0b71959 authored by Jakub Pawlowski's avatar Jakub Pawlowski Committed by Automerger Merge Worker
Browse files

Get rid of ResultStorageDescriptor in startScan am: 37483684

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15283102

Change-Id: I0e7a4c5dfc31d3059e51270f0a90d6c815312ce4
parents 2bf493a6 37483684
Loading
Loading
Loading
Loading
+8 −15
Original line number Diff line number Diff line
@@ -151,7 +151,7 @@ public final class BluetoothLeScanner {
    @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN)
    public void startScan(List<ScanFilter> filters, ScanSettings settings,
            final ScanCallback callback) {
        startScan(filters, settings, null, callback, /*callbackIntent=*/ null, null);
        startScan(filters, settings, null, callback, /*callbackIntent=*/ null);
    }

    /**
@@ -185,7 +185,7 @@ public final class BluetoothLeScanner {
            @NonNull PendingIntent callbackIntent) {
        return startScan(filters,
                settings != null ? settings : new ScanSettings.Builder().build(),
                null, null, callbackIntent, null);
                null, null, callbackIntent);
    }

    /**
@@ -231,14 +231,13 @@ public final class BluetoothLeScanner {
    @SuppressLint("AndroidFrameworkRequiresPermission")
    public void startScanFromSource(List<ScanFilter> filters, ScanSettings settings,
            final WorkSource workSource, final ScanCallback callback) {
        startScan(filters, settings, workSource, callback, null, null);
        startScan(filters, settings, workSource, callback, null);
    }

    @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN)
    private int startScan(List<ScanFilter> filters, ScanSettings settings,
            final WorkSource workSource, final ScanCallback callback,
            final PendingIntent callbackIntent,
            List<List<ResultStorageDescriptor>> resultStorages) {
            final PendingIntent callbackIntent) {
        BluetoothLeUtils.checkAdapterStateOn(mBluetoothAdapter);
        if (callback == null && callbackIntent == null) {
            throw new IllegalArgumentException("callback is null");
@@ -274,7 +273,7 @@ public final class BluetoothLeScanner {
            }
            if (callback != null) {
                BleScanCallbackWrapper wrapper = new BleScanCallbackWrapper(gatt, filters,
                        settings, workSource, callback, resultStorages);
                        settings, workSource, callback);
                wrapper.startRegistration();
            } else {
                try {
@@ -366,13 +365,10 @@ public final class BluetoothLeScanner {
            final ScanCallback callback) {
        int filterSize = truncatedFilters.size();
        List<ScanFilter> scanFilters = new ArrayList<ScanFilter>(filterSize);
        List<List<ResultStorageDescriptor>> scanStorages =
                new ArrayList<List<ResultStorageDescriptor>>(filterSize);
        for (TruncatedFilter filter : truncatedFilters) {
            scanFilters.add(filter.getFilter());
            scanStorages.add(filter.getStorageDescriptors());
        }
        startScan(scanFilters, settings, null, callback, null, scanStorages);
        startScan(scanFilters, settings, null, callback, null);
    }

    /**
@@ -397,7 +393,6 @@ public final class BluetoothLeScanner {
        private final WorkSource mWorkSource;
        private ScanSettings mSettings;
        private IBluetoothGatt mBluetoothGatt;
        private List<List<ResultStorageDescriptor>> mResultStorages;

        // mLeHandle 0: not registered
        // -2: registration failed because app is scanning to frequently
@@ -407,15 +402,13 @@ public final class BluetoothLeScanner {

        public BleScanCallbackWrapper(IBluetoothGatt bluetoothGatt,
                List<ScanFilter> filters, ScanSettings settings,
                WorkSource workSource, ScanCallback scanCallback,
                List<List<ResultStorageDescriptor>> resultStorages) {
                WorkSource workSource, ScanCallback scanCallback) {
            mBluetoothGatt = bluetoothGatt;
            mFilters = filters;
            mSettings = settings;
            mWorkSource = workSource;
            mScanCallback = scanCallback;
            mScannerId = 0;
            mResultStorages = resultStorages;
        }

        public void startRegistration() {
@@ -493,7 +486,7 @@ public final class BluetoothLeScanner {
                        } else {
                            mScannerId = scannerId;
                            mBluetoothGatt.startScan(mScannerId, mSettings, mFilters,
                                    mResultStorages, mAttributionSource);
                                    mAttributionSource);
                        }
                    } catch (RemoteException e) {
                        Log.e(TAG, "fail to start le scan: " + e);