Merge "Hearing Aid: change get/set active device (3/3)"

am: a23007dd54

Change-Id: I0760912dd11edf7f3db443d663644b0ceb415f0e
This commit is contained in:
Hansong Zhang
2018-04-04 16:50:40 -07:00
committed by android-build-merger
3 changed files with 15 additions and 16 deletions

View File

@@ -421,29 +421,29 @@ public final class BluetoothHearingAid implements BluetoothProfile {
}
/**
* Check whether the device is active.
* Get the connected physical Hearing Aid devices that are active
*
* <p>Requires {@link android.Manifest.permission#BLUETOOTH}
* permission.
*
* @return the connected device that is active or null if no device
* is active
* @return the list of active devices. The first element is the left active
* device; the second element is the right active device. If either or both side
* is not active, it will be null on that position. Returns empty list on error.
* @hide
*/
@RequiresPermission(Manifest.permission.BLUETOOTH)
public boolean isActiveDevice(@Nullable BluetoothDevice device) {
if (VDBG) log("isActiveDevice()");
public List<BluetoothDevice> getActiveDevices() {
if (VDBG) log("getActiveDevices()");
try {
mServiceLock.readLock().lock();
if (mService != null && isEnabled()
&& ((device == null) || isValidDevice(device))) {
return mService.isActiveDevice(device);
if (mService != null && isEnabled()) {
return mService.getActiveDevices();
}
if (mService == null) Log.w(TAG, "Proxy not attached to service");
return false;
return new ArrayList<>();
} catch (RemoteException e) {
Log.e(TAG, "Stack:" + Log.getStackTraceString(new Throwable()));
return false;
return new ArrayList<>();
} finally {
mServiceLock.readLock().unlock();
}

View File

@@ -631,7 +631,7 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice>
}
HearingAidProfile hearingAidProfile = mProfileManager.getHearingAidProfile();
if (hearingAidProfile != null) {
mIsActiveDeviceHearingAid = hearingAidProfile.isActiveDevice(mDevice);
mIsActiveDeviceHearingAid = hearingAidProfile.getActiveDevices().contains(mDevice);
}
}

View File

@@ -136,13 +136,12 @@ public class HearingAidProfile implements LocalBluetoothProfile {
public boolean setActiveDevice(BluetoothDevice device) {
if (mService == null) return false;
mService.setActiveDevice(device);
return true;
return mService.setActiveDevice(device);
}
public boolean isActiveDevice(BluetoothDevice device) {
if (mService == null) return false;
return mService.isActiveDevice(device);
public List<BluetoothDevice> getActiveDevices() {
if (mService == null) return new ArrayList<>();
return mService.getActiveDevices();
}
public boolean isPreferred(BluetoothDevice device) {