[fix] Let UIManager handle suspend logic (#5304)

See <https://github.com/koreader/koreader/issues/2431#issuecomment-526925910>.

Supersedes <https://github.com/koreader/koreader/pull/5302>.
This commit is contained in:
Frans de Jonge
2019-09-01 21:37:08 +02:00
committed by GitHub
parent 4cdc3ab99b
commit 49589901b1

View File

@@ -198,12 +198,19 @@ function UIManager:init()
self.event_handlers["PowerRelease"] = function()
if not self._entered_poweroff_stage then
UIManager:unschedule(self.poweroff_action)
self:_beforeSuspend()
Device:intoScreenSaver()
Device:suspend()
-- resume if we were suspended
if Device.screen_saver_mode then
self:resume()
else
self:suspend()
end
end
end
self.event_handlers["Suspend"] = self.event_handlers["PowerRelease"]
self.event_handlers["Suspend"] = function()
self:_beforeSuspend()
Device:intoScreenSaver()
Device:suspend()
end
self.event_handlers["Resume"] = function()
Device:resume()
Device:outofScreenSaver()
@@ -230,7 +237,12 @@ function UIManager:init()
self.event_handlers["PowerRelease"] = function()
if not self._entered_poweroff_stage then
UIManager:unschedule(self.poweroff_action)
self:suspend()
-- resume if we were suspended
if Device.screen_saver_mode then
self:resume()
else
self:suspend()
end
end
end
self.event_handlers["Charging"] = function()