From 0970046adf578c0003d5bfbd19a0ca58c18d96cc Mon Sep 17 00:00:00 2001 From: Felipe Leme Date: Thu, 8 Sep 2016 09:33:48 -0700 Subject: [PATCH] Don't update app idle rules on updateRulesForRestrictPowerUL(). updateRulesForRestrictPowerUL() should only affect the global rules (Doze and Battery Saver), while app idle is an app-specific rule. Such call was delaying setDeviceIdle() in O(100ms). BUG: 31281543 Test: cts-tradefed run commandAndExit cts -m CtsHostsideNetworkTests -t com.android.cts.net.HostsideRestrictBackgroundNetworkTests#testAppIdleNonMetered_enabled Test: cts-tradefed run commandAndExit cts -m CtsHostsideNetworkTests -t com.android.cts.net.HostsideRestrictBackgroundNetworkTests#testAppIdleNonMetered_whitelisted Test: cts-tradefed run commandAndExit cts -m CtsHostsideNetworkTests -t com.android.cts.net.HostsideRestrictBackgroundNetworkTests#testAppIdleNonMetered_blacklisted Test: cts-tradefed run commandAndExit cts -m CtsHostsideNetworkTests -t com.android.cts.net.HostsideRestrictBackgroundNetworkTests#testAppIdleMetered_enabled Test: cts-tradefed run commandAndExit cts -m CtsHostsideNetworkTests -t com.android.cts.net.HostsideRestrictBackgroundNetworkTests#testAppIdleMetered_whitelisted Test: cts-tradefed run commandAndExit cts -m CtsHostsideNetworkTests -t com.android.cts.net.HostsideRestrictBackgroundNetworkTests#testAppIdleMetered_disabled Change-Id: I32ad6853a6d88e2709538d00cd1e77b96d331b2d --- .../core/java/com/android/server/net/NetworkPolicyManagerService.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java index 7626e2af36e4..ed63613b3829 100644 --- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java +++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java @@ -715,6 +715,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { synchronized (mUidRulesFirstLock) { updatePowerSaveWhitelistUL(); updateRulesForRestrictPowerUL(); + updateRulesForAppIdleUL(); } } }; @@ -2731,6 +2732,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { private void updateRulesForGlobalChangeAL(boolean restrictedNetworksChanged) { Trace.traceBegin(Trace.TRACE_TAG_NETWORK, "updateRulesForGlobalChangeAL"); try { + updateRulesForAppIdleUL(); updateRulesForRestrictPowerUL(); updateRulesForRestrictBackgroundUL(); @@ -2744,11 +2746,11 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { } } + // TODO: rename / document to make it clear these are global (not app-specific) rules private void updateRulesForRestrictPowerUL() { Trace.traceBegin(Trace.TRACE_TAG_NETWORK, "updateRulesForRestrictPowerUL"); try { updateRulesForDeviceIdleUL(); - updateRulesForAppIdleUL(); updateRulesForPowerSaveUL(); updateRulesForAllAppsUL(TYPE_RESTRICT_POWER); } finally { -- 2.11.0