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

Reply via email to