Remove all device from preference when BT is disabled

The issue is happened when BT is disabled then navigate to
"Connected devices". BluetoothDeviceUpdater didn't update
UI when BT is disabled. Remove all device from preference when
BT is disabled.

Bug: 80090956
Test: make -j42 RunSettingsRoboTests
Change-Id: Ia1fd8cfbcf95d712a1a702fdf101ff98186b76cd
This commit is contained in:
hughchen
2019-04-18 17:48:15 +08:00
parent 96b534951c
commit d39fbe0f23
2 changed files with 7 additions and 2 deletions

View File

@@ -115,6 +115,8 @@ public abstract class BluetoothDeviceUpdater implements BluetoothCallback,
for (CachedBluetoothDevice cachedBluetoothDevice : cachedDevices) {
update(cachedBluetoothDevice);
}
} else {
removeAllDevicesFromPreference();
}
}

View File

@@ -215,11 +215,14 @@ public class BluetoothDeviceUpdaterTest {
}
@Test
public void forceUpdate_bluetoothDisabled_doNothing() {
public void forceUpdate_bluetoothDisabled_removeAllDevicesFromPreference() {
mShadowBluetoothAdapter.setEnabled(false);
mBluetoothDeviceUpdater.mPreferenceMap.put(mBluetoothDevice, mPreference);
mBluetoothDeviceUpdater.forceUpdate();
verify(mDevicePreferenceCallback, never()).onDeviceAdded(any(Preference.class));
verify(mDevicePreferenceCallback).onDeviceRemoved(mPreference);
assertThat(mBluetoothDeviceUpdater.mPreferenceMap).isEmpty();
}
@Test