Don't rotate on suspend for Kobo/PB when we're showing something news (#4111)

that's not full-screen (i.e., "message" ScreenSaver mode).

Fix #4098
pull/4113/head
NiLuJe 6 years ago committed by GitHub
parent 60a6d5f542
commit c1965ea8a9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -117,8 +117,10 @@ function Device:onPowerEvent(ev)
end
self:resume()
require("ui/screensaver"):close()
-- restore to previous rotation mode
self.screen:setRotationMode(self.orig_rotation_mode)
-- restore to previous rotation mode, if need be.
if self.orig_rotation_mode then
self.screen:setRotationMode(self.orig_rotation_mode)
end
if self:needsScreenRefreshAfterResume() then
UIManager:scheduleIn(1, function() self.screen:refreshFull() end)
end
@ -137,9 +139,15 @@ function Device:onPowerEvent(ev)
self.powerd:beforeSuspend()
local UIManager = require("ui/uimanager")
logger.dbg("Suspending...")
-- always suspend in portrait mode
self.orig_rotation_mode = self.screen:getRotationMode()
self.screen:setRotationMode(0)
-- Mostly always suspend in portrait mode...
-- ... except when we just show an InfoMessage, it plays badly with landscape mode (c.f., #4098)
if G_reader_settings:readSetting("screensaver_type") ~= "message" then
self.orig_rotation_mode = self.screen:getRotationMode()
self.screen:setRotationMode(0)
else
-- nil it, in case user switched ScreenSaver modes during our lifetime.
self.orig_rotation_mode = nil
end
require("ui/screensaver"):show()
self.screen:refreshFull()
self.screen_saver_mode = true

Loading…
Cancel
Save