Merge "Merge "Move the setActiveDevice logic from Settings to SettingsLib (1/2)" into pi-dev am: 6b0a9bc054" into pi-dev-plus-aosp

This commit is contained in:
Android Build Merger (Role)
2018-03-20 21:35:53 +00:00
committed by Android (Google) Code Review
2 changed files with 43 additions and 0 deletions

View File

@@ -416,6 +416,29 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice>
}
}
/**
* Set this device as active device
* @return true if at least one profile on this device is set to active, false otherwise
*/
public boolean setActive() {
boolean result = false;
A2dpProfile a2dpProfile = mProfileManager.getA2dpProfile();
if (a2dpProfile != null && isConnectedProfile(a2dpProfile)) {
if (a2dpProfile.setActiveDevice(getDevice())) {
Log.i(TAG, "OnPreferenceClickListener: A2DP active device=" + this);
result = true;
}
}
HeadsetProfile headsetProfile = mProfileManager.getHeadsetProfile();
if ((headsetProfile != null) && isConnectedProfile(headsetProfile)) {
if (headsetProfile.setActiveDevice(getDevice())) {
Log.i(TAG, "OnPreferenceClickListener: Headset active device=" + this);
result = true;
}
}
return result;
}
void refreshName() {
fetchName();
dispatchAttributesChanged();

View File

@@ -294,4 +294,24 @@ public class CachedBluetoothDeviceTest {
// Verify new alias is returned on getName
assertThat(cachedBluetoothDevice.getName()).isEqualTo(DEVICE_ALIAS_NEW);
}
@Test
public void testSetActive() {
when(mProfileManager.getA2dpProfile()).thenReturn(mA2dpProfile);
when(mProfileManager.getHeadsetProfile()).thenReturn(mHfpProfile);
when(mA2dpProfile.setActiveDevice(any(BluetoothDevice.class))).thenReturn(true);
when(mHfpProfile.setActiveDevice(any(BluetoothDevice.class))).thenReturn(true);
assertThat(mCachedDevice.setActive()).isFalse();
mCachedDevice.onProfileStateChanged(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
assertThat(mCachedDevice.setActive()).isTrue();
mCachedDevice.onProfileStateChanged(mA2dpProfile, BluetoothProfile.STATE_DISCONNECTED);
mCachedDevice.onProfileStateChanged(mHfpProfile, BluetoothProfile.STATE_CONNECTED);
assertThat(mCachedDevice.setActive()).isTrue();
mCachedDevice.onProfileStateChanged(mHfpProfile, BluetoothProfile.STATE_DISCONNECTED);
assertThat(mCachedDevice.setActive()).isFalse();
}
}