From ce12b8ad2d67052284b2e62287b20f28ff1249ed Mon Sep 17 00:00:00 2001 From: agnostic-apollo Date: Wed, 30 Mar 2022 19:45:55 +0500 Subject: [PATCH] Fixed: Fix `Settings.ACTION_*` permission requests result callback Adding `FLAG_ACTIVITY_NEW_TASK` will start permission activity in separate task and `onActivityResult()` will be called early in the calling activity without grant/not-grant result being actually set. --- .../main/java/com/termux/shared/android/PermissionUtils.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/termux-shared/src/main/java/com/termux/shared/android/PermissionUtils.java b/termux-shared/src/main/java/com/termux/shared/android/PermissionUtils.java index d4ad5b92..ff19a151 100644 --- a/termux-shared/src/main/java/com/termux/shared/android/PermissionUtils.java +++ b/termux-shared/src/main/java/com/termux/shared/android/PermissionUtils.java @@ -352,7 +352,6 @@ public class PermissionUtils { Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION); intent.addCategory("android.intent.category.DEFAULT"); intent.setData(Uri.parse("package:" + context.getPackageName())); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); Error error; if (requestCode >=0) @@ -464,7 +463,6 @@ public class PermissionUtils { Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION); intent.setData(Uri.parse("package:" + context.getPackageName())); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); if (requestCode >=0) return ActivityUtils.startActivityForResult(context, requestCode, intent); @@ -534,7 +532,6 @@ public class PermissionUtils { Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS); intent.setData(Uri.parse("package:" + context.getPackageName())); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); if (requestCode >=0) return ActivityUtils.startActivityForResult(context, requestCode, intent);