OSDN Git Service

Add ACL state listener for bt devices
authorjackqdyulei <jackqdyulei@google.com>
Tue, 30 Oct 2018 18:28:17 +0000 (11:28 -0700)
committerjackqdyulei <jackqdyulei@google.com>
Tue, 30 Oct 2018 22:54:41 +0000 (15:54 -0700)
Bug: 79947085
Test: RunSettingsRoboTests
Change-Id: Ic8bee34fa940f95265ed838f7c7f038ba3cf8143

src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java
src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java
tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceUpdaterTest.java
tests/robotests/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdaterTest.java

index a1ce4a6..eab2a28 100644 (file)
@@ -171,6 +171,15 @@ public abstract class BluetoothDeviceUpdater implements BluetoothCallback,
     }
 
     @Override
+    public void onAclConnectionStateChanged(CachedBluetoothDevice cachedDevice, int state) {
+        if (DBG) {
+            Log.d(TAG, "onAclConnectionStateChanged() device: " + cachedDevice.getName()
+                    + ", state: " + state);
+        }
+        update(cachedDevice);
+    }
+
+    @Override
     public void onServiceConnected() {
         // When bluetooth service connected update the UI
         forceUpdate();
@@ -282,6 +291,6 @@ public abstract class BluetoothDeviceUpdater implements BluetoothCallback,
                     ", is connected : " + device.isConnected() + " , is profile connected : "
                     + cachedDevice.isConnected());
         }
-        return device.getBondState() == BluetoothDevice.BOND_BONDED && cachedDevice.isConnected();
+        return device.getBondState() == BluetoothDevice.BOND_BONDED && device.isConnected();
     }
 }
index 127cb03..6d034fd 100644 (file)
@@ -46,7 +46,7 @@ public class SavedBluetoothDeviceUpdater extends BluetoothDeviceUpdater
                     ", is connected : " + device.isConnected() + ", is profile connected : "
                     + cachedDevice.isConnected());
         }
-        return device.getBondState() == BluetoothDevice.BOND_BONDED && !cachedDevice.isConnected();
+        return device.getBondState() == BluetoothDevice.BOND_BONDED && !device.isConnected();
     }
 
     @Override
index 19e3bfb..c93d965 100644 (file)
@@ -180,7 +180,7 @@ public class BluetoothDeviceUpdaterTest {
     @Test
     public void isDeviceConnected_deviceConnected() {
         doReturn(BluetoothDevice.BOND_BONDED).when(mBluetoothDevice).getBondState();
-        doReturn(true).when(mCachedBluetoothDevice).isConnected();
+        doReturn(true).when(mBluetoothDevice).isConnected();
 
         assertThat(mBluetoothDeviceUpdater.isDeviceConnected(mCachedBluetoothDevice)).isTrue();
     }
@@ -188,7 +188,7 @@ public class BluetoothDeviceUpdaterTest {
     @Test
     public void isDeviceConnected_deviceNotConnected() {
         doReturn(BluetoothDevice.BOND_BONDED).when(mBluetoothDevice).getBondState();
-        doReturn(false).when(mCachedBluetoothDevice).isConnected();
+        doReturn(false).when(mBluetoothDevice).isConnected();
 
         assertThat(mBluetoothDeviceUpdater.isDeviceConnected(mCachedBluetoothDevice)).isFalse();
     }
index 4d4a711..e25e4b2 100644 (file)
@@ -77,7 +77,7 @@ public class SavedBluetoothDeviceUpdaterTest {
     @Test
     public void update_filterMatch_addPreference() {
         doReturn(BluetoothDevice.BOND_BONDED).when(mBluetoothDevice).getBondState();
-        doReturn(false).when(mCachedBluetoothDevice).isConnected();
+        doReturn(false).when(mBluetoothDevice).isConnected();
 
         mBluetoothDeviceUpdater.update(mCachedBluetoothDevice);
 
@@ -87,7 +87,7 @@ public class SavedBluetoothDeviceUpdaterTest {
     @Test
     public void update_filterNotMatch_removePreference() {
         doReturn(BluetoothDevice.BOND_NONE).when(mBluetoothDevice).getBondState();
-        doReturn(true).when(mCachedBluetoothDevice).isConnected();
+        doReturn(true).when(mBluetoothDevice).isConnected();
 
         mBluetoothDeviceUpdater.update(mCachedBluetoothDevice);
 
@@ -96,7 +96,7 @@ public class SavedBluetoothDeviceUpdaterTest {
 
     @Test
     public void onProfileConnectionStateChanged_deviceConnected_removePreference() {
-        when(mCachedBluetoothDevice.isConnected()).thenReturn(true);
+        when(mBluetoothDevice.isConnected()).thenReturn(true);
 
         mBluetoothDeviceUpdater.onProfileConnectionStateChanged(mCachedBluetoothDevice,
                 BluetoothProfile.STATE_CONNECTED, BluetoothProfile.A2DP);
@@ -106,7 +106,7 @@ public class SavedBluetoothDeviceUpdaterTest {
 
     @Test
     public void onProfileConnectionStateChanged_deviceDisconnected_addPreference() {
-        when(mCachedBluetoothDevice.isConnected()).thenReturn(false);
+        when(mBluetoothDevice.isConnected()).thenReturn(false);
 
         mBluetoothDeviceUpdater.onProfileConnectionStateChanged(mCachedBluetoothDevice,
                 BluetoothProfile.STATE_DISCONNECTED, BluetoothProfile.A2DP);