Merge "Fix ASHA Hearing aids connection status incorrect" into tm-dev

This commit is contained in:
Jason Hsu
2022-05-26 01:43:17 +00:00
committed by Android (Google) Code Review
3 changed files with 17 additions and 8 deletions

View File

@@ -1389,16 +1389,19 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice>
public void switchSubDeviceContent() {
// Backup from main device
BluetoothDevice tmpDevice = mDevice;
short tmpRssi = mRssi;
boolean tmpJustDiscovered = mJustDiscovered;
final short tmpRssi = mRssi;
final boolean tmpJustDiscovered = mJustDiscovered;
final int tmpDeviceSide = mDeviceSide;
// Set main device from sub device
mDevice = mSubDevice.mDevice;
mRssi = mSubDevice.mRssi;
mJustDiscovered = mSubDevice.mJustDiscovered;
mDeviceSide = mSubDevice.mDeviceSide;
// Set sub device from backup
mSubDevice.mDevice = tmpDevice;
mSubDevice.mRssi = tmpRssi;
mSubDevice.mJustDiscovered = tmpJustDiscovered;
mSubDevice.mDeviceSide = tmpDeviceSide;
fetchActiveDevices();
}

View File

@@ -965,24 +965,24 @@ public class CachedBluetoothDeviceTest {
mCachedDevice.mRssi = RSSI_1;
mCachedDevice.mJustDiscovered = JUSTDISCOVERED_1;
mCachedDevice.setDeviceSide(HearingAidProfile.DeviceSide.SIDE_LEFT);
mSubCachedDevice.mRssi = RSSI_2;
mSubCachedDevice.mJustDiscovered = JUSTDISCOVERED_2;
mSubCachedDevice.setDeviceSide(HearingAidProfile.DeviceSide.SIDE_RIGHT);
mCachedDevice.setSubDevice(mSubCachedDevice);
assertThat(mCachedDevice.mRssi).isEqualTo(RSSI_1);
assertThat(mCachedDevice.mJustDiscovered).isEqualTo(JUSTDISCOVERED_1);
assertThat(mCachedDevice.mDevice).isEqualTo(mDevice);
assertThat(mSubCachedDevice.mRssi).isEqualTo(RSSI_2);
assertThat(mSubCachedDevice.mJustDiscovered).isEqualTo(JUSTDISCOVERED_2);
assertThat(mSubCachedDevice.mDevice).isEqualTo(mSubDevice);
mCachedDevice.switchSubDeviceContent();
assertThat(mCachedDevice.mRssi).isEqualTo(RSSI_2);
assertThat(mCachedDevice.mJustDiscovered).isEqualTo(JUSTDISCOVERED_2);
assertThat(mCachedDevice.mDevice).isEqualTo(mSubDevice);
assertThat(mCachedDevice.getDeviceSide()).isEqualTo(
HearingAidProfile.DeviceSide.SIDE_RIGHT);
assertThat(mSubCachedDevice.mRssi).isEqualTo(RSSI_1);
assertThat(mSubCachedDevice.mJustDiscovered).isEqualTo(JUSTDISCOVERED_1);
assertThat(mSubCachedDevice.mDevice).isEqualTo(mDevice);
assertThat(mSubCachedDevice.getDeviceSide()).isEqualTo(
HearingAidProfile.DeviceSide.SIDE_LEFT);
}
@Test

View File

@@ -358,8 +358,10 @@ public class HearingAidDeviceManagerTest {
public void onProfileConnectionStateChanged_disconnected_mainDevice_subDeviceConnected_switch()
{
when(mCachedDevice1.getHiSyncId()).thenReturn(HISYNCID1);
mCachedDevice1.setDeviceSide(HearingAidProfile.DeviceSide.SIDE_LEFT);
when(mCachedDevice2.getHiSyncId()).thenReturn(HISYNCID1);
when(mCachedDevice2.isConnected()).thenReturn(true);
mCachedDevice2.setDeviceSide(HearingAidProfile.DeviceSide.SIDE_RIGHT);
mCachedDeviceManager.mCachedDevices.add(mCachedDevice1);
mCachedDevice1.setSubDevice(mCachedDevice2);
@@ -370,6 +372,10 @@ public class HearingAidDeviceManagerTest {
assertThat(mCachedDevice1.mDevice).isEqualTo(mDevice2);
assertThat(mCachedDevice2.mDevice).isEqualTo(mDevice1);
assertThat(mCachedDevice1.getDeviceSide()).isEqualTo(
HearingAidProfile.DeviceSide.SIDE_RIGHT);
assertThat(mCachedDevice2.getDeviceSide()).isEqualTo(
HearingAidProfile.DeviceSide.SIDE_LEFT);
verify(mCachedDevice1).refresh();
}