OSDN Git Service

Bluetooth: show multi-device status in Quick Settings
authorJack He <siyuanh@google.com>
Thu, 27 Jul 2017 06:51:23 +0000 (23:51 -0700)
committerJack He <siyuanh@google.com>
Thu, 27 Jul 2017 07:02:49 +0000 (07:02 +0000)
* 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

packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java

index 14afbfa..c691498 100644 (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();