diff options
author | 2025-03-11 09:34:11 -0700 | |
---|---|---|
committer | 2025-03-11 09:34:11 -0700 | |
commit | 6bfeb9ac823d5369599eb6334f7ed0fc5ab9f2d7 (patch) | |
tree | e6d35dbc8c0368d4fd1b8b479c4e2e62a6808434 /PermissionController/src | |
parent | 3fab6c923e1ca1e9913cbbbc294a01c5d77a85f6 (diff) | |
parent | db9f5e553fc8fc1bd683aac053be70c33eb7d273 (diff) |
Merge "Exhaustive multi-device permission CTS" into main
Diffstat (limited to 'PermissionController/src')
-rw-r--r-- | PermissionController/src/com/android/permissioncontroller/permission/ui/GrantPermissionsActivity.java | 33 |
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]; |