From 9a6bb4b203871f751cb2fb26a93f49dfdea55f97 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Wed, 28 Jun 2023 14:54:25 -0300 Subject: [PATCH] Set dozed to true when we are in LowPowerStandby --- .../briar/android/DozeWatchdogImpl.java | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/DozeWatchdogImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/DozeWatchdogImpl.java index b22214700..16aebd676 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/DozeWatchdogImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/DozeWatchdogImpl.java @@ -10,14 +10,20 @@ import org.briarproject.bramble.api.lifecycle.Service; import org.briarproject.briar.api.android.DozeWatchdog; import java.util.concurrent.atomic.AtomicBoolean; +import java.util.logging.Logger; import static android.content.Context.POWER_SERVICE; import static android.os.Build.VERSION.SDK_INT; import static android.os.PowerManager.ACTION_DEVICE_IDLE_MODE_CHANGED; import static android.os.PowerManager.ACTION_LOW_POWER_STANDBY_ENABLED_CHANGED; +import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; class DozeWatchdogImpl implements DozeWatchdog, Service { + private static final Logger LOG = + getLogger(DozeWatchdogImpl.class.getName()); + private final Context appContext; private final AtomicBoolean dozed = new AtomicBoolean(false); private final BroadcastReceiver receiver = new DozeBroadcastReceiver(); @@ -57,11 +63,14 @@ class DozeWatchdogImpl implements DozeWatchdog, Service { (PowerManager) appContext.getSystemService(POWER_SERVICE); if (ACTION_DEVICE_IDLE_MODE_CHANGED.equals(action)) { if (pm.isDeviceIdleMode()) dozed.set(true); - } else if (ACTION_LOW_POWER_STANDBY_ENABLED_CHANGED.equals( - action)) { - // pm.isLowPowerStandbyEnabled(); - // TODO what do we do with this now? Disable Tor? - // broadcast network disabled events? + } else if (SDK_INT >= 33 && + ACTION_LOW_POWER_STANDBY_ENABLED_CHANGED.equals(action)) { + if (pm.isLowPowerStandbyEnabled()) { + if (LOG.isLoggable(WARNING)) { + LOG.warning("System is in low power standby mode"); + } + dozed.set(true); + } } } }