mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-29 13:53:54 +01:00
fixes issues related to location permission denial even when allowed inside in-app camera flow (#5313)
* fixes issues related to location permission denial even when allowed inside in-app camera flow * fixes related to in app camera location permissions
This commit is contained in:
parent
8d604a25fa
commit
9525409b9b
18 changed files with 442 additions and 251 deletions
|
|
@ -38,7 +38,6 @@ object DownloadUtils {
|
|||
}
|
||||
PermissionUtils.checkPermissionsAndPerformAction(
|
||||
activity,
|
||||
PermissionUtils.PERMISSIONS_STORAGE,
|
||||
{ enqueueRequest(activity, req) },
|
||||
{
|
||||
Toast.makeText(
|
||||
|
|
@ -48,8 +47,9 @@ object DownloadUtils {
|
|||
).show()
|
||||
},
|
||||
R.string.storage_permission,
|
||||
R.string.write_storage_permission_rationale
|
||||
)
|
||||
R.string.write_storage_permission_rationale,
|
||||
*PermissionUtils.PERMISSIONS_STORAGE
|
||||
)
|
||||
}
|
||||
|
||||
private fun enqueueRequest(activity: Activity, req: DownloadManager.Request) {
|
||||
|
|
|
|||
|
|
@ -100,11 +100,11 @@ public class PermissionUtils {
|
|||
* @param rationaleMessage rationale message to be displayed when permission was denied. It
|
||||
* can be an invalid @StringRes
|
||||
*/
|
||||
public static void checkPermissionsAndPerformAction(Activity activity, String[] permissions,
|
||||
public static void checkPermissionsAndPerformAction(Activity activity,
|
||||
Runnable onPermissionGranted, @StringRes int rationaleTitle,
|
||||
@StringRes int rationaleMessage) {
|
||||
checkPermissionsAndPerformAction(activity, permissions, onPermissionGranted, null,
|
||||
rationaleTitle, rationaleMessage);
|
||||
@StringRes int rationaleMessage, String... permissions) {
|
||||
checkPermissionsAndPerformAction(activity, onPermissionGranted, null,
|
||||
rationaleTitle, rationaleMessage, permissions);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -125,9 +125,9 @@ public class PermissionUtils {
|
|||
* @param rationaleTitle rationale title to be displayed when permission was denied
|
||||
* @param rationaleMessage rationale message to be displayed when permission was denied
|
||||
*/
|
||||
public static void checkPermissionsAndPerformAction(Activity activity, String[] permissions,
|
||||
public static void checkPermissionsAndPerformAction(Activity activity,
|
||||
Runnable onPermissionGranted, Runnable onPermissionDenied, @StringRes int rationaleTitle,
|
||||
@StringRes int rationaleMessage) {
|
||||
@StringRes int rationaleMessage, String... permissions) {
|
||||
Dexter.withActivity(activity)
|
||||
.withPermissions(permissions)
|
||||
.withListener(new MultiplePermissionsListener() {
|
||||
|
|
@ -135,6 +135,7 @@ public class PermissionUtils {
|
|||
public void onPermissionsChecked(MultiplePermissionsReport report) {
|
||||
if (report.areAllPermissionsGranted()) {
|
||||
onPermissionGranted.run();
|
||||
return;
|
||||
}
|
||||
if (report.isAnyPermissionPermanentlyDenied()) {
|
||||
// permission is denied permanently, we will show user a dialog message.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue