diff --git a/res/xml/bluetooth_device_details_fragment.xml b/res/xml/bluetooth_device_details_fragment.xml
index efb2bf7036b..0528973d676 100644
--- a/res/xml/bluetooth_device_details_fragment.xml
+++ b/res/xml/bluetooth_device_details_fragment.xml
@@ -46,6 +46,7 @@
android:key="hearing_aid_pair_other_button"
android:gravity="center" />
launchPairingDetail());
}
@Override
protected void refresh() {
updateButtonPreferenceTitle(mPreference);
- mPreference.setVisible(getButtonPreferenceVisibility(mCachedDevice));
+ setPreferencesVisibility(getButtonPreferenceVisibility(mCachedDevice));
}
@@ -77,6 +85,11 @@ public class BluetoothDetailsPairOtherController extends BluetoothDetailsControl
preference.setTitle(stringRes);
}
+ private void setPreferencesVisibility(boolean visible) {
+ mPreference.setVisible(visible);
+ mSpacePreference.setVisible(visible);
+ }
+
private boolean getButtonPreferenceVisibility(CachedBluetoothDevice cachedDevice) {
return isBinauralMode(cachedDevice) && isOnlyOneSideConnected(cachedDevice);
}
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsPairOtherControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsPairOtherControllerTest.java
index d01e3ac4d58..ae47698f3a9 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsPairOtherControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsPairOtherControllerTest.java
@@ -21,6 +21,7 @@ import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.when;
import com.android.settings.R;
+import com.android.settings.applications.SpacePreference;
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
import com.android.settingslib.bluetooth.HearingAidProfile;
import com.android.settingslib.widget.ButtonPreference;
@@ -43,6 +44,7 @@ public class BluetoothDetailsPairOtherControllerTest extends BluetoothDetailsCon
private CachedBluetoothDevice mSubCachedDevice;
private BluetoothDetailsPairOtherController mController;
private ButtonPreference mPreference;
+ private SpacePreference mSpacePreference;
@Override
public void setUp() {
@@ -51,8 +53,11 @@ public class BluetoothDetailsPairOtherControllerTest extends BluetoothDetailsCon
mController = new BluetoothDetailsPairOtherController(mContext, mFragment, mCachedDevice,
mLifecycle);
mPreference = new ButtonPreference(mContext);
+ mSpacePreference = new SpacePreference(mContext, null);
mPreference.setKey(mController.getPreferenceKey());
+ mSpacePreference.setKey(BluetoothDetailsPairOtherController.KEY_SPACE);
mScreen.addPreference(mPreference);
+ mScreen.addPreference(mSpacePreference);
}
@Test
@@ -76,7 +81,17 @@ public class BluetoothDetailsPairOtherControllerTest extends BluetoothDetailsCon
}
@Test
- public void isAvailable_isConnectedHearingAidDevice_available() {
+ public void init_isNotConnectedHearingAidDevice_notVisiblePreference() {
+ when(mCachedDevice.isConnectedHearingAidDevice()).thenReturn(false);
+
+ mController.init(mScreen);
+
+ assertThat(mPreference.isVisible()).isFalse();
+ assertThat(mSpacePreference.isVisible()).isFalse();
+ }
+
+ @Test
+ public void isAvailable_isNotConnectedHearingAidDevice_notAvailable() {
when(mCachedDevice.isConnectedHearingAidDevice()).thenReturn(false);
assertThat(mController.isAvailable()).isFalse();
@@ -129,4 +144,15 @@ public class BluetoothDetailsPairOtherControllerTest extends BluetoothDetailsCon
assertThat(mPreference.getTitle().toString()).isEqualTo(
mContext.getString(R.string.bluetooth_pair_left_ear_button));
}
+
+ @Test
+ public void refresh_isNotConnectedHearingAidDevice_notVisiblePreference() {
+ when(mCachedDevice.isConnectedHearingAidDevice()).thenReturn(false);
+ mController.init(mScreen);
+
+ mController.refresh();
+
+ assertThat(mPreference.isVisible()).isFalse();
+ assertThat(mSpacePreference.isVisible()).isFalse();
+ }
}