subscribeToCharacteristic method
Subscribes to updates from the characteristic specified.
This stream terminates automatically when the device is disconnected.
Implementation
Stream<List<int>> subscribeToCharacteristic(
QualifiedCharacteristic characteristic,
) {
final isDisconnected = connectedDeviceStream
.where((update) =>
update.deviceId == characteristic.deviceId &&
(update.connectionState == DeviceConnectionState.disconnecting ||
update.connectionState == DeviceConnectionState.disconnected))
.cast<void>()
.firstWhere((_) => true, orElse: () {});
return initialize().asStream().asyncExpand(
(_) => _connectedDeviceOperator.subscribeToCharacteristic(
characteristic,
isDisconnected,
),
);
}