diff --git a/lib/models/file.dart b/lib/models/file.dart index 5b01b3aa1..0f6ce3c08 100644 --- a/lib/models/file.dart +++ b/lib/models/file.dart @@ -131,12 +131,16 @@ class File { } metadata["fileType"] = fileType.index; final asset = await getAsset(); - fileSubType = asset.subTypes; - metadata["subType"] = fileSubType; - if (fileType == FileType.video) { - duration = asset.duration; - metadata["duration"] = duration; - } else { + // asset can be null for files shared to app + if (asset != null) { + fileSubType = asset.subTypes; + metadata["subType"] = fileSubType; + if (fileType == FileType.video) { + duration = asset.duration; + metadata["duration"] = duration; + } + } + if (fileType == FileType.image || fileType == FileType.livePhoto){ exif = (await readExifFromFile(sourceFile)).toString(); metadata["exif"] = exif; }