diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java b/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java index 2128b2f4bb1..61cdaf6f81d 100644 --- a/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java +++ b/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java @@ -115,6 +115,8 @@ public abstract class BluetoothDeviceUpdater implements BluetoothCallback, for (CachedBluetoothDevice cachedBluetoothDevice : cachedDevices) { update(cachedBluetoothDevice); } + } else { + removeAllDevicesFromPreference(); } } diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceUpdaterTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceUpdaterTest.java index 24aae859a31..10665529a86 100644 --- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceUpdaterTest.java +++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceUpdaterTest.java @@ -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