getResumeStatistics static method

Future<Map<String, dynamic>> getResumeStatistics()

Get statistics about resume states across all registered tasks

Implementation

static Future<Map<String, dynamic>> getResumeStatistics() async {
  try {
    final allTasks = await DownloadTaskRegistry.getAllRegisteredTasks();
    final stats = <String, int>{
      'totalRegistered': allTasks.length,
      'canResume': 0,
      'cannotResume': 0,
      'noTask': 0,
      'fileComplete': 0,
      'fileNotFound': 0,
      'error': 0,
    };

    for (final filename in allTasks.keys) {
      final status = await checkResumeStatus(filename);
      final statusName = status.name;
      stats[statusName] = (stats[statusName] ?? 0) + 1;
    }

    return {
      'summary': stats,
      'lastChecked': DateTime.now().toIso8601String(),
    };
  } catch (e) {
    return {
      'error': e.toString(),
      'lastChecked': DateTime.now().toIso8601String(),
    };
  }
}