getResumeStatistics static method
Get statistics about resume states across all tracked tasks
Implementation
static Future<Map<String, dynamic>> getResumeStatistics() async {
try {
// Get all tasks from FileDownloader database
final records = await _downloader.database.allRecords();
final stats = <String, int>{
'totalTracked': records.length,
'canResume': 0,
'cannotResume': 0,
'noTask': 0,
'fileComplete': 0,
'fileNotFound': 0,
'error': 0,
};
for (final record in records) {
final filename = record.task.filename;
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(),
};
}
}