Revert "[LE unicast] The isBusy state should involve the state of sub device"
This reverts commit 4b2b34eef3.
Reason for revert: According to b/253592180#comment6, we should hide the concept of member sets of a CSIP pairing or joining a group. The UI did not gray out device preference when the member is busy.
Change-Id: Iae13955f34222854f7b1f6b767e9aed09cb3ba32
This commit is contained in:
@@ -756,23 +756,16 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice>
|
||||
}
|
||||
|
||||
public boolean isBusy() {
|
||||
for (CachedBluetoothDevice memberDevice : getMemberDevice()) {
|
||||
if (isBusyState(memberDevice)) {
|
||||
return true;
|
||||
synchronized (mProfileLock) {
|
||||
for (LocalBluetoothProfile profile : mProfiles) {
|
||||
int status = getProfileConnectionState(profile);
|
||||
if (status == BluetoothProfile.STATE_CONNECTING
|
||||
|| status == BluetoothProfile.STATE_DISCONNECTING) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return getBondState() == BluetoothDevice.BOND_BONDING;
|
||||
}
|
||||
return isBusyState(this);
|
||||
}
|
||||
|
||||
private boolean isBusyState(CachedBluetoothDevice device){
|
||||
for (LocalBluetoothProfile profile : device.getProfiles()) {
|
||||
int status = device.getProfileConnectionState(profile);
|
||||
if (status == BluetoothProfile.STATE_CONNECTING
|
||||
|| status == BluetoothProfile.STATE_DISCONNECTING) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return device.getBondState() == BluetoothDevice.BOND_BONDING;
|
||||
}
|
||||
|
||||
private boolean updateProfiles() {
|
||||
|
||||
@@ -1069,80 +1069,4 @@ public class CachedBluetoothDeviceTest {
|
||||
assertThat(mSubCachedDevice.mDevice).isEqualTo(mDevice);
|
||||
assertThat(mCachedDevice.getMemberDevice().contains(mSubCachedDevice)).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isBusy_mainDeviceIsConnecting_returnsBusy() {
|
||||
mCachedDevice.addMemberDevice(mSubCachedDevice);
|
||||
updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
|
||||
updateSubDeviceProfileStatus(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
|
||||
when(mDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
|
||||
when(mSubDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
|
||||
|
||||
updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_CONNECTING);
|
||||
|
||||
assertThat(mCachedDevice.getMemberDevice().contains(mSubCachedDevice)).isTrue();
|
||||
assertThat(mCachedDevice.getProfiles().contains(mA2dpProfile)).isTrue();
|
||||
assertThat(mSubCachedDevice.getProfiles().contains(mA2dpProfile)).isTrue();
|
||||
assertThat(mCachedDevice.isBusy()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isBusy_mainDeviceIsBonding_returnsBusy() {
|
||||
mCachedDevice.addMemberDevice(mSubCachedDevice);
|
||||
updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
|
||||
updateSubDeviceProfileStatus(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
|
||||
when(mSubDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
|
||||
|
||||
when(mDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDING);
|
||||
|
||||
assertThat(mCachedDevice.getMemberDevice().contains(mSubCachedDevice)).isTrue();
|
||||
assertThat(mCachedDevice.getProfiles().contains(mA2dpProfile)).isTrue();
|
||||
assertThat(mSubCachedDevice.getProfiles().contains(mA2dpProfile)).isTrue();
|
||||
assertThat(mCachedDevice.isBusy()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isBusy_memberDeviceIsConnecting_returnsBusy() {
|
||||
mCachedDevice.addMemberDevice(mSubCachedDevice);
|
||||
updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
|
||||
updateSubDeviceProfileStatus(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
|
||||
when(mDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
|
||||
when(mSubDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
|
||||
|
||||
updateSubDeviceProfileStatus(mA2dpProfile, BluetoothProfile.STATE_CONNECTING);
|
||||
|
||||
assertThat(mCachedDevice.getMemberDevice().contains(mSubCachedDevice)).isTrue();
|
||||
assertThat(mCachedDevice.getProfiles().contains(mA2dpProfile)).isTrue();
|
||||
assertThat(mSubCachedDevice.getProfiles().contains(mA2dpProfile)).isTrue();
|
||||
assertThat(mCachedDevice.isBusy()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isBusy_memberDeviceIsBonding_returnsBusy() {
|
||||
mCachedDevice.addMemberDevice(mSubCachedDevice);
|
||||
updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
|
||||
updateSubDeviceProfileStatus(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
|
||||
when(mDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
|
||||
|
||||
when(mSubDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDING);
|
||||
|
||||
assertThat(mCachedDevice.getMemberDevice().contains(mSubCachedDevice)).isTrue();
|
||||
assertThat(mCachedDevice.getProfiles().contains(mA2dpProfile)).isTrue();
|
||||
assertThat(mSubCachedDevice.getProfiles().contains(mA2dpProfile)).isTrue();
|
||||
assertThat(mCachedDevice.isBusy()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isBusy_allDevicesAreNotBusy_returnsNotBusy() {
|
||||
mCachedDevice.addMemberDevice(mSubCachedDevice);
|
||||
updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
|
||||
updateSubDeviceProfileStatus(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
|
||||
when(mDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
|
||||
when(mSubDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
|
||||
|
||||
assertThat(mCachedDevice.getMemberDevice().contains(mSubCachedDevice)).isTrue();
|
||||
assertThat(mCachedDevice.getProfiles().contains(mA2dpProfile)).isTrue();
|
||||
assertThat(mSubCachedDevice.getProfiles().contains(mA2dpProfile)).isTrue();
|
||||
assertThat(mCachedDevice.isBusy()).isFalse();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user