From 2282ce3d025e252c266f06ca8df3f15e29f1bbf3 Mon Sep 17 00:00:00 2001 From: Ritika Pahwa <83745993+RitikaPahwa4444@users.noreply.github.com> Date: Mon, 25 Sep 2023 13:30:46 +0530 Subject: [PATCH] 5195: Fix upload wizard crash on tapping target icon (#5306) * LocationPickerActivity: fix crash on setting location for pictures with no EXIF location * strings.xml: remove extra string introduced * optimise constants * LocationPickerActivity: request for permission only on tapping target icon * remove newline * handle location permissions using LocationPermissionsHelper * add null check to prevent crash --- .../LocationPicker/LocationPickerActivity.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/LocationPicker/LocationPickerActivity.java b/app/src/main/java/fr/free/nrw/commons/LocationPicker/LocationPickerActivity.java index f796126a3..abe2eefd5 100644 --- a/app/src/main/java/fr/free/nrw/commons/LocationPicker/LocationPickerActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/LocationPicker/LocationPickerActivity.java @@ -483,13 +483,16 @@ public class LocationPickerActivity extends BaseActivity implements OnMapReadyCa @Override public void onLocationPermissionGranted() { fr.free.nrw.commons.location.LatLng currLocation = locationManager.getLastLocation(); - final CameraPosition position; - position = new CameraPosition.Builder() - .target(new com.mapbox.mapboxsdk.geometry.LatLng(currLocation.getLatitude(), currLocation.getLongitude(), 0)) // Sets the new camera position - .zoom(mapboxMap.getCameraPosition().zoom) // Same zoom level - .build(); + if (currLocation != null) { + final CameraPosition position; + position = new CameraPosition.Builder() + .target(new com.mapbox.mapboxsdk.geometry.LatLng(currLocation.getLatitude(), + currLocation.getLongitude(), 0)) // Sets the new camera position + .zoom(mapboxMap.getCameraPosition().zoom) // Same zoom level + .build(); - mapboxMap.animateCamera(CameraUpdateFactory.newCameraPosition(position), 1000); + mapboxMap.animateCamera(CameraUpdateFactory.newCameraPosition(position), 1000); + } } }); locationPermissionsHelper.handleLocationPermissions(locationAccessDialog, locationOffDialog);