Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 53ac502a authored by Jason Hsu's avatar Jason Hsu Committed by Android (Google) Code Review
Browse files

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

parents e196a94c 167336e3
Loading
Loading
Loading
Loading
+5 −2
Original line number Original line Diff line number Diff line
@@ -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();
    }
    }


+6 −6
Original line number Original line Diff line number Diff line
@@ -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
+6 −0
Original line number Original line Diff line number Diff line
@@ -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();
    }
    }