summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXin Li <delphij@google.com>2019-08-14 12:04:08 -0700
committerXin Li <delphij@google.com>2019-08-14 12:04:08 -0700
commit775b5ac62866e451a55ecc17d9fbb2a208850f95 (patch)
tree726ce4cd8a4d3e74ad6487313eb3e4211331f8cc
parent7b5fb80a8dd7289663601a4651e029ada81efc55 (diff)
parentddbe0492894174906952b5d4344577dbc2b5d011 (diff)
downloadPackageInstaller-775b5ac62866e451a55ecc17d9fbb2a208850f95.tar.gz
DO NOT MERGE - Merge qt-dev-plus-aosp-without-vendor (5713463) into stage-aosp-master
Bug: 134405016 Change-Id: I9ecb0b4c54759a6303711461aebb9d1fe2744e79
-rw-r--r--src/com/android/packageinstaller/permission/ui/handheld/ReviewPermissionsFragment.java9
-rw-r--r--src/com/android/packageinstaller/role/service/RoleSearchIndexablesProvider.java10
2 files changed, 15 insertions, 4 deletions
diff --git a/src/com/android/packageinstaller/permission/ui/handheld/ReviewPermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/ReviewPermissionsFragment.java
index 95daf87e0..85ec2d327 100644
--- a/src/com/android/packageinstaller/permission/ui/handheld/ReviewPermissionsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/handheld/ReviewPermissionsFragment.java
@@ -231,8 +231,13 @@ public final class ReviewPermissionsFragment extends PreferenceFragmentCompat
UserHandle user = UserHandle.getUserHandleForUid(pkg.applicationInfo.uid);
for (String perm : pkg.requestedPermissions) {
- pm.updatePermissionFlags(perm, pkg.packageName, FLAG_PERMISSION_REVIEW_REQUIRED,
- 0, user);
+ try {
+ pm.updatePermissionFlags(perm, pkg.packageName, FLAG_PERMISSION_REVIEW_REQUIRED,
+ 0, user);
+ } catch (IllegalArgumentException e) {
+ Log.e(LOG_TAG, "Cannot unmark " + perm + " requested by " + pkg.packageName
+ + " as review required", e);
+ }
}
}
diff --git a/src/com/android/packageinstaller/role/service/RoleSearchIndexablesProvider.java b/src/com/android/packageinstaller/role/service/RoleSearchIndexablesProvider.java
index 55076278c..4d5341cbd 100644
--- a/src/com/android/packageinstaller/role/service/RoleSearchIndexablesProvider.java
+++ b/src/com/android/packageinstaller/role/service/RoleSearchIndexablesProvider.java
@@ -19,6 +19,7 @@ package com.android.packageinstaller.role.service;
import android.content.Context;
import android.database.Cursor;
import android.database.MatrixCursor;
+import android.os.Binder;
import android.provider.SearchIndexablesContract;
import android.util.ArrayMap;
@@ -50,8 +51,13 @@ public class RoleSearchIndexablesProvider extends BaseSearchIndexablesProvider {
for (int i = 0; i < rolesSize; i++) {
Role role = roles.valueAt(i);
- if (!role.isAvailable(context) || !role.isVisible(context)) {
- continue;
+ long token = Binder.clearCallingIdentity();
+ try {
+ if (!role.isAvailable(context) || !role.isVisible(context)) {
+ continue;
+ }
+ } finally {
+ Binder.restoreCallingIdentity(token);
}
String label = context.getString(role.getLabelResource());