// Use default selection (first connected, compatible device)
val session = Wearables.createSession(AutoDeviceSelector())
// Custom ranking: prefer devices by name
val customRanking = Comparator<Device> { a, b -> a.name.compareTo(b.name) }
val session = Wearables.createSession(AutoDeviceSelector(customRanking))
AutoDeviceSelector
(
deviceRanking
, filter
)
|
Signature
constructor(deviceRanking: Comparator<Device>), filter: (Device) -> Boolean = { true })Parameters deviceRanking: Comparator<Device>
A comparator function used to rank and select from connected devices when the current device is no longer connected or compatible. The default ranking prioritizes connected devices first.
filter: Function1
An additional filter applied on top of the default connected and compatible check. Only devices that are both connected/compatible AND pass this filter will be considered. The default accepts all connected and compatible devices.
Returns AutoDeviceSelector |
activeDevice
()
|
Returns the currently selected device identifier, or null if no devices match AutoDeviceSelector.filter.
Falls back to a synchronous lookup when the async flow in DeviceSelectorBase has not yet emitted (e.g. immediately after construction).
Signature
open override fun activeDevice(): DeviceIdentifier? Returns DeviceIdentifier? |
activeDeviceFlow
()
|
Returns a Flow that emits the currently selected device identifier, or null when no device is selected.
Use this to reactively observe device selection changes. The flow emits whenever the selected device changes — for example, when a device connects, disconnects, or when the selector switches to a different device.
Signature
open override fun activeDeviceFlow(): Flow<DeviceIdentifier?> Returns Flow<DeviceIdentifier?>
A Flow of DeviceIdentifier representing the active device, or null when no suitable device is available
|