ScreenSaver: Get rid of gratuitous complexity

Screensaver isn't instantiated, so we don't really have any reason to go
through fancy class trickery to do this (as cool as it looked ;p)...
reviewable/pr9982/r1
NiLuJe 1 year ago
parent 9eac47e0df
commit 554520463d

@ -805,18 +805,6 @@ function Screensaver:show()
self.screensaver_widget.modal = true
self.screensaver_widget.dithered = true
-- NOTE: ScreenSaver itself is not a widget, so make sure we cleanup behind us...
self.screensaver_widget.onCloseWidget = function(this)
-- this is self.screensaver_widget (i.e., an object instantiated from ScreenSaverWidget)
local super = getmetatable(this)
-- super is the class object of self.screensaver_widget (i.e., ScreenSaverWidget)
if super.onCloseWidget then
super.onCloseWidget(this)
end
-- self is ScreenSaver (upvalue)
self:cleanup()
end
UIManager:show(self.screensaver_widget, "full")
end
@ -824,17 +812,6 @@ function Screensaver:show()
if with_gesture_lock then
self.screensaver_lock_widget = ScreenSaverLockWidget:new{}
-- If we don't have a ScreenSaverWidget handling cleanup for us, it'll fall to us...
if not self.screensaver_widget then
self.screensaver_lock_widget.onCloseWidget = function(this)
local super = getmetatable(this)
if super.onCloseWidget then
super.onCloseWidget(this)
end
self:cleanup()
end
end
-- It's flagged as modal, so it'll stay on top
UIManager:show(self.screensaver_lock_widget)
end

@ -120,6 +120,9 @@ function ScreenSaverLockWidget:onCloseWidget()
local Screensaver = require("ui/screensaver")
if not Screensaver.screensaver_widget then
UIManager:setDirty("all", "full")
-- And take care of cleanup in its place, too
Screensaver:cleanup()
end
end

@ -97,6 +97,10 @@ function ScreenSaverWidget:onCloseWidget()
-- Will come after the Resume event, iff screensaver_delay is set.
-- Comes *before* it otherwise.
UIManager:broadcastEvent(Event:new("OutOfScreenSaver"))
-- NOTE: ScreenSaver itself is neither a Widget nor an instantiated object, so make sure we cleanup behind us...
local Screensaver = require("ui/screensaver")
Screensaver:cleanup()
end
function ScreenSaverWidget:onResume()

Loading…
Cancel
Save