ScreenSaver: Consistently prefer the event message over the default

message

i.e., we do *NOT* want to see the default "Sleeping" message shown *in
conjunction* with the "reboot/poweroff" overlay messages.

Re: https://github.com/koreader/koreader/issues/12009#issuecomment-2167176139
This commit is contained in:
NiLuJe
2024-06-14 21:34:35 +02:00
parent 94e7c5ad9e
commit 57c6fb6355

View File

@@ -587,23 +587,21 @@ function Screensaver:show()
local message_height
if self.show_message then
-- Handle user settings & fallbacks, with that prefix mess on top...
local screensaver_message
local screensaver_message = self.default_screensaver_message
if G_reader_settings:has(self.prefix .. "screensaver_message") then
screensaver_message = G_reader_settings:readSetting(self.prefix .. "screensaver_message")
else
if G_reader_settings:has("screensaver_message") then
screensaver_message = G_reader_settings:readSetting("screensaver_message")
else
-- In the absence of a custom message, use the event message if any, barring that, use the default message.
if self.event_message then
screensaver_message = self.event_message
-- The overlay is only ever populated with the event message, and we only want to show it once ;).
self.overlay_message = nil
else
screensaver_message = self.default_screensaver_message
end
elseif G_reader_settings:has("screensaver_message") then
screensaver_message = G_reader_settings:readSetting("screensaver_message")
end
-- If the message is set to the defaults (which is also the case when it's unset), prefer the event message if there is one.
if screensaver_message == self.default_screensaver_message then
if self.event_message then
screensaver_message = self.event_message
-- The overlay is only ever populated with the event message, and we only want to show it once ;).
self.overlay_message = nil
end
end
-- NOTE: Only attempt to expand if there are special characters in the message.
if screensaver_message:find("%%") then
screensaver_message = self:expandSpecial(screensaver_message, self.event_message or self.default_screensaver_message)