onActivityChange static method

StreamSubscription<Activity> onActivityChange(
  1. void callback(
    1. Activity
    ), {
  2. Function? onError,
})

Subscribes to activity change events.

Implementation

static StreamSubscription<Activity> onActivityChange(
  void Function(Activity) callback, {
  Function? onError,
}) {
  return events
      .where((event) => event.type == EventType.activityChange)
      .map((event) {
    final data = event.data;
    if (data is Activity) {
      return data;
    }
    if (data is Location && data.activity != null) {
      return data.activity!;
    }
    if (data is Map) {
      return Activity.fromMap(Map<String, dynamic>.from(data));
    }
    return const Activity(type: ActivityType.unknown, confidence: 0);
  }).listen(callback, onError: onError);
}