From 858d35f509274f4e6b4de815c4a70ff4ab417ac8 Mon Sep 17 00:00:00 2001 From: Jakub Pawlowski Date: Tue, 13 Jul 2021 22:05:05 +0200 Subject: [PATCH 1/2] Get rid of ResultStorageDescriptor in startScan It's never used Bug: 192615539 Change-Id: Ia2d65def69b13150a20e8a2077c3fe630f8ec86e --- .../bluetooth/le/BluetoothLeScanner.java | 23 +++++++------------ 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/core/java/android/bluetooth/le/BluetoothLeScanner.java b/core/java/android/bluetooth/le/BluetoothLeScanner.java index 34aac8bfdb25e..e6de3d7cfb3e4 100644 --- a/core/java/android/bluetooth/le/BluetoothLeScanner.java +++ b/core/java/android/bluetooth/le/BluetoothLeScanner.java @@ -151,7 +151,7 @@ public final class BluetoothLeScanner { @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void startScan(List 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 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 filters, ScanSettings settings, final WorkSource workSource, final ScanCallback callback, - final PendingIntent callbackIntent, - List> 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 scanFilters = new ArrayList(filterSize); - List> scanStorages = - new ArrayList>(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> 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 filters, ScanSettings settings, - WorkSource workSource, ScanCallback scanCallback, - List> 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); From b7c6be2c76ab6f9e78fc8904c21bba91b7529f09 Mon Sep 17 00:00:00 2001 From: Jakub Pawlowski Date: Tue, 13 Jul 2021 22:05:45 +0200 Subject: [PATCH 2/2] Bluetooth: deprecate TruncatedFilter and ResultStorageDescriptor It's not used anywhere, and the implementation actually never do anything. Bug: 192615539 Change-Id: Icf8906c972cf18d65a22d30c3a628fd54db59179 --- core/api/system-current.txt | 26 +++++++++---------- .../bluetooth/le/BluetoothLeScanner.java | 3 +++ .../bluetooth/le/ResultStorageDescriptor.java | 3 +++ .../android/bluetooth/le/TruncatedFilter.java | 3 +++ 4 files changed, 22 insertions(+), 13 deletions(-) diff --git a/core/api/system-current.txt b/core/api/system-current.txt index 8e6e8c5ec5210..6f5cc5fdf4c8f 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -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.ScanSettings, android.os.WorkSource, android.bluetooth.le.ScanCallback); - method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void startTruncatedScan(java.util.List, 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.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 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 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); - method public android.bluetooth.le.ScanFilter getFilter(); - method public java.util.List getStorageDescriptors(); + @Deprecated public final class TruncatedFilter { + ctor @Deprecated public TruncatedFilter(android.bluetooth.le.ScanFilter, java.util.List); + method @Deprecated public android.bluetooth.le.ScanFilter getFilter(); + method @Deprecated public java.util.List getStorageDescriptors(); } } diff --git a/core/java/android/bluetooth/le/BluetoothLeScanner.java b/core/java/android/bluetooth/le/BluetoothLeScanner.java index e6de3d7cfb3e4..ee173dbc4ad46 100644 --- a/core/java/android/bluetooth/le/BluetoothLeScanner.java +++ b/core/java/android/bluetooth/le/BluetoothLeScanner.java @@ -356,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) diff --git a/core/java/android/bluetooth/le/ResultStorageDescriptor.java b/core/java/android/bluetooth/le/ResultStorageDescriptor.java index 796c815d69bbd..f65048975deb5 100644 --- a/core/java/android/bluetooth/le/ResultStorageDescriptor.java +++ b/core/java/android/bluetooth/le/ResultStorageDescriptor.java @@ -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; diff --git a/core/java/android/bluetooth/le/TruncatedFilter.java b/core/java/android/bluetooth/le/TruncatedFilter.java index 93f526bb9f093..25925888a0d23 100644 --- a/core/java/android/bluetooth/le/TruncatedFilter.java +++ b/core/java/android/bluetooth/le/TruncatedFilter.java @@ -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 {