summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author mrulhania <mrulhania@google.com> 2024-12-17 14:10:42 -0800
committer Manjeet Rulhania <mrulhania@google.com> 2024-12-17 14:18:09 -0800
commit11ad58507e37077bc65ff919aeca19dc4429848e (patch)
treee821dce0097341957ddc86d9d2b90f3868158238
parent8d7d869dc31a0e6d1085cca007e787d185a6b485 (diff)
Handle null in Activity#requestPermissions optimization
The recent optimization introduced in ag/30469303 caused NPE. App may pass null as an element accidentally in `permissions` collection parameter, the optimization shouldn't change the behavior. Fix: 383954592 Test: atest android.permissionui.cts.PermissionTest23#testNullAndRealPermission FLAG: EXEMPT bug fix Change-Id: Ic271664391afaa3512c1e34f26ef7e792e03213f
-rw-r--r--core/java/android/app/Activity.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java
index fee8cdb1ce51..c3ef104075f2 100644
--- a/core/java/android/app/Activity.java
+++ b/core/java/android/app/Activity.java
@@ -5834,7 +5834,11 @@ public class Activity extends ContextThemeWrapper
final int size = permissions.length;
int[] results = new int[size];
for (int i = 0; i < size; i++) {
- results[i] = deviceContext.getPermissionRequestState(permissions[i]);
+ if (permissions[i] == null) {
+ results[i] = Context.PERMISSION_REQUEST_STATE_UNREQUESTABLE;
+ } else {
+ results[i] = deviceContext.getPermissionRequestState(permissions[i]);
+ }
}
return results;
}