Merge "Fix only one "active" HA showing under Accessibility Settings"

This commit is contained in:
TreeHugger Robot
2019-02-14 18:03:19 +00:00
committed by Android (Google) Code Review
2 changed files with 15 additions and 3 deletions

View File

@@ -148,7 +148,8 @@ public class AccessibilityHearingAidPreferenceController extends BasePreferenceC
mFragmentManager = fragmentManager; mFragmentManager = fragmentManager;
} }
private CachedBluetoothDevice getConnectedHearingAidDevice() { @VisibleForTesting
CachedBluetoothDevice getConnectedHearingAidDevice() {
if (!mHearingAidProfileSupported) { if (!mHearingAidProfileSupported) {
return null; return null;
} }
@@ -158,10 +159,12 @@ public class AccessibilityHearingAidPreferenceController extends BasePreferenceC
final List<BluetoothDevice> deviceList = mLocalBluetoothManager.getProfileManager() final List<BluetoothDevice> deviceList = mLocalBluetoothManager.getProfileManager()
.getHearingAidProfile().getConnectedDevices(); .getHearingAidProfile().getConnectedDevices();
final Iterator it = deviceList.iterator(); final Iterator it = deviceList.iterator();
if (it.hasNext()) { while (it.hasNext()) {
BluetoothDevice obj = (BluetoothDevice)it.next(); BluetoothDevice obj = (BluetoothDevice)it.next();
if (!mLocalBluetoothManager.getCachedDeviceManager().isSubDevice(obj)) {
return mLocalBluetoothManager.getCachedDeviceManager().findDevice(obj); return mLocalBluetoothManager.getCachedDeviceManager().findDevice(obj);
} }
}
return null; return null;
} }

View File

@@ -181,6 +181,15 @@ public class AccessibilityHearingAidPreferenceControllerTest {
verify(mContext, never()).unregisterReceiver(any()); verify(mContext, never()).unregisterReceiver(any());
} }
@Test
public void getConnectedHearingAidDevice_doNotReturnSubDevice() {
when(mHearingAidProfile.getConnectedDevices()).thenReturn(generateHearingAidDeviceList());
when(mLocalBluetoothManager.getCachedDeviceManager().isSubDevice(mBluetoothDevice))
.thenReturn(true);
assertThat(mPreferenceController.getConnectedHearingAidDevice()).isNull();
}
private void setupBluetoothEnvironment() { private void setupBluetoothEnvironment() {
ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBluetoothManager; ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBluetoothManager;
mLocalBluetoothManager = Utils.getLocalBtManager(mContext); mLocalBluetoothManager = Utils.getLocalBtManager(mContext);