From 3a8d94ad562d156d630bb87d2517f4e19ef2ffa5 Mon Sep 17 00:00:00 2001 From: NiLuJe Date: Mon, 12 Dec 2022 01:54:12 +0100 Subject: [PATCH] Kindle: Unbreak ScreenSaver tracking on SO devices Fix #9883, regression since c7f5bfb72a4f0114182f75db992451f37de617c6 --- frontend/device/kindle/device.lua | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/frontend/device/kindle/device.lua b/frontend/device/kindle/device.lua index 1005f5998..b4c794c9d 100644 --- a/frontend/device/kindle/device.lua +++ b/frontend/device/kindle/device.lua @@ -293,6 +293,10 @@ function Kindle:intoScreenSaver() elseif os.getenv("CVM_STOPPED") == "yes" then os.execute("killall -CONT cvm") end + + -- Don't forget to flag ourselves in ScreenSaver mode like Screensaver:show would, + -- so that we do the right thing on resume ;). + self.screen_saver_mode = true end end self.powerd:beforeSuspend() @@ -344,7 +348,9 @@ function Kindle:outofScreenSaver() local UIManager = require("ui/uimanager") -- NOTE: We redraw after a slightly longer delay to take care of the potentially dynamic ad screen... -- This is obviously brittle as all hell. Tested on a slow-ass PW1. - UIManager:scheduleIn(1.5, function() UIManager:setDirty("all", "full") end) + UIManager:scheduleIn(3, function() UIManager:setDirty("all", "full") end) + -- Flip the switch again + self.screen_saver_mode = false end end self.powerd:afterResume()