From 3a94b5447c6a769a91a8350ef71a54122086ad51 Mon Sep 17 00:00:00 2001 From: Yue Zhu Date: Sat, 28 Oct 2023 23:12:59 +1100 Subject: [PATCH] Fix #5276: improve the media location access dialog strings Modify the sequence of displaying dialogues --- .../fragments/NearbyParentFragment.java | 38 ++++++++----------- 1 file changed, 15 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java index 275fcddb62..9442ca33ac 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java @@ -268,30 +268,13 @@ public void onActivityResult(Map result) { private ActivityResultLauncher locationPermissionLauncher = registerForActivityResult(new ActivityResultContracts.RequestMultiplePermissions(), new ActivityResultCallback>() { @Override public void onActivityResult(Map result) { - boolean areAllGranted = true; - for (final boolean b : result.values()) { - areAllGranted = areAllGranted && b; - } - if (areAllGranted) { - locationPermissionGranted(); - } else { - if (shouldShowRequestPermissionRationale(permission.ACCESS_FINE_LOCATION)) { - DialogUtil.showAlertDialog(getActivity(), getActivity().getString(R.string.location_permission_title), - getActivity().getString(R.string.location_permission_rationale_nearby), - getActivity().getString(android.R.string.ok), - getActivity().getString(android.R.string.cancel), - () -> { - if (!(locationManager.isNetworkProviderEnabled() || locationManager.isGPSProviderEnabled())) { - showLocationOffDialog(); - } - }, - () -> isPermissionDenied = true, - null, - false); - } else { - isPermissionDenied = true; + if (shouldShowRequestPermissionRationale(permission.ACCESS_FINE_LOCATION)) { + if (!(locationManager.isNetworkProviderEnabled() || locationManager.isGPSProviderEnabled())) { + showLocationOffDialog(); } + } else { + isPermissionDenied = true; } } }); @@ -1268,7 +1251,16 @@ public void setTabItemContributions() { @Override public void checkPermissionsAndPerformAction() { Timber.d("Checking permission and perfoming action"); - locationPermissionLauncher.launch(new String[]{permission.ACCESS_FINE_LOCATION}); + DialogUtil.showAlertDialog(getActivity(), getActivity().getString(R.string.location_permission_title), + getActivity().getString(R.string.location_permission_rationale_nearby), + getActivity().getString(android.R.string.ok), + getActivity().getString(android.R.string.cancel), + () -> { + locationPermissionLauncher.launch(new String[]{permission.ACCESS_FINE_LOCATION}); + }, + () -> isPermissionDenied = true, + null, + false); } /**