Merge "Clear connected Bluetooth device from preference when Bluetooth state is off"

This commit is contained in:
TreeHugger Robot
2018-08-10 08:35:33 +00:00
committed by Android (Google) Code Review
4 changed files with 83 additions and 6 deletions

View File

@@ -15,6 +15,7 @@
*/
package com.android.settings.bluetooth;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.content.Context;
import android.os.Bundle;
@@ -115,16 +116,30 @@ public abstract class BluetoothDeviceUpdater implements BluetoothCallback,
* Force to update the list of bluetooth devices
*/
public void forceUpdate() {
Collection<CachedBluetoothDevice> cachedDevices =
if (BluetoothAdapter.getDefaultAdapter().isEnabled()) {
final Collection<CachedBluetoothDevice> cachedDevices =
mLocalManager.getCachedDeviceManager().getCachedDevicesCopy();
for (CachedBluetoothDevice cachedBluetoothDevice : cachedDevices) {
update(cachedBluetoothDevice);
}
}
}
public void removeAllDevicesFromPreference() {
final Collection<CachedBluetoothDevice> cachedDevices =
mLocalManager.getCachedDeviceManager().getCachedDevicesCopy();
for (CachedBluetoothDevice cachedBluetoothDevice : cachedDevices) {
update(cachedBluetoothDevice);
removePreference(cachedBluetoothDevice);
}
}
@Override
public void onBluetoothStateChanged(int bluetoothState) {
forceUpdate();
if (BluetoothAdapter.STATE_ON == bluetoothState) {
forceUpdate();
} else if (BluetoothAdapter.STATE_OFF == bluetoothState) {
removeAllDevicesFromPreference();
}
}
@Override