UDownloadTask.fromJson constructor

UDownloadTask.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory UDownloadTask.fromJson(Map<String, dynamic> json) {
  final UDownloadTask task = UDownloadTask(
    id: json["id"] as String,
    request: UDownloadRequest.fromJson(json["request"] as Map<String, dynamic>),
    createdAt: DateTime.fromMillisecondsSinceEpoch(json["created"] as int),
    status: UDownloadStatus.values.firstWhere((UDownloadStatus s) => s.name == json["status"], orElse: () => UDownloadStatus.paused),
  )
    ..received = json["received"] as int? ?? 0
    ..total = json["total"] as int? ?? -1
    ..fileName = json["fileName"] as String?
    ..mimeType = json["mimeType"] as String?
    ..result = json["result"] as String?
    ..partPath = json["partPath"] as String?
    ..etag = json["etag"] as String?
    ..lastModified = json["lastModified"] as String?
    ..acceptsRanges = json["ranges"] == true
    ..system = json["system"] == true
    ..mirrorIndex = json["mirror"] as int? ?? 0
    ..completedAt = json["completed"] == null ? null : DateTime.fromMillisecondsSinceEpoch(json["completed"] as int)
    ..error = json["error"] == null ? null : UDownloadError.fromJson(json["error"] as Map<String, dynamic>);
  task.segments.addAll(((json["segments"] as List<dynamic>?) ?? <dynamic>[]).map((dynamic s) => UDownloadSegment.fromJson(s as List<dynamic>)));
  return task;
}