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() { public void switchSubDeviceContent() {
// Backup from main device // Backup from main device
BluetoothDevice tmpDevice = mDevice; BluetoothDevice tmpDevice = mDevice;
short tmpRssi = mRssi; final short tmpRssi = mRssi;
boolean tmpJustDiscovered = mJustDiscovered; final boolean tmpJustDiscovered = mJustDiscovered;
final int tmpDeviceSide = mDeviceSide;
// Set main device from sub device // Set main device from sub device
mDevice = mSubDevice.mDevice; mDevice = mSubDevice.mDevice;
mRssi = mSubDevice.mRssi; mRssi = mSubDevice.mRssi;
mJustDiscovered = mSubDevice.mJustDiscovered; mJustDiscovered = mSubDevice.mJustDiscovered;
mDeviceSide = mSubDevice.mDeviceSide;
// Set sub device from backup // Set sub device from backup
mSubDevice.mDevice = tmpDevice; mSubDevice.mDevice = tmpDevice;
mSubDevice.mRssi = tmpRssi; mSubDevice.mRssi = tmpRssi;
mSubDevice.mJustDiscovered = tmpJustDiscovered; mSubDevice.mJustDiscovered = tmpJustDiscovered;
mSubDevice.mDeviceSide = tmpDeviceSide;
fetchActiveDevices(); fetchActiveDevices();
} }

View File

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

View File

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