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

* changes:
  Bluetooth: deprecate TruncatedFilter and ResultStorageDescriptor
  Get rid of ResultStorageDescriptor in startScan
This commit is contained in:
Jakub Pawlowski
2021-07-14 20:21:36 +00:00
committed by Gerrit Code Review
4 changed files with 30 additions and 28 deletions

View File

@@ -1752,17 +1752,17 @@ package android.bluetooth.le {
public final class BluetoothLeScanner {
method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_ADMIN, android.Manifest.permission.UPDATE_DEVICE_STATS}) public void startScanFromSource(android.os.WorkSource, android.bluetooth.le.ScanCallback);
method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_ADMIN, 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 public void startTruncatedScan(java.util.List<android.bluetooth.le.TruncatedFilter>, android.bluetooth.le.ScanSettings, android.bluetooth.le.ScanCallback);
method @Deprecated 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 {
@@ -1786,10 +1786,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

@@ -144,7 +144,7 @@ public final class BluetoothLeScanner {
@RequiresPermission(Manifest.permission.BLUETOOTH_ADMIN)
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);
}
/**
@@ -175,7 +175,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);
}
/**
@@ -210,13 +210,12 @@ public final class BluetoothLeScanner {
Manifest.permission.BLUETOOTH_ADMIN, Manifest.permission.UPDATE_DEVICE_STATS})
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);
}
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");
@@ -252,7 +251,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 {
@@ -328,20 +327,20 @@ public final class BluetoothLeScanner {
/**
* Start truncated scan.
*
* @deprecated this is not used anywhere
*
* @hide
*/
@Deprecated
@SystemApi
public void startTruncatedScan(List<TruncatedFilter> truncatedFilters, ScanSettings settings,
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);
}
/**
@@ -364,7 +363,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
@@ -374,15 +372,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() {
@@ -458,7 +454,7 @@ public final class BluetoothLeScanner {
} else {
mScannerId = scannerId;
mBluetoothGatt.startScan(mScannerId, mSettings, mFilters,
mResultStorages, mOpPackageName, mFeatureId);
mOpPackageName, mFeatureId);
}
} 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

@@ -23,8 +23,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
public final class TruncatedFilter {
private final ScanFilter mFilter;