canResume method

  1. @override
Future<bool> canResume(
  1. String taskId
)
override

Checks if a download task can be resumed

Parameters:

  • taskId: ID of the download task

Returns true if:

  • Task exists
  • Partial file exists
  • Server supports resume (ETag/Range headers)

Implementation

@override
Future<bool> canResume(String taskId) async {
  final task = _activeTasks[taskId];
  if (task == null) return false;

  final taskRecord = await _downloader.database.recordForId(taskId);
  if (taskRecord == null) return false;

  // Can resume if task was paused or failed and supports resume
  return taskRecord.status == TaskStatus.paused ||
         taskRecord.status == TaskStatus.failed;
}