Merge "Fetch admin details if not present in Intent." into sc-qpr1-dev am: e750fb7528

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15843434

Change-Id: Ie4441b828293a92208ba4b1bcd589fbd1d5e3f7e
This commit is contained in:
TreeHugger Robot
2021-10-01 18:21:22 +00:00
committed by Automerger Merge Worker

View File

@@ -58,11 +58,25 @@ public class ActionDisabledByAdminDialog extends Activity
return admin;
}
admin.component = intent.getParcelableExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN);
int userId = intent.getIntExtra(Intent.EXTRA_USER_ID, UserHandle.myUserId());
Bundle adminDetails = null;
if (admin.component == null) {
DevicePolicyManager devicePolicyManager = getSystemService(DevicePolicyManager.class);
adminDetails = devicePolicyManager.getEnforcingAdminAndUserDetails(userId,
getRestrictionFromIntent(intent));
if (adminDetails != null) {
admin.component = adminDetails.getParcelable(
DevicePolicyManager.EXTRA_DEVICE_ADMIN);
}
}
if (intent.hasExtra(Intent.EXTRA_USER)) {
admin.user = intent.getParcelableExtra(Intent.EXTRA_USER);
} else {
int userId = intent.getIntExtra(Intent.EXTRA_USER_ID, UserHandle.myUserId());
if (adminDetails != null) {
userId = adminDetails.getInt(Intent.EXTRA_USER_ID, UserHandle.myUserId());
}
if (userId == UserHandle.USER_NULL) {
admin.user = null;
} else {