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

Commit 05eb6495 authored by Vinay Kalia's avatar Vinay Kalia Committed by android-build-team Robot
Browse files

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
(cherry picked from commit 9722971c)
(cherry picked from commit c2fd1442)
parent 86f6315b
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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 {