When BT is off hide rename preference

* Hide the preference when BT is off, shown preference when BT is on.

Bug: 78247352
Test: make -j40 RunSettingsRoboTests ROBOTEST_FILTER=BluetoothDeviceNamePreferenceControllerTest
Change-Id: Id1e11c7b546d7ac5bc8606e8645d07d77f2b522f
This commit is contained in:
hughchen
2018-05-21 20:46:57 +08:00
committed by Lei Yu
parent cd28a977ca
commit 4e2160904d
4 changed files with 34 additions and 13 deletions

View File

@@ -68,7 +68,7 @@ public class BluetoothDeviceNamePreferenceControllerTest {
@Test
public void testUpdateDeviceName_showSummaryWithDeviceName() {
mController.updateDeviceName(mPreference);
mController.updatePreferenceState(mPreference);
final CharSequence summary = mPreference.getSummary();

View File

@@ -70,11 +70,13 @@ public class BluetoothDeviceRenamePreferenceControllerTest {
mController = spy(new BluetoothDeviceRenamePreferenceController(
mContext, PREF_KEY, mFragment, mLocalAdapter));
doReturn(DEVICE_NAME).when(mController).getDeviceName();
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
mController.displayPreference(mScreen);
}
@Test
public void testUpdateDeviceName_showSummaryWithDeviceName() {
mController.updateDeviceName(mPreference);
mController.updatePreferenceState(mPreference);
final CharSequence summary = mPreference.getSummary();
@@ -93,10 +95,24 @@ public class BluetoothDeviceRenamePreferenceControllerTest {
@Test
public void displayPreference_shouldFindPreferenceWithMatchingPrefKey() {
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
mController.displayPreference(mScreen);
assertThat(mController.mPreference.getKey()).isEqualTo(mController.getPreferenceKey());
}
@Test
public void updatePreferenceState_whenBTisOnPreferenceShouldBeVisible() {
when(mLocalAdapter.isEnabled()).thenReturn(true);
mController.updatePreferenceState(mPreference);
assertThat(mPreference.isVisible()).isTrue();
}
@Test
public void updatePreferenceState_whenBTisOffPreferenceShouldBeHide() {
when(mLocalAdapter.isEnabled()).thenReturn(false);
mController.updatePreferenceState(mPreference);
assertThat(mPreference.isVisible()).isFalse();
}
}