Make Hearing devices preference always visible

Previously we hide the preference when Bluetooth is off since it's only used for showing connected hearing aids and acting as a shortcut to device detail page.

However, the preference is now a new page of multiple controls, we probably shouldn't hide the preference the Bluetooth is off. Those controls should be accessible even if the Bluetooth is off.

Bug: 284092084
Test: make RunSettingsRoboTests ROBOTEST_FILTER=HearingAidHelperTest
Change-Id: I647a187d73bd673c8ac8ab366579ba92c22ce1dc
This commit is contained in:
Angela Wang
2023-05-25 11:11:37 +00:00
parent b04b977cac
commit abebbfc4b3
2 changed files with 12 additions and 10 deletions

View File

@@ -56,7 +56,8 @@ public class HearingAidHelper {
* @return a list of hearing aids {@link BluetoothDevice} objects * @return a list of hearing aids {@link BluetoothDevice} objects
*/ */
public List<BluetoothDevice> getConnectedHearingAidDeviceList() { public List<BluetoothDevice> getConnectedHearingAidDeviceList() {
if (!isHearingAidSupported()) { if (mBluetoothAdapter == null || !mBluetoothAdapter.isEnabled()
|| !isHearingAidSupported()) {
return new ArrayList<>(); return new ArrayList<>();
} }
final List<BluetoothDevice> deviceList = new ArrayList<>(); final List<BluetoothDevice> deviceList = new ArrayList<>();
@@ -88,9 +89,6 @@ public class HearingAidHelper {
* supported. * supported.
*/ */
public boolean isHearingAidSupported() { public boolean isHearingAidSupported() {
if (mBluetoothAdapter == null || !mBluetoothAdapter.isEnabled()) {
return false;
}
final List<Integer> supportedList = mBluetoothAdapter.getSupportedProfiles(); final List<Integer> supportedList = mBluetoothAdapter.getSupportedProfiles();
return supportedList.contains(BluetoothProfile.HEARING_AID) return supportedList.contains(BluetoothProfile.HEARING_AID)
|| supportedList.contains(BluetoothProfile.HAP_CLIENT); || supportedList.contains(BluetoothProfile.HAP_CLIENT);

View File

@@ -95,8 +95,7 @@ public class HearingAidHelperTest {
} }
@Test @Test
public void isHearingAidSupported_supported_returnTrue() { public void isHearingAidSupported_ashaSupported_returnTrue() {
mBluetoothAdapter.enable();
mShadowBluetoothAdapter.clearSupportedProfiles(); mShadowBluetoothAdapter.clearSupportedProfiles();
mShadowBluetoothAdapter.addSupportedProfiles(BluetoothProfile.HEARING_AID); mShadowBluetoothAdapter.addSupportedProfiles(BluetoothProfile.HEARING_AID);
@@ -104,15 +103,20 @@ public class HearingAidHelperTest {
} }
@Test @Test
public void isHearingAidSupported_bluetoothOff_returnFalse() { public void isHearingAidSupported_hapSupported_returnTrue() {
mShadowBluetoothAdapter.clearSupportedProfiles();
mShadowBluetoothAdapter.addSupportedProfiles(BluetoothProfile.HAP_CLIENT);
assertThat(mHelper.isHearingAidSupported()).isTrue();
}
@Test
public void isHearingAidSupported_unsupported_returnFalse() {
mShadowBluetoothAdapter.clearSupportedProfiles(); mShadowBluetoothAdapter.clearSupportedProfiles();
mShadowBluetoothAdapter.addSupportedProfiles(BluetoothProfile.HEARING_AID);
mBluetoothAdapter.disable();
assertThat(mHelper.isHearingAidSupported()).isFalse(); assertThat(mHelper.isHearingAidSupported()).isFalse();
} }
@Test @Test
public void isAllHearingAidRelatedProfilesReady_allReady_returnTrue() { public void isAllHearingAidRelatedProfilesReady_allReady_returnTrue() {
when(mHearingAidProfile.isProfileReady()).thenReturn(true); when(mHearingAidProfile.isProfileReady()).thenReturn(true);