Merge "Ignore ASHA hisyncId grouping if the device supports CSIP" into main
This commit is contained in:
@@ -1518,10 +1518,15 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice>
|
||||
* list.
|
||||
*/
|
||||
public void switchMemberDeviceContent(CachedBluetoothDevice newMainDevice) {
|
||||
// Backup from main device
|
||||
// Remove the sub device from mMemberDevices first to prevent hash mismatch problem due
|
||||
// to mDevice switch
|
||||
removeMemberDevice(newMainDevice);
|
||||
|
||||
// Backup from current main device
|
||||
final BluetoothDevice tmpDevice = mDevice;
|
||||
final short tmpRssi = mRssi;
|
||||
final boolean tmpJustDiscovered = mJustDiscovered;
|
||||
|
||||
// Set main device from sub device
|
||||
release();
|
||||
mDevice = newMainDevice.mDevice;
|
||||
@@ -1535,6 +1540,9 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice>
|
||||
newMainDevice.mRssi = tmpRssi;
|
||||
newMainDevice.mJustDiscovered = tmpJustDiscovered;
|
||||
newMainDevice.fillData();
|
||||
|
||||
// Add the sub device back into mMemberDevices with correct hash
|
||||
addMemberDevice(newMainDevice);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -186,6 +186,14 @@ public class HearingAidDeviceManager {
|
||||
if (cachedDevice.getHiSyncId() != hiSyncId) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// The remote device supports CSIP, the other ear should be processed as a member
|
||||
// device. Ignore hiSyncId grouping from ASHA here.
|
||||
if (cachedDevice.getProfiles().stream().anyMatch(
|
||||
profile -> profile instanceof CsipSetCoordinatorProfile)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (firstMatchedIndex == -1) {
|
||||
// Found the first one
|
||||
firstMatchedIndex = i;
|
||||
|
||||
Reference in New Issue
Block a user