Merge "fix temp white list update in device idle" into mnc-dev
diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
index 847bcb5..d4b7256 100644
--- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
+++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
@@ -2093,8 +2093,10 @@
         for (UserInfo user : users) {
             for (int i = mPowerSaveTempWhitelistAppIds.size() - 1; i >= 0; i--) {
                 int appId = mPowerSaveTempWhitelistAppIds.keyAt(i);
+                boolean isAllow = mPowerSaveTempWhitelistAppIds.valueAt(i);
                 int uid = UserHandle.getUid(user.id, appId);
                 updateRulesForUidLocked(uid);
+                setUidFirewallRule(FIREWALL_CHAIN_DOZABLE, uid, !isAllow);
             }
         }
     }
@@ -2190,11 +2192,6 @@
         final boolean firewallReject = (uidRules & RULE_REJECT_ALL) != 0;
         if (oldFirewallReject != firewallReject) {
             setUidFirewallRule(FIREWALL_CHAIN_STANDBY, uid, firewallReject);
-            if (mFirewallChainStates.get(FIREWALL_CHAIN_DOZABLE) && !firewallReject) {
-                // if the dozable chain is on, and we decide to allow this uid.  we need to punch
-                // a hole in the dozable chain.
-                setUidFirewallRule(FIREWALL_CHAIN_DOZABLE, uid, false);
-            }
         }
 
         // dispatch changed rule to existing listeners