diff --git a/lib/models/file.dart b/lib/models/file.dart index 0e8505b6c..f4c318d51 100644 --- a/lib/models/file.dart +++ b/lib/models/file.dart @@ -89,8 +89,12 @@ class File { metadata["deviceFolder"] = deviceFolder; metadata["creationTime"] = creationTime; metadata["modificationTime"] = modificationTime; - metadata["latitude"] = location.latitude; - metadata["longitude"] = location.longitude; + if (location != null && + location.latitude != null && + location.longitude != null) { + metadata["latitude"] = location.latitude; + metadata["longitude"] = location.longitude; + } metadata["fileType"] = fileType.index; return metadata; } diff --git a/lib/utils/file_uploader.dart b/lib/utils/file_uploader.dart index 169965ac6..0fcc6208a 100644 --- a/lib/utils/file_uploader.dart +++ b/lib/utils/file_uploader.dart @@ -219,7 +219,8 @@ class FileUploader { await _putFile(thumbnailUploadURL, encryptedThumbnailFile); // h4ck to fetch location data if missing (thank you Android Q+) lazily only during uploads - if (file.location.latitude == 0 && file.location.longitude == 0) { + if (file.location == null || + (file.location.latitude == 0 && file.location.longitude == 0)) { final latLong = await (await file.getAsset()).latlngAsync(); file.location = Location(latLong.latitude, latLong.longitude); }