DocumentFile.fromMap constructor

DocumentFile.fromMap(
  1. Map<Object?, Object?> map
)

Implementation

factory DocumentFile.fromMap(Map<Object?, Object?> map) {
  // Safely parse the size, whether Java sent an int, double, or String
  final rawSize = map['size'];
  final parsedSize = rawSize != null
      ? (double.tryParse(rawSize.toString()) ?? 0.0)
      : 0.0;

  final rawDate = map['date_modified'];
  DateTime? parsedDate;

  if (rawDate != null) {
    final seconds = int.tryParse(rawDate.toString());

    if (seconds != null) {
      parsedDate = DateTime.fromMillisecondsSinceEpoch(seconds * 1000);
    }
  }

  return DocumentFile(
    name: map['name']?.toString() ?? 'Unknown File',
    sizeBytes: parsedSize,
    path: map['path']?.toString() ?? '',
    mimeType: map['mime_type']?.toString() ?? '',
    lastModified: parsedDate,
  );
}