diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyFragment.java index 41d2105e3d..9361954895 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyFragment.java @@ -36,6 +36,7 @@ import fr.free.nrw.commons.location.LatLng; import fr.free.nrw.commons.location.LocationServiceManager; import fr.free.nrw.commons.location.LocationUpdateListener; +import fr.free.nrw.commons.utils.DialogUtil; import fr.free.nrw.commons.utils.FragmentUtils; import fr.free.nrw.commons.utils.NetworkUtils; import fr.free.nrw.commons.utils.UriSerializer; @@ -653,7 +654,21 @@ private void checkGps() { startActivityForResult(callGPSSettingIntent, 1); }) .setNegativeButton(R.string.menu_cancel_upload, (dialog, id) -> { - showLocationPermissionDeniedErrorDialog(); + DialogUtil.showAlertDialog( + getActivity(), + null, + getString(R.string.nearby_needs_gps), + getString(R.string.enable_gps), + getString(R.string.cancel), + () -> { + Intent callGPSSettingIntent = new Intent( + android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS); + Timber.d("Loaded settings page"); + startActivityForResult(callGPSSettingIntent, 1); + }, + () -> { + ((MainActivity)getActivity()).viewPager.setCurrentItem(((MainActivity)getActivity()).CONTRIBUTIONS_TAB_POSITION); + }); dialog.cancel(); }) .create() diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 2fd4d99daf..d9aa701036 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -230,6 +230,7 @@ Notifications Featured Nearby places cannot be displayed without location permissions + GPS needs to be enabled to use this feature. no description found Commons file page Wikidata item