summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java30
1 files changed, 24 insertions, 6 deletions
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java
index 065c14e3f208..d114337f9c6c 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java
@@ -1636,15 +1636,14 @@ final class DevicePolicyEngine {
* active policies for that admin.
*/
private <V> void decreasePolicySizeForAdmin(PolicyState<V> policyState, EnforcingAdmin admin) {
- if (policyState.getPoliciesSetByAdmins().containsKey(admin)) {
- mAdminPolicySize.get(admin.getUserId()).put(admin,
- mAdminPolicySize.get(admin.getUserId()).get(admin) - sizeOf(
- policyState.getPoliciesSetByAdmins().get(admin)));
- }
- if (!mAdminPolicySize.contains(admin.getUserId())
+ if (!policyState.getPoliciesSetByAdmins().containsKey(admin)
+ || !mAdminPolicySize.contains(admin.getUserId())
|| !mAdminPolicySize.get(admin.getUserId()).containsKey(admin)) {
return;
}
+ mAdminPolicySize.get(admin.getUserId()).put(admin,
+ mAdminPolicySize.get(admin.getUserId()).get(admin) - sizeOf(
+ policyState.getPoliciesSetByAdmins().get(admin)));
if (mAdminPolicySize.get(admin.getUserId()).get(admin) <= 0) {
mAdminPolicySize.get(admin.getUserId()).remove(admin);
}
@@ -1704,6 +1703,25 @@ final class DevicePolicyEngine {
pw.println();
}
pw.decreaseIndent();
+ if (Flags.devicePolicySizeTrackingInternalBugFixEnabled()) {
+ pw.println();
+
+ pw.println("Default admin policy size limit: " + DEFAULT_POLICY_SIZE_LIMIT);
+ pw.println("Current admin policy size limit: " + mPolicySizeLimit);
+ pw.println("Admin Policies size: ");
+ for (int i = 0; i < mAdminPolicySize.size(); i++) {
+ int userId = mAdminPolicySize.keyAt(i);
+ pw.printf("User %d:\n", userId);
+ pw.increaseIndent();
+ for (EnforcingAdmin admin : mAdminPolicySize.get(userId).keySet()) {
+ pw.printf("Admin : " + admin + " : " + mAdminPolicySize.get(userId).get(
+ admin));
+ pw.println();
+ }
+ pw.decreaseIndent();
+ }
+ pw.decreaseIndent();
+ }
}
}