queryActivitySummaryUpdates static method

StreamSubscription queryActivitySummaryUpdates(
  1. Predicate predicate, {
  2. required dynamic onUpdate(
    1. List<ActivitySummary>
    ),
})

Will fetch the actual values as a first data snapshot and notify about data changes. Will call onUpdate callback, if activity summaries have been changed. inside HealthKit Provide the predicate to set the date interval.

Implementation

static StreamSubscription<dynamic> queryActivitySummaryUpdates(
    Predicate predicate,
    {required Function(List<ActivitySummary>) onUpdate}) {
  final arguments = predicate.map;
  return _queryActivitySummaryChannel
      .receiveBroadcastStream(arguments)
      .listen((event) {
    final List<dynamic> list = jsonDecode(event);
    final activitySummaries = <ActivitySummary>[];
    for (final Map<String, dynamic> map in list) {
      final activitySummary = ActivitySummary.fromJson(map);
      activitySummaries.add(activitySummary);
    }
    onUpdate(activitySummaries);
  });
}