diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java index 83510449d5bf4..a5bfaa5746c33 100644 --- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java +++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java @@ -2217,23 +2217,23 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { @Override public void setDeviceIdleMode(boolean enabled) { mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG); - Trace.traceBegin(Trace.TRACE_TAG_NETWORK, "setDeviceIdleMode"); try { synchronized (mUidRulesFirstLock) { - if (mDeviceIdleMode != enabled) { - mDeviceIdleMode = enabled; - if (mSystemReady) { - // Device idle change means we need to rebuild rules for all - // known apps, so do a global refresh. - updateRulesForRestrictPowerUL(); - } - if (enabled) { - EventLogTags.writeDeviceIdleOnPhase("net"); - } else { - EventLogTags.writeDeviceIdleOffPhase("net"); - } + if (mDeviceIdleMode == enabled) { + return; } + mDeviceIdleMode = enabled; + if (mSystemReady) { + // Device idle change means we need to rebuild rules for all + // known apps, so do a global refresh. + updateRulesForRestrictPowerUL(); + } + } + if (enabled) { + EventLogTags.writeDeviceIdleOnPhase("net"); + } else { + EventLogTags.writeDeviceIdleOffPhase("net"); } } finally { Trace.traceEnd(Trace.TRACE_TAG_NETWORK); diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java index a7cacc0819188..6262ed1040cd1 100644 --- a/services/core/java/com/android/server/power/PowerManagerService.java +++ b/services/core/java/com/android/server/power/PowerManagerService.java @@ -2538,18 +2538,18 @@ public final class PowerManagerService extends SystemService boolean setDeviceIdleModeInternal(boolean enabled) { synchronized (mLock) { - if (mDeviceIdleMode != enabled) { - mDeviceIdleMode = enabled; - updateWakeLockDisabledStatesLocked(); - if (enabled) { - EventLogTags.writeDeviceIdleOnPhase("power"); - } else { - EventLogTags.writeDeviceIdleOffPhase("power"); - } - return true; + if (mDeviceIdleMode == enabled) { + return false; } - return false; + mDeviceIdleMode = enabled; + updateWakeLockDisabledStatesLocked(); } + if (enabled) { + EventLogTags.writeDeviceIdleOnPhase("power"); + } else { + EventLogTags.writeDeviceIdleOffPhase("power"); + } + return true; } boolean setLightDeviceIdleModeInternal(boolean enabled) {