Merge "Fix ASHA Hearing aids connection status incorrect" into tm-dev am: 53ac502a1a am: ce300ed1ee

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18579490

Change-Id: Ic819da94519d129d7e67f5db509175161bd282c3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Jason Hsu
2022-05-26 02:56:39 +00:00
committed by Automerger Merge Worker
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();
}