summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com>2023-11-28 23:24:22 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2023-11-28 23:24:22 +0000
commit5453f1fa573d959f59988eb085fba45533435d70 (patch)
treec6f19094a0ed1872b8092d36e69764ccba04f5f2
parenta8474cdaba4f77643a1391df4b064b9297813a25 (diff)
parente527553f95508fe09319952c4ad5ee72ea137817 (diff)
downloadTvSettings-5453f1fa573d959f59988eb085fba45533435d70.tar.gz
Merge "Fetch admin details if not present in Intent." into main
-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 {