summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jonathan Scott <scottjonathan@google.com> 2023-04-13 08:16:23 +0000
committer Jonathan Scott <scottjonathan@google.com> 2023-04-13 09:07:47 +0000
commitcab2f5bd57545d21eff7dcde0775646d82fb22a8 (patch)
tree59a896374bb9364cf1f8e22e9ea75b8132fab81a
parent54f6fb6dc6ea58972ca603b6b8c0028a982d12aa (diff)
Fix NPE when removing policies.
Test: atest android.app.cts.ActivityManagerTest#testTimeTrackingAPI_SimpleStartExit Fixes: 277978314 Change-Id: I305af84c0fbdffbbcb1f34b1d50ab03476a2e530
-rw-r--r--services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java5
1 files changed, 5 insertions, 0 deletions
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java
index 3d5686dfe66e..0868fbea8c1e 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java
@@ -1066,6 +1066,11 @@ final class DevicePolicyEngine {
* Removes all local policies for the provided {@code userId}.
*/
private void removeLocalPoliciesForUser(int userId) {
+ if (!mLocalPolicies.contains(userId)) {
+ // No policies on user
+ return;
+ }
+
Set<PolicyKey> localPolicies = new HashSet<>(mLocalPolicies.get(userId).keySet());
for (PolicyKey policy : localPolicies) {
PolicyState<?> policyState = mLocalPolicies.get(userId).get(policy);