diff options
Diffstat (limited to 'android/bluetooth')
-rw-r--r-- | android/bluetooth/BluetoothHearingAid.java | 20 | ||||
-rw-r--r-- | android/bluetooth/BluetoothHidDevice.java | 22 |
2 files changed, 32 insertions, 10 deletions
diff --git a/android/bluetooth/BluetoothHearingAid.java b/android/bluetooth/BluetoothHearingAid.java index 8f8083ed..159e165d 100644 --- a/android/bluetooth/BluetoothHearingAid.java +++ b/android/bluetooth/BluetoothHearingAid.java @@ -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(); } diff --git a/android/bluetooth/BluetoothHidDevice.java b/android/bluetooth/BluetoothHidDevice.java index af99bf7d..3bc8544e 100644 --- a/android/bluetooth/BluetoothHidDevice.java +++ b/android/bluetooth/BluetoothHidDevice.java @@ -701,6 +701,28 @@ public final class BluetoothHidDevice implements BluetoothProfile { } /** + * Gets the application name of the current HidDeviceService user. + * + * @return the current user name, or empty string if cannot get the name + * {@hide} + */ + public String getUserAppName() { + final IBluetoothHidDevice service = mService; + + if (service != null) { + try { + return service.getUserAppName(); + } catch (RemoteException e) { + Log.e(TAG, e.toString()); + } + } else { + Log.w(TAG, "Proxy not attached to service"); + } + + return ""; + } + + /** * Initiates connection to host which is currently paired with this device. If the application * is not registered, #connect(BluetoothDevice) will fail. The connection state should be * tracked by the application by handling callback from Callback#onConnectionStateChanged. The |