Synchronize the address mapping and LRU cache of the bonded devices
RemoteDevices.java maintains address mapping for dual mode devices. It also mantains LRU cache of all known devices. When a device is removed, the corresponding mapping and cache entry are not removed. When the same device reconnects, address mapping ends up assigning it older pseudo-address. Old pseudo-address may not have any relevance anymore. If the application wished to connect/bond over BR/EDR transport, the older pseudo-address may force the stack to attempt connection over LE transport using older random address. Test: Connection with the remote device over LE transport; upair the device; make the remote device connectable only over BR/EDR transport; try connecting with the remote device over BR/EDR. Test: m com.android.btservices Bug: 297328586 Change-Id: Ic94380ecdabb76500022371d5c8540e56c3d8a35
Loading
Please register or sign in to comment