observerQuery static method

StreamSubscription observerQuery(
  1. List<String> identifiers,
  2. Predicate? predicate, {
  3. required dynamic onUpdate(
    1. String
    ),
})

Sets subscription for data changes. Will call onUpdate callback, if there were changes regarding to the provided identifier inside HealthKit. Provide the predicate to set the date interval.

Implementation

static StreamSubscription<dynamic> observerQuery(
    List<String> identifiers, Predicate? predicate,
    {required Function(String) onUpdate}) {
  final arguments = <String, dynamic>{
    'identifiers': identifiers,
  };
  if (predicate != null) {
    arguments.addAll(predicate.map);
  }
  return _observerQueryChannel
      .receiveBroadcastStream(arguments)
      .listen((event) {
    final map = Map<String, dynamic>.from(event);
    final identifier = map['identifier'];
    onUpdate(identifier);
  });
}