summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAyush Sharma <ayushsha@google.com>2021-08-13 16:38:59 +0000
committerGregory Montoir <gmontoir@google.com>2023-11-27 00:57:52 +0000
commite527553f95508fe09319952c4ad5ee72ea137817 (patch)
tree5f9dfb696f5a6be51c7af1fcdf19b84e5b52c3ac
parentd9dd1df178758a57328716131275f25836f91ac1 (diff)
downloadTvSettings-e527553f95508fe09319952c4ad5ee72ea137817.tar.gz
Fetch admin details if not present in Intent.
Get admin package/user details if this info is not present in the intent(ACTION_SHOW_ADMIN_SUPPORT_DETAILS) received Bug: 192245204 Bug: 308520120 Test: atest MixedDeviceOwnerTest#testCreateAdminSupportIntent atest MixedProfileOwnerTest#testCreateAdminSupportIntent atest MixedManagedProfileOwnerTest#testCreateAdminSupportIntent Change-Id: Idda6078a64c03588f0b786ebc79079198ab722fe Merged-In: Idda6078a64c03588f0b786ebc79079198ab722fe
-rw-r--r--Settings/src/com/android/tv/settings/ActionDisabledByAdminDialog.java16
1 files changed, 15 insertions, 1 deletions
diff --git a/Settings/src/com/android/tv/settings/ActionDisabledByAdminDialog.java b/Settings/src/com/android/tv/settings/ActionDisabledByAdminDialog.java
index f5ce41b45..ab4829ee3 100644
--- a/Settings/src/com/android/tv/settings/ActionDisabledByAdminDialog.java
+++ b/Settings/src/com/android/tv/settings/ActionDisabledByAdminDialog.java
@@ -61,11 +61,25 @@ public class ActionDisabledByAdminDialog extends FragmentActivity
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 {