Bluetooth: show multi-device status in Quick Settings

* In Quick Settings, BluetoothTile used BluetoothController to track
  BluetoothAdapter.ACTION_CONNECTION_STATE_CHANGED intent
  that is only fired when 1st device is connecting/connected and last
  device is disconnecting/disconnected. As result, non-first device's
  connecting/connected states and non-last device's
  disconnecting/disconnected states are not tracked properly.
* Instead, CachedBluetoothDevice.getMaxConnectionState() should be used

Bug: 63509289
Test: Connect to multiple devices and disconnect from multiple devices
Change-Id: I9ccc2d3e9e4ae1a44f4d270368a8f07030353544
This commit is contained in:
Jack He
2017-07-26 23:51:23 -07:00
parent 6462fe4b95
commit a46af4e647

View File

@@ -269,7 +269,7 @@ public class BluetoothTile extends QSTileImpl<BooleanState> {
item.icon = R.drawable.ic_qs_bluetooth_on;
item.line1 = device.getName();
item.tag = device;
int state = mController.getMaxConnectionState(device);
int state = device.getMaxConnectionState();
if (state == BluetoothProfile.STATE_CONNECTED) {
item.icon = R.drawable.ic_qs_bluetooth_connected;
int batteryLevel = device.getBatteryLevel();