checkCategories method

List<DateCategory> checkCategories(
  1. List<DateCategory> categories
)

Implementation

List<DateCategory> checkCategories(List<DateCategory> categories) {
  if (controller.isRecent &&
      controller.extraRecentMedia != null &&
      controller.extraRecentMedia!.isNotEmpty) {
    List<DateCategory> categoriesTmp = categories.map((e) => e).toList();
    int index = categoriesTmp
        .indexWhere((element) => element.name == controller.config.recent);
    if (index != -1) {
      DateCategory category = DateCategory(
          files: [
            ...controller.extraRecentMedia!,
            ...categoriesTmp[index].files,
          ],
          name: categoriesTmp[index].name,
          dateTime: categoriesTmp[index].dateTime);
      categoriesTmp[index] = category;
      return categoriesTmp;
    } else {
      return [
        DateCategory(
            files: controller.extraRecentMedia!,
            dateTime: controller.extraRecentMedia!.first.lastModified ??
                DateTime.now(),
            name: controller.config.recent),
        ...categoriesTmp
      ];
    }
  } else {
    return categories;
  }
}