RPAppTask constructor

RPAppTask({
  1. String? name,
  2. required String type,
  3. String title = '',
  4. String? description = '',
  5. String instructions = '',
  6. int? minutesToComplete,
  7. Duration? expire,
  8. bool notification = false,
  9. List<Measure>? measures,
  10. required RPTask rpTask,
})

Implementation

RPAppTask({
  super.name,
  required super.type,
  super.title,
  super.description,
  super.instructions,
  super.minutesToComplete,
  super.expire,
  super.notification,
  List<Measure>? measures,
  required this.rpTask,
}) {
  measures ??= <Measure>[];

  // Add the survey as a measure type to be collected and later uploaded,
  // if not already added - issue #342.
  if (!measures.contains(Measure(type: SurveySamplingPackage.SURVEY))) {
    measures.add(Measure(type: SurveySamplingPackage.SURVEY));
  }
  // Ensure that the completed app task data type is included in the measures.
  if (!measures.contains(
    Measure(type: '${CamsDataTypes.COMPLETED_APP_TASK}.$type'),
  )) {
    measures.add(Measure(type: '${CamsDataTypes.COMPLETED_APP_TASK}.$type'));
  }

  super.measures = measures.toSet().toList();
}