From cab2f5bd57545d21eff7dcde0775646d82fb22a8 Mon Sep 17 00:00:00 2001 From: Jonathan Scott Date: Thu, 13 Apr 2023 08:16:23 +0000 Subject: [PATCH] Fix NPE when removing policies. Test: atest android.app.cts.ActivityManagerTest#testTimeTrackingAPI_SimpleStartExit Fixes: 277978314 Change-Id: I305af84c0fbdffbbcb1f34b1d50ab03476a2e530 --- .../com/android/server/devicepolicy/DevicePolicyEngine.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java index 3d5686dfe66e0..0868fbea8c1e3 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 localPolicies = new HashSet<>(mLocalPolicies.get(userId).keySet()); for (PolicyKey policy : localPolicies) { PolicyState policyState = mLocalPolicies.get(userId).get(policy);