diff options
| author | 2023-04-13 08:16:23 +0000 | |
|---|---|---|
| committer | 2023-04-13 09:07:47 +0000 | |
| commit | cab2f5bd57545d21eff7dcde0775646d82fb22a8 (patch) | |
| tree | 59a896374bb9364cf1f8e22e9ea75b8132fab81a | |
| parent | 54f6fb6dc6ea58972ca603b6b8c0028a982d12aa (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.java | 5 |
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); |