Author: bklaas
Date: Tue Jun 15 12:37:08 2010
New Revision: 8862
URL: http://svn.slimdevices.com/jive?rev=8862&view=rev
Log:
Bug: 16148
Description: fallback to blank screen on non-server requested soft power off
when clock is not set
Modified:
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/BlankScreen/BlankScreenApplet.lua
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/ScreenSavers/ScreenSaversApplet.lua
7.5/trunk/squeezeplay/src/squeezeplay/share/jive/JiveMain.lua
7.5/trunk/squeezeplay/src/squeezeplay/share/jive/utils/datetime.lua
Modified:
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/BlankScreen/BlankScreenApplet.lua
URL:
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay/share/applets/BlankScreen/BlankScreenApplet.lua?rev=8862&r1=8861&r2=8862&view=diff
==============================================================================
---
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/BlankScreen/BlankScreenApplet.lua
(original)
+++
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/BlankScreen/BlankScreenApplet.lua
Tue Jun 15 12:37:08 2010
@@ -101,6 +101,9 @@
})
self.window:addWidget(self.timeLabel)
else
+ if self.timeLabel then
+ self.window:removeWidget(self.timeLabel)
+ end
self.timeLabel = nil
end
Modified:
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/ScreenSavers/ScreenSaversApplet.lua
URL:
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay/share/applets/ScreenSavers/ScreenSaversApplet.lua?rev=8862&r1=8861&r2=8862&view=diff
==============================================================================
---
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/ScreenSavers/ScreenSaversApplet.lua
(original)
+++
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/ScreenSavers/ScreenSaversApplet.lua
Tue Jun 15 12:37:08 2010
@@ -223,14 +223,16 @@
--screensaver set for the current mode is activated.
-- the force arg is set to true for preview, allowing screensavers that might
be not shown in certain circumstances to still be previewed
-- see ClockApplet for example
-function _activate(self, the_screensaver, force)
+function _activate(self, the_screensaver, force, isServerRequest)
log:debug("Screensaver activate")
-- what screensaver, check the playmode of the current player
if the_screensaver == nil then
- the_screensaver = self:_getDefaultScreensaver()
- end
- local screensaver = self.screensavers[the_screensaver]
+ self.currentSS = self:_getDefaultScreensaver()
+ else
+ self.currentSS = the_screensaver
+ end
+ local screensaver = self.screensavers[self.currentSS]
-- In some situations the timer restart below tries to activate a SS
when one is already running.
-- We don't want to do this for BlankScreen when BlankScreen is already
active
@@ -258,18 +260,28 @@
local year = os.date("%Y")
-- the "none" choice is false:false, for which the proper course is to
do nothing
- if the_screensaver == 'false:false' then
+ if self.currentSS == 'false:false' then
log:warn('"none" is the configured screensaver for ',
self:_getMode(), ', so do nothing')
return
end
+ -- bug 15654, don't allow false:false to be the default whenOff SS when
the clock is wrong
+ local useBlankSS = tonumber(year) < 2010 and not force and
self:_getMode() == 'whenOff' and not isServerRequest
+
if not screensaver or not screensaver.applet -- fallback to default if
screensaver.applet doesn't exist
- or ( tonumber(year) < 2009 and not force and self:_getMode() ==
'whenOff' ) then -- fallback to blank screensaver on whenOff and no clock
- -- no screensaver, fallback to default
- log:warn('The configured screensaver method ', the_screensaver,
' is not available. Falling back to default from Meta file')
- local fallbackKey = self.defaultSettings[self:_getMode()]
- screensaver = self.screensavers[fallbackKey]
- -- return
+ or useBlankSS then -- fallback to blank screensaver on whenOff
and no clock
+
+ if useBlankSS then
+ -- bug 16148: special case, fall back to blank SS for
whenOff and the clock not set and not a server request
+ log:warn('Clock is not set properly, so fallback to
blank screen SS')
+ self.currentSS = 'BlankScreen:openScreensaver'
+ screensaver = self.screensavers[self.currentSS]
+ else
+ -- no screensaver, fallback to default
+ log:warn('The configured screensaver method ',
self.currentSS, ' is not available. Falling back to default from Meta file')
+ self.currentSS = self.defaultSettings[self:_getMode()]
+ screensaver = self.screensavers[self.currentSS]
+ end
end
if screensaver.applet then
@@ -288,8 +300,8 @@
--service method
-function activateScreensaver(self)
- self:_activate(nil)
+function activateScreensaver(self, isServerRequest)
+ self:_activate(nil, _, isServerRequest)
end
@@ -455,7 +467,7 @@
return EVENT_UNUSED
end
- local ss = self:_getOffScreensaver()
+ local ss = self.currentSS or self:_getOffScreensaver()
if ss then
local screensaver = self.screensavers[ss]
Modified: 7.5/trunk/squeezeplay/src/squeezeplay/share/jive/JiveMain.lua
URL:
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay/share/jive/JiveMain.lua?rev=8862&r1=8861&r2=8862&view=diff
==============================================================================
--- 7.5/trunk/squeezeplay/src/squeezeplay/share/jive/JiveMain.lua (original)
+++ 7.5/trunk/squeezeplay/src/squeezeplay/share/jive/JiveMain.lua Tue Jun 15
12:37:08 2010
@@ -202,7 +202,7 @@
currentPlayer:setPower(false, nil, isServerRequest)
end
--todo: also pause/power off local player since local player
might be playing and not be the current player
- appletManager:callService("activateScreensaver")
+ appletManager:callService("activateScreensaver",
isServerRequest)
elseif _softPowerState == "on" then
log:info("Turn soft power on")
--todo: Define what should happen for a non-jive remote player.
Currently if a server is down, locally a SS will engage, but when the server
Modified: 7.5/trunk/squeezeplay/src/squeezeplay/share/jive/utils/datetime.lua
URL:
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay/share/jive/utils/datetime.lua?rev=8862&r1=8861&r2=8862&view=diff
==============================================================================
--- 7.5/trunk/squeezeplay/src/squeezeplay/share/jive/utils/datetime.lua
(original)
+++ 7.5/trunk/squeezeplay/src/squeezeplay/share/jive/utils/datetime.lua Tue Jun
15 12:37:08 2010
@@ -494,7 +494,7 @@
function getCurrentTime()
-- if the time has not been set, return an empty string
if not timeSet then
- if tonumber(os.date("%Y")) < 2000 then
+ if tonumber(os.date("%Y")) < 2010 then
return ""
end
_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/jive-checkins