summaryrefslogtreecommitdiff
path: root/PermissionController
diff options
context:
space:
mode:
author Vladimir Komsiyski <vladokom@google.com> 2025-03-11 09:34:11 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2025-03-11 09:34:11 -0700
commit6bfeb9ac823d5369599eb6334f7ed0fc5ab9f2d7 (patch)
treee6d35dbc8c0368d4fd1b8b479c4e2e62a6808434 /PermissionController
parent3fab6c923e1ca1e9913cbbbc294a01c5d77a85f6 (diff)
parentdb9f5e553fc8fc1bd683aac053be70c33eb7d273 (diff)
Merge "Exhaustive multi-device permission CTS" into main
Diffstat (limited to 'PermissionController')
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/GrantPermissionsActivity.java33
1 files changed, 4 insertions, 29 deletions
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/GrantPermissionsActivity.java b/PermissionController/src/com/android/permissioncontroller/permission/ui/GrantPermissionsActivity.java
index 7573b571d..0dd07ffd0 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/GrantPermissionsActivity.java
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/GrantPermissionsActivity.java
@@ -311,10 +311,8 @@ public class GrantPermissionsActivity extends SettingsActivity
PackageManager.EXTRA_REQUEST_PERMISSIONS_DEVICE_ID,
ContextCompat.DEVICE_ID_DEFAULT);
- if (mTargetDeviceId != ContextCompat.DEVICE_ID_DEFAULT) {
- mPackageManager = ContextCompat.createDeviceContext(this, mTargetDeviceId)
- .getPackageManager();
- }
+ mPackageManager = ContextCompat.createDeviceContext(this, mTargetDeviceId)
+ .getPackageManager();
// When the permission grant dialog is streamed to a virtual device, and when requested
// permissions include both device-aware permissions and non-device aware permissions,
@@ -337,21 +335,6 @@ public class GrantPermissionsActivity extends SettingsActivity
new Intent(this, PermissionDialogStreamingBlockedActivity.class));
return;
}
- } else if (mTargetDeviceId != ContextCompat.DEVICE_ID_DEFAULT) {
- // On the default device, when requested permissions are for a remote device,
- // filter out non-device aware permissions.
- for (int i = mRequestedPermissions.size() - 1; i >= 0; i--) {
- if (!MultiDeviceUtils.isPermissionDeviceAware(
- getApplicationContext(),
- mTargetDeviceId,
- mRequestedPermissions.get(i))) {
- Log.e(
- LOG_TAG,
- "non-device aware permission is requested for a remote device: "
- + mRequestedPermissions.get(i));
- mRequestedPermissions.remove(i);
- }
- }
}
}
@@ -740,7 +723,7 @@ public class GrantPermissionsActivity extends SettingsActivity
int dialogDisplayDeviceId = ContextCompat.getDeviceId(this);
boolean isMessageDeviceAware =
dialogDisplayDeviceId != ContextCompat.DEVICE_ID_DEFAULT
- || dialogDisplayDeviceId != mTargetDeviceId;
+ || dialogDisplayDeviceId != info.getDeviceId();
int messageId = getMessageId(info.getGroupName(), info.getPrompt(), isMessageDeviceAware);
CharSequence message =
@@ -1132,17 +1115,9 @@ public class GrantPermissionsActivity extends SettingsActivity
if ((mDelegated || (mViewModel != null && mViewModel.shouldReturnPermissionState()))
&& mTargetPackage != null) {
- PackageManager defaultDevicePackageManager = SdkLevel.isAtLeastV()
- && mTargetDeviceId != ContextCompat.DEVICE_ID_DEFAULT
- ? createDeviceContext(ContextCompat.DEVICE_ID_DEFAULT).getPackageManager()
- : mPackageManager;
- PackageManager targetDevicePackageManager = mPackageManager;
for (int i = 0; i < resultPermissions.length; i++) {
String permission = resultPermissions[i];
- PackageManager pm = MultiDeviceUtils.isPermissionDeviceAware(
- getApplicationContext(), mTargetDeviceId, permission)
- ? targetDevicePackageManager : defaultDevicePackageManager;
- grantResults[i] = pm.checkPermission(resultPermissions[i], mTargetPackage);
+ grantResults[i] = mPackageManager.checkPermission(permission, mTargetPackage);
}
} else {
grantResults = new int[0];