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

Commit f4c0d709 authored by Jakub Pawlowski's avatar Jakub Pawlowski Committed by Android (Google) Code Review
Browse files

Merge changes from topic...

Merge changes from topic "cherrypick-BT-result-storage-descriptor-remove-t1jhhedypv" into sc-dev-plus-aosp

* changes:
  Bluetooth: deprecate TruncatedFilter and ResultStorageDescriptor
  Get rid of ResultStorageDescriptor in startScan
parents 19d649e5 866cf340
Loading
Loading
Loading
Loading
+13 −13
Original line number Diff line number Diff line
@@ -2213,17 +2213,17 @@ package android.bluetooth.le {
  public final class BluetoothLeScanner {
    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.UPDATE_DEVICE_STATS}) public void startScanFromSource(android.os.WorkSource, android.bluetooth.le.ScanCallback);
    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.UPDATE_DEVICE_STATS}) public void startScanFromSource(java.util.List<android.bluetooth.le.ScanFilter>, android.bluetooth.le.ScanSettings, android.os.WorkSource, android.bluetooth.le.ScanCallback);
    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void startTruncatedScan(java.util.List<android.bluetooth.le.TruncatedFilter>, android.bluetooth.le.ScanSettings, android.bluetooth.le.ScanCallback);
    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void startTruncatedScan(java.util.List<android.bluetooth.le.TruncatedFilter>, android.bluetooth.le.ScanSettings, android.bluetooth.le.ScanCallback);
  }
  public final class ResultStorageDescriptor implements android.os.Parcelable {
    ctor public ResultStorageDescriptor(int, int, int);
    method public int describeContents();
    method public int getLength();
    method public int getOffset();
    method public int getType();
    method public void writeToParcel(android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ResultStorageDescriptor> CREATOR;
  @Deprecated public final class ResultStorageDescriptor implements android.os.Parcelable {
    ctor @Deprecated public ResultStorageDescriptor(int, int, int);
    method @Deprecated public int describeContents();
    method @Deprecated public int getLength();
    method @Deprecated public int getOffset();
    method @Deprecated public int getType();
    method @Deprecated public void writeToParcel(android.os.Parcel, int);
    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ResultStorageDescriptor> CREATOR;
  }
  public final class ScanFilter implements android.os.Parcelable {
@@ -2247,10 +2247,10 @@ package android.bluetooth.le {
    method public android.bluetooth.le.ScanSettings.Builder setScanResultType(int);
  }
  public final class TruncatedFilter {
    ctor public TruncatedFilter(android.bluetooth.le.ScanFilter, java.util.List<android.bluetooth.le.ResultStorageDescriptor>);
    method public android.bluetooth.le.ScanFilter getFilter();
    method public java.util.List<android.bluetooth.le.ResultStorageDescriptor> getStorageDescriptors();
  @Deprecated public final class TruncatedFilter {
    ctor @Deprecated public TruncatedFilter(android.bluetooth.le.ScanFilter, java.util.List<android.bluetooth.le.ResultStorageDescriptor>);
    method @Deprecated public android.bluetooth.le.ScanFilter getFilter();
    method @Deprecated public java.util.List<android.bluetooth.le.ResultStorageDescriptor> getStorageDescriptors();
  }
}
+11 −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 {
@@ -357,8 +356,11 @@ public final class BluetoothLeScanner {
    /**
     * Start truncated scan.
     *
     * @deprecated this is not used anywhere
     *
     * @hide
     */
    @Deprecated
    @SystemApi
    @RequiresBluetoothScanPermission
    @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN)
@@ -366,13 +368,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 +396,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 +405,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 +489,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);
+3 −0
Original line number Diff line number Diff line
@@ -23,8 +23,11 @@ import android.os.Parcelable;
/**
 * Describes the way to store scan result.
 *
 * @deprecated this is not used anywhere
 *
 * @hide
 */
@Deprecated
@SystemApi
public final class ResultStorageDescriptor implements Parcelable {
    private int mType;
+3 −0
Original line number Diff line number Diff line
@@ -24,8 +24,11 @@ import java.util.List;
/**
 * A special scan filter that lets the client decide how the scan record should be stored.
 *
 * @deprecated this is not used anywhere
 *
 * @hide
 */
@Deprecated
@SystemApi
@SuppressLint("AndroidFrameworkBluetoothPermission")
public final class TruncatedFilter {