Loading packages/SettingsLib/src/com/android/settingslib/media/PhoneMediaDevice.java +8 −3 Original line number Original line Diff line number Diff line Loading @@ -70,13 +70,18 @@ public class PhoneMediaDevice extends MediaDevice { final HearingAidProfile hapProfile = mProfileManager.getHearingAidProfile(); final HearingAidProfile hapProfile = mProfileManager.getHearingAidProfile(); final A2dpProfile a2dpProfile = mProfileManager.getA2dpProfile(); final A2dpProfile a2dpProfile = mProfileManager.getA2dpProfile(); // Some device may not have HearingAidProfile, consider all situation to set active device. boolean isConnected = false; boolean isConnected = false; if (hapProfile != null && a2dpProfile != null) { if (hapProfile != null && a2dpProfile != null) { isConnected = hapProfile.setActiveDevice(null) && a2dpProfile.setActiveDevice(null); isConnected = hapProfile.setActiveDevice(null) && a2dpProfile.setActiveDevice(null); updateSummary(true); } else if (a2dpProfile != null) { setConnectedRecord(); isConnected = a2dpProfile.setActiveDevice(null); } else if (hapProfile != null) { isConnected = hapProfile.setActiveDevice(null); } } updateSummary(isConnected); setConnectedRecord(); Log.d(TAG, "connect() device : " + getName() + ", is selected : " + isConnected); Log.d(TAG, "connect() device : " + getName() + ", is selected : " + isConnected); return isConnected; return isConnected; } } Loading packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/PhoneMediaDeviceTest.java +24 −0 Original line number Original line Diff line number Diff line Loading @@ -99,6 +99,30 @@ public class PhoneMediaDeviceTest { assertThat(mPhoneMediaDevice.connect()).isFalse(); assertThat(mPhoneMediaDevice.connect()).isFalse(); } } @Test public void connect_hearingAidProfileIsNullAndA2dpProfileNotNull_isConnectedReturnTrue() { when(mLocalProfileManager.getHearingAidProfile()).thenReturn(null); when(mA2dpProfile.setActiveDevice(null)).thenReturn(true); assertThat(mPhoneMediaDevice.connect()).isTrue(); } @Test public void connect_hearingAidProfileNotNullAndA2dpProfileIsNull_isConnectedReturnTrue() { when(mLocalProfileManager.getA2dpProfile()).thenReturn(null); when(mHapProfile.setActiveDevice(null)).thenReturn(true); assertThat(mPhoneMediaDevice.connect()).isTrue(); } @Test public void connect_hearingAidProfileAndA2dpProfileIsNull_isConnectedReturnFalse() { when(mLocalProfileManager.getA2dpProfile()).thenReturn(null); when(mLocalProfileManager.getHearingAidProfile()).thenReturn(null); assertThat(mPhoneMediaDevice.connect()).isFalse(); } @Test @Test public void updateSummary_isActiveIsTrue_returnActiveString() { public void updateSummary_isActiveIsTrue_returnActiveString() { mPhoneMediaDevice.updateSummary(true); mPhoneMediaDevice.updateSummary(true); Loading Loading
packages/SettingsLib/src/com/android/settingslib/media/PhoneMediaDevice.java +8 −3 Original line number Original line Diff line number Diff line Loading @@ -70,13 +70,18 @@ public class PhoneMediaDevice extends MediaDevice { final HearingAidProfile hapProfile = mProfileManager.getHearingAidProfile(); final HearingAidProfile hapProfile = mProfileManager.getHearingAidProfile(); final A2dpProfile a2dpProfile = mProfileManager.getA2dpProfile(); final A2dpProfile a2dpProfile = mProfileManager.getA2dpProfile(); // Some device may not have HearingAidProfile, consider all situation to set active device. boolean isConnected = false; boolean isConnected = false; if (hapProfile != null && a2dpProfile != null) { if (hapProfile != null && a2dpProfile != null) { isConnected = hapProfile.setActiveDevice(null) && a2dpProfile.setActiveDevice(null); isConnected = hapProfile.setActiveDevice(null) && a2dpProfile.setActiveDevice(null); updateSummary(true); } else if (a2dpProfile != null) { setConnectedRecord(); isConnected = a2dpProfile.setActiveDevice(null); } else if (hapProfile != null) { isConnected = hapProfile.setActiveDevice(null); } } updateSummary(isConnected); setConnectedRecord(); Log.d(TAG, "connect() device : " + getName() + ", is selected : " + isConnected); Log.d(TAG, "connect() device : " + getName() + ", is selected : " + isConnected); return isConnected; return isConnected; } } Loading
packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/PhoneMediaDeviceTest.java +24 −0 Original line number Original line Diff line number Diff line Loading @@ -99,6 +99,30 @@ public class PhoneMediaDeviceTest { assertThat(mPhoneMediaDevice.connect()).isFalse(); assertThat(mPhoneMediaDevice.connect()).isFalse(); } } @Test public void connect_hearingAidProfileIsNullAndA2dpProfileNotNull_isConnectedReturnTrue() { when(mLocalProfileManager.getHearingAidProfile()).thenReturn(null); when(mA2dpProfile.setActiveDevice(null)).thenReturn(true); assertThat(mPhoneMediaDevice.connect()).isTrue(); } @Test public void connect_hearingAidProfileNotNullAndA2dpProfileIsNull_isConnectedReturnTrue() { when(mLocalProfileManager.getA2dpProfile()).thenReturn(null); when(mHapProfile.setActiveDevice(null)).thenReturn(true); assertThat(mPhoneMediaDevice.connect()).isTrue(); } @Test public void connect_hearingAidProfileAndA2dpProfileIsNull_isConnectedReturnFalse() { when(mLocalProfileManager.getA2dpProfile()).thenReturn(null); when(mLocalProfileManager.getHearingAidProfile()).thenReturn(null); assertThat(mPhoneMediaDevice.connect()).isFalse(); } @Test @Test public void updateSummary_isActiveIsTrue_returnActiveString() { public void updateSummary_isActiveIsTrue_returnActiveString() { mPhoneMediaDevice.updateSummary(true); mPhoneMediaDevice.updateSummary(true); Loading