Title: Auto connection not getting initiated after pairing
Issue: mProfiles list getting corrupted as its not protected with lock and auto connection failing Steps: 1.Turn on BT 2.Scan the remote headset from DUT 3.Initiating pairing to remote device 4.unpair the remote from DUT UI Repeat steps from 2 to 4. Some times auto connection not getting initiated from DUT. RootCause: if mProfiles accessed simultaneously from onUuidChanged and connectAllEnabledProfiles ,its leading to list corruption. Settings not able to initiate Auto connection as mProfiles list shown as empty. Fix: Remove redundant mProfiles empty check in onUuidChanged - mProfiles accessed inside onUuidChanged without syncronization, if mProfiles accessed simultaneously from onUuidChanged and connectAllEnabledProfiles ,it might lead to list corruption. - mProfiles empty check already there in connectAllEnabledProfiles Hence removing mProfiles empty conditional check in onUuidChanged Test: Follow steps above Bug: 150653750 Change-Id: I88aa6a6cd46d264f4dd32db71e413079bbd40779
This commit is contained in:
committed by
Jakub Pawlowski
parent
2edc5306da
commit
b0474448d5
@@ -609,8 +609,8 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice>
|
||||
* If a connect was attempted earlier without any UUID, we will do the connect now.
|
||||
* Otherwise, allow the connect on UUID change.
|
||||
*/
|
||||
if (!mProfiles.isEmpty()
|
||||
&& ((mConnectAttempted + timeout) > SystemClock.elapsedRealtime())) {
|
||||
if ((mConnectAttempted + timeout) > SystemClock.elapsedRealtime()) {
|
||||
Log.d(TAG, "onUuidChanged: triggering connectAllEnabledProfiles");
|
||||
connectAllEnabledProfiles();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user