Add ACL state listener for bt devices

Bug: 79947085
Test: RunSettingsRoboTests
Change-Id: Ic8bee34fa940f95265ed838f7c7f038ba3cf8143
This commit is contained in:
jackqdyulei
2018-10-30 11:28:17 -07:00
parent 7ad62ef340
commit 0edde89f83
4 changed files with 17 additions and 8 deletions

View File

@@ -170,6 +170,15 @@ public abstract class BluetoothDeviceUpdater implements BluetoothCallback,
update(cachedDevice); update(cachedDevice);
} }
@Override
public void onAclConnectionStateChanged(CachedBluetoothDevice cachedDevice, int state) {
if (DBG) {
Log.d(TAG, "onAclConnectionStateChanged() device: " + cachedDevice.getName()
+ ", state: " + state);
}
update(cachedDevice);
}
@Override @Override
public void onServiceConnected() { public void onServiceConnected() {
// When bluetooth service connected update the UI // When bluetooth service connected update the UI
@@ -282,6 +291,6 @@ public abstract class BluetoothDeviceUpdater implements BluetoothCallback,
", is connected : " + device.isConnected() + " , is profile connected : " ", is connected : " + device.isConnected() + " , is profile connected : "
+ cachedDevice.isConnected()); + cachedDevice.isConnected());
} }
return device.getBondState() == BluetoothDevice.BOND_BONDED && cachedDevice.isConnected(); return device.getBondState() == BluetoothDevice.BOND_BONDED && device.isConnected();
} }
} }

View File

@@ -46,7 +46,7 @@ public class SavedBluetoothDeviceUpdater extends BluetoothDeviceUpdater
", is connected : " + device.isConnected() + ", is profile connected : " ", is connected : " + device.isConnected() + ", is profile connected : "
+ cachedDevice.isConnected()); + cachedDevice.isConnected());
} }
return device.getBondState() == BluetoothDevice.BOND_BONDED && !cachedDevice.isConnected(); return device.getBondState() == BluetoothDevice.BOND_BONDED && !device.isConnected();
} }
@Override @Override

View File

@@ -180,7 +180,7 @@ public class BluetoothDeviceUpdaterTest {
@Test @Test
public void isDeviceConnected_deviceConnected() { public void isDeviceConnected_deviceConnected() {
doReturn(BluetoothDevice.BOND_BONDED).when(mBluetoothDevice).getBondState(); doReturn(BluetoothDevice.BOND_BONDED).when(mBluetoothDevice).getBondState();
doReturn(true).when(mCachedBluetoothDevice).isConnected(); doReturn(true).when(mBluetoothDevice).isConnected();
assertThat(mBluetoothDeviceUpdater.isDeviceConnected(mCachedBluetoothDevice)).isTrue(); assertThat(mBluetoothDeviceUpdater.isDeviceConnected(mCachedBluetoothDevice)).isTrue();
} }
@@ -188,7 +188,7 @@ public class BluetoothDeviceUpdaterTest {
@Test @Test
public void isDeviceConnected_deviceNotConnected() { public void isDeviceConnected_deviceNotConnected() {
doReturn(BluetoothDevice.BOND_BONDED).when(mBluetoothDevice).getBondState(); doReturn(BluetoothDevice.BOND_BONDED).when(mBluetoothDevice).getBondState();
doReturn(false).when(mCachedBluetoothDevice).isConnected(); doReturn(false).when(mBluetoothDevice).isConnected();
assertThat(mBluetoothDeviceUpdater.isDeviceConnected(mCachedBluetoothDevice)).isFalse(); assertThat(mBluetoothDeviceUpdater.isDeviceConnected(mCachedBluetoothDevice)).isFalse();
} }

View File

@@ -77,7 +77,7 @@ public class SavedBluetoothDeviceUpdaterTest {
@Test @Test
public void update_filterMatch_addPreference() { public void update_filterMatch_addPreference() {
doReturn(BluetoothDevice.BOND_BONDED).when(mBluetoothDevice).getBondState(); doReturn(BluetoothDevice.BOND_BONDED).when(mBluetoothDevice).getBondState();
doReturn(false).when(mCachedBluetoothDevice).isConnected(); doReturn(false).when(mBluetoothDevice).isConnected();
mBluetoothDeviceUpdater.update(mCachedBluetoothDevice); mBluetoothDeviceUpdater.update(mCachedBluetoothDevice);
@@ -87,7 +87,7 @@ public class SavedBluetoothDeviceUpdaterTest {
@Test @Test
public void update_filterNotMatch_removePreference() { public void update_filterNotMatch_removePreference() {
doReturn(BluetoothDevice.BOND_NONE).when(mBluetoothDevice).getBondState(); doReturn(BluetoothDevice.BOND_NONE).when(mBluetoothDevice).getBondState();
doReturn(true).when(mCachedBluetoothDevice).isConnected(); doReturn(true).when(mBluetoothDevice).isConnected();
mBluetoothDeviceUpdater.update(mCachedBluetoothDevice); mBluetoothDeviceUpdater.update(mCachedBluetoothDevice);
@@ -96,7 +96,7 @@ public class SavedBluetoothDeviceUpdaterTest {
@Test @Test
public void onProfileConnectionStateChanged_deviceConnected_removePreference() { public void onProfileConnectionStateChanged_deviceConnected_removePreference() {
when(mCachedBluetoothDevice.isConnected()).thenReturn(true); when(mBluetoothDevice.isConnected()).thenReturn(true);
mBluetoothDeviceUpdater.onProfileConnectionStateChanged(mCachedBluetoothDevice, mBluetoothDeviceUpdater.onProfileConnectionStateChanged(mCachedBluetoothDevice,
BluetoothProfile.STATE_CONNECTED, BluetoothProfile.A2DP); BluetoothProfile.STATE_CONNECTED, BluetoothProfile.A2DP);
@@ -106,7 +106,7 @@ public class SavedBluetoothDeviceUpdaterTest {
@Test @Test
public void onProfileConnectionStateChanged_deviceDisconnected_addPreference() { public void onProfileConnectionStateChanged_deviceDisconnected_addPreference() {
when(mCachedBluetoothDevice.isConnected()).thenReturn(false); when(mBluetoothDevice.isConnected()).thenReturn(false);
mBluetoothDeviceUpdater.onProfileConnectionStateChanged(mCachedBluetoothDevice, mBluetoothDeviceUpdater.onProfileConnectionStateChanged(mCachedBluetoothDevice,
BluetoothProfile.STATE_DISCONNECTED, BluetoothProfile.A2DP); BluetoothProfile.STATE_DISCONNECTED, BluetoothProfile.A2DP);