Use isConnected in CachedBluetoothDevice
This method check whether it has connected profile, not physical connection between devices. It make more sense to use it in settings: 1. We only care about whether it has active profile(i.e. A2dp, hfp..) 2. Sometime when profile is disconnected, BluetoothDevice.isConnected() still return true. This may make UI flaky. Bug: 79947085 Test: RunSettingsRoboTests Change-Id: I44039704508a742c7a8aef0a035afcf169b08939
This commit is contained in:
@@ -272,6 +272,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 && device.isConnected();
|
return device.getBondState() == BluetoothDevice.BOND_BONDED && cachedDevice.isConnected();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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 && !device.isConnected();
|
return device.getBondState() == BluetoothDevice.BOND_BONDED && !cachedDevice.isConnected();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -161,7 +161,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(mBluetoothDevice).isConnected();
|
doReturn(true).when(mCachedBluetoothDevice).isConnected();
|
||||||
|
|
||||||
assertThat(mBluetoothDeviceUpdater.isDeviceConnected(mCachedBluetoothDevice)).isTrue();
|
assertThat(mBluetoothDeviceUpdater.isDeviceConnected(mCachedBluetoothDevice)).isTrue();
|
||||||
}
|
}
|
||||||
@@ -169,7 +169,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(mBluetoothDevice).isConnected();
|
doReturn(false).when(mCachedBluetoothDevice).isConnected();
|
||||||
|
|
||||||
assertThat(mBluetoothDeviceUpdater.isDeviceConnected(mCachedBluetoothDevice)).isFalse();
|
assertThat(mBluetoothDeviceUpdater.isDeviceConnected(mCachedBluetoothDevice)).isFalse();
|
||||||
}
|
}
|
||||||
|
@@ -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(mBluetoothDevice).isConnected();
|
doReturn(false).when(mCachedBluetoothDevice).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(mBluetoothDevice).isConnected();
|
doReturn(true).when(mCachedBluetoothDevice).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(mBluetoothDevice.isConnected()).thenReturn(true);
|
when(mCachedBluetoothDevice.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(mBluetoothDevice.isConnected()).thenReturn(false);
|
when(mCachedBluetoothDevice.isConnected()).thenReturn(false);
|
||||||
|
|
||||||
mBluetoothDeviceUpdater.onProfileConnectionStateChanged(mCachedBluetoothDevice,
|
mBluetoothDeviceUpdater.onProfileConnectionStateChanged(mCachedBluetoothDevice,
|
||||||
BluetoothProfile.STATE_DISCONNECTED, BluetoothProfile.A2DP);
|
BluetoothProfile.STATE_DISCONNECTED, BluetoothProfile.A2DP);
|
||||||
|
Reference in New Issue
Block a user