allSelectableItems property

List<TaskListItem> get allSelectableItems

Implementation

List<TaskListItem> get allSelectableItems {
  final bgTasks = tasks.values.toList();
  final items = bgTasks.map(_toListItem).toList();

  // Sort: running first, then by start time descending
  items.sort((a, b) {
    if (a.status == TaskStatus.running && b.status != TaskStatus.running) {
      return -1;
    }
    if (a.status != TaskStatus.running && b.status == TaskStatus.running) {
      return 1;
    }
    final aTime = a.task?.startTime ?? DateTime(2000);
    final bTime = b.task?.startTime ?? DateTime(2000);
    return bTime.compareTo(aTime);
  });

  return items;
}