From 0b4cafdae8c2b89c9c736c82edc48f429803b2b5 Mon Sep 17 00:00:00 2001 From: Oliver Scott Date: Fri, 26 Nov 2021 12:45:53 -0500 Subject: [PATCH] Fix the case where restricted mode allowed reasons are ignored Restricted mode allowed reasons are not considered in power and data usage restriction rule updates. This could result in sending the wrong network state to apps. Bug: https://issuetracker.google.com/issues/206947902 Change-Id: I5e616fd1e9a916ad9a367b4391c85c1febbf1f6b --- .../com/android/server/net/NetworkPolicyManagerService.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java index 367f33848c06b..5de5fd3cc79ce 100644 --- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java +++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java @@ -4759,6 +4759,8 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { ? ALLOWED_REASON_POWER_SAVE_ALLOWLIST : 0); newAllowedReasons |= (isWhitelistedFromPowerSaveExceptIdleUL(uid) ? ALLOWED_REASON_POWER_SAVE_EXCEPT_IDLE_ALLOWLIST : 0); + newAllowedReasons |= (uidBlockedState.allowedReasons + & ALLOWED_REASON_RESTRICTED_MODE_PERMISSIONS); uidBlockedState.blockedReasons = (uidBlockedState.blockedReasons & BLOCKED_METERED_REASON_MASK) | newBlockedReasons;