Fix BLE scan leaks

If an app starts multiple scans with same callback then
there is a collision in mLeScanClients hash map which
results in leaking first scan. This change fixes it by
not allowing the second scan with same callback.

BUG: 62389939
BUG: 38198694

Test: Tested applications which started multiple scans with
       same callback.

Change-Id: I569069a40b6f8b4b8bb070731225e732c6b23ec8
This commit is contained in:
Vinay Kalia
2017-07-28 15:09:57 -07:00
committed by Andre Eisenbach
parent 869a72294d
commit 9722971cb4

View File

@@ -205,7 +205,8 @@ public final class BluetoothLeScanner {
}
synchronized (mLeScanClients) {
if (callback != null && mLeScanClients.containsKey(callback)) {
postCallbackError(callback, ScanCallback.SCAN_FAILED_ALREADY_STARTED);
return postCallbackErrorOrReturn(callback,
ScanCallback.SCAN_FAILED_ALREADY_STARTED);
}
IBluetoothGatt gatt;
try {