diff --git a/app/src/main/java/net/sourceforge/opencamera/ImageSaver.java b/app/src/main/java/net/sourceforge/opencamera/ImageSaver.java index af7d78f0df2b54bf729f3b31c4a4835035cb5fa0..c20ebc757b7575c93a1620af3c02358be2a7df2b 100644 --- a/app/src/main/java/net/sourceforge/opencamera/ImageSaver.java +++ b/app/src/main/java/net/sourceforge/opencamera/ImageSaver.java @@ -3950,9 +3950,10 @@ public class ImageSaver extends Thread { } setCustomExif(exif, custom_tag_artist, custom_tag_copyright); - if( store_location && ( !exif.hasAttribute(ExifInterface.TAG_GPS_LATITUDE) || !exif.hasAttribute(ExifInterface.TAG_GPS_LATITUDE) ) ) { + if( store_location && ( !exif.hasAttribute(ExifInterface.TAG_GPS_LATITUDE) || !exif.hasAttribute(ExifInterface.TAG_GPS_LONGITUDE) || exif.getLatLong()[1] == 0.0d) ) { // We need this when using camera extensions (since Camera API doesn't support location for camera extensions). // But some devices (e.g., Pixel 6 Pro with Camera2 API) seem to not store location data, so we always check if we need to add it. + // Also for FP5, wherein longitude randomly is 0.0d, even when properly passed via JPEG_GPS_LOCATION // fine to ignore request.remove_device_exif, as this is a separate user option if( MyDebug.LOG ) Log.d(TAG, "store location"); // don't log location for privacy reasons!