Screensaver: add dynamic battery symbol to sleep screen message (#12548)

- %B was added to frontend/ui/screensaver.lua to reference the battery symbol
  generated by powerd
- The default English screensaver help message was updated informing users
  of the addition
This commit is contained in:
Lostish
2024-11-25 14:58:56 -05:00
committed by GitHub
parent 921dde0b31
commit f5c6b56899

View File

@@ -116,6 +116,7 @@ function Screensaver:expandSpecial(message, fallback)
-- %h time left in chapter -- %h time left in chapter
-- %H time left in document (if there are hidden flows, time left in current flow) -- %H time left in document (if there are hidden flows, time left in current flow)
-- %b battery level -- %b battery level
-- %B battery symbol
if G_reader_settings:hasNot("lastfile") then if G_reader_settings:hasNot("lastfile") then
return fallback return fallback
@@ -133,6 +134,7 @@ function Screensaver:expandSpecial(message, fallback)
local time_left_chapter = _("N/A") local time_left_chapter = _("N/A")
local time_left_document = _("N/A") local time_left_document = _("N/A")
local batt_lvl = _("N/A") local batt_lvl = _("N/A")
local batt_symbol = _("N/A")
local props local props
local ReaderUI = require("apps/reader/readerui") local ReaderUI = require("apps/reader/readerui")
@@ -192,8 +194,10 @@ function Screensaver:expandSpecial(message, fallback)
local powerd = Device:getPowerDevice() local powerd = Device:getPowerDevice()
if Device:hasAuxBattery() and powerd:isAuxBatteryConnected() then if Device:hasAuxBattery() and powerd:isAuxBatteryConnected() then
batt_lvl = powerd:getCapacity() + powerd:getAuxCapacity() batt_lvl = powerd:getCapacity() + powerd:getAuxCapacity()
batt_symbol = powerd:getBatterySymbol(powerd:isAuxCharged(), powerd:isAuxCharging(), batt_lvl / 2)
else else
batt_lvl = powerd:getCapacity() batt_lvl = powerd:getCapacity()
batt_symbol = powerd:getBatterySymbol(powerd:isCharged(), powerd:isCharging(), batt_lvl)
end end
end end
@@ -207,6 +211,7 @@ function Screensaver:expandSpecial(message, fallback)
["%h"] = time_left_chapter, ["%h"] = time_left_chapter,
["%H"] = time_left_document, ["%H"] = time_left_document,
["%b"] = batt_lvl, ["%b"] = batt_lvl,
["%B"] = batt_symbol,
} }
ret = ret:gsub("(%%%a)", replace) ret = ret:gsub("(%%%a)", replace)
@@ -329,7 +334,8 @@ Enter a custom message to be displayed on the sleep screen. The following escape
%p percentage read %p percentage read
%h time left in chapter %h time left in chapter
%H time left in document %H time left in document
%b battery level]]), %b battery level
%B battery symbol]]),
input = screensaver_message, input = screensaver_message,
buttons = { buttons = {
{ {