Revert "Add prompt before asking for location in Nearby and Explore Maps (#5034)"

This reverts commit 9efafc8e1f.
This commit is contained in:
Josephine Lim 2022-08-22 23:53:52 +10:00
parent 9b9521a034
commit 51d604d068
5 changed files with 22 additions and 50 deletions

View file

@ -44,7 +44,7 @@ dependencies {
implementation 'com.mapbox.mapboxsdk:mapbox-android-telemetry:7.0.0'
implementation 'com.github.deano2390:MaterialShowcaseView:1.2.0'
implementation 'com.dinuscxj:circleprogressbar:1.1.1'
implementation 'com.karumi:dexter:6.2.3'
implementation 'com.karumi:dexter:5.0.0'
implementation "com.jakewharton:butterknife:$BUTTERKNIFE_VERSION"
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'

View file

@ -31,7 +31,6 @@ import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.AppCompatTextView;
import butterknife.BindView;
import butterknife.ButterKnife;
@ -111,7 +110,6 @@ public class ExploreMapFragment extends CommonsDaggerSupportFragment
private Marker currentLocationMarker;
private Polygon currentLocationPolygon;
IntentFilter intentFilter = new IntentFilter(MapUtils.NETWORK_INTENT_ACTION);
private AlertDialog locationDialog;
@Inject
LiveDataConverter liveDataConverter;
@ -402,27 +400,9 @@ public class ExploreMapFragment extends CommonsDaggerSupportFragment
@Override
public void checkPermissionsAndPerformAction() {
Timber.d("Checking permission and perfoming action");
if (PermissionUtils.hasPermission(getActivity(),
Manifest.permission.ACCESS_FINE_LOCATION)) {
Timber.d("Permission granted");
getPermissions();
} else {
if (locationDialog == null) {
locationDialog = new AlertDialog.Builder(requireActivity())
.setTitle(R.string.location_permission_title)
.setMessage(R.string.location_permission_rationale_nearby)
.setPositiveButton(R.string.ok, (dialog, which) -> {
dialog.dismiss();
getPermissions();
}).show();
}
}
}
private void getPermissions() {
PermissionUtils.checkPermissionsAndPerformAction(getActivity(),
Manifest.permission.ACCESS_FINE_LOCATION,
this::locationPermissionGranted,
() -> locationPermissionGranted(),
() -> isPermissionDenied = true,
R.string.location_permission_title,
R.string.location_permission_rationale_nearby);

View file

@ -241,7 +241,6 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment
private PlaceAdapter adapter;
private NearbyParentFragmentInstanceReadyCallback nearbyParentFragmentInstanceReadyCallback;
private boolean isAdvancedQueryFragmentVisible = false;
private AlertDialog locationDialog;
/**
* Holds filtered markers that are to be shown
@ -439,7 +438,8 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment
private void performMapReadyActions() {
if (((MainActivity)getActivity()).activeFragment == ActiveFragment.NEARBY && isMapBoxReady) {
if(!applicationKvStore.getBoolean("doNotAskForLocationPermission", false)){
if(!applicationKvStore.getBoolean("doNotAskForLocationPermission", false) ||
PermissionUtils.hasPermission(getActivity(), Manifest.permission.ACCESS_FINE_LOCATION)){
checkPermissionsAndPerformAction();
}else{
isPermissionDenied = true;
@ -1212,30 +1212,12 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment
@Override
public void checkPermissionsAndPerformAction() {
Timber.d("Checking permission and perfoming action");
if (PermissionUtils.hasPermission(getActivity(),
Manifest.permission.ACCESS_FINE_LOCATION)) {
Timber.d("Permission granted");
getPermissions();
} else {
if (locationDialog == null) {
locationDialog = new AlertDialog.Builder(requireActivity())
.setTitle(R.string.location_permission_title)
.setMessage(R.string.location_permission_rationale_nearby)
.setPositiveButton(R.string.ok, (dialog, which) -> {
dialog.dismiss();
getPermissions();
}).show();
}
}
}
private void getPermissions() {
PermissionUtils.checkPermissionsAndPerformAction(getActivity(),
Manifest.permission.ACCESS_FINE_LOCATION,
this::locationPermissionGranted,
() -> isPermissionDenied = true,
R.string.location_permission_title,
R.string.location_permission_rationale_nearby);
Manifest.permission.ACCESS_FINE_LOCATION,
() -> locationPermissionGranted(),
() -> isPermissionDenied = true,
R.string.location_permission_title,
R.string.location_permission_rationale_nearby);
}
/**

View file

@ -130,7 +130,18 @@ public class PermissionUtils {
@Override
public void onPermissionRationaleShouldBeShown(PermissionRequest permission,
PermissionToken token) {
token.continuePermissionRequest();
if (rationaleTitle == -1 && rationaleMessage == -1) {
token.continuePermissionRequest();
return;
}
DialogUtil.showAlertDialog(activity, activity.getString(rationaleTitle),
activity.getString(rationaleMessage),
activity.getString(android.R.string.ok),
activity.getString(android.R.string.cancel),
token::continuePermissionRequest,
token::cancelPermissionRequest,
null,
false);
}
})
.check();

View file

@ -254,8 +254,7 @@
<string name="copy_wikicode">Copy the wikitext to the clipboard</string>
<string name="wikicode_copied">The wikitext was copied to the clipboard</string>
<string name="nearby_location_not_available">Nearby might not work properly, Location not available.</string>
<string name="location_permission_rationale_nearby">The Commons app collects location data to
display nearby places that need photos, even when the app is in the background.</string>
<string name="location_permission_rationale_nearby">Permission required to display a list of nearby places</string>
<string name="nearby_directions">Directions</string>
<string name="nearby_wikidata">Wikidata</string>