From 0edde89f83e1b34ad0fa3bbbbdc0f85f4c7c1caa Mon Sep 17 00:00:00 2001 From: jackqdyulei Date: Tue, 30 Oct 2018 11:28:17 -0700 Subject: [PATCH] Add ACL state listener for bt devices Bug: 79947085 Test: RunSettingsRoboTests Change-Id: Ic8bee34fa940f95265ed838f7c7f038ba3cf8143 --- .../settings/bluetooth/BluetoothDeviceUpdater.java | 11 ++++++++++- .../bluetooth/SavedBluetoothDeviceUpdater.java | 2 +- .../bluetooth/BluetoothDeviceUpdaterTest.java | 4 ++-- .../bluetooth/SavedBluetoothDeviceUpdaterTest.java | 8 ++++---- 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java b/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java index a1ce4a63d74..eab2a280ad4 100644 --- a/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java +++ b/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java @@ -170,6 +170,15 @@ public abstract class BluetoothDeviceUpdater implements BluetoothCallback, update(cachedDevice); } + @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 @@ -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(); } } diff --git a/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java b/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java index 127cb03e18f..6d034fda96f 100644 --- a/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java +++ b/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java @@ -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 diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceUpdaterTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceUpdaterTest.java index 19e3bfbd439..c93d9653511 100644 --- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceUpdaterTest.java +++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceUpdaterTest.java @@ -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(); } diff --git a/tests/robotests/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdaterTest.java b/tests/robotests/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdaterTest.java index 4d4a711ff5e..e25e4b22744 100644 --- a/tests/robotests/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdaterTest.java +++ b/tests/robotests/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdaterTest.java @@ -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);