Merge changes from topic "BT-result-storage-descriptor-remove"

* changes:
  Bluetooth: deprecate TruncatedFilter and ResultStorageDescriptor
  Get rid of ResultStorageDescriptor in startScan
This commit is contained in:
Jakub Pawlowski
2021-07-14 08:56:38 +00:00
committed by Android (Google) Code Review
4 changed files with 30 additions and 28 deletions

View File

@@ -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();
}
}

View File

@@ -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);

View File

@@ -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;

View File

@@ -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 {