Author: titmuss
Date: Sun Feb 24 10:07:56 2008
New Revision: 2014

URL: http://svn.slimdevices.com?rev=2014&root=Jive&view=rev
Log:
 [EMAIL PROTECTED] (orig r2011):  titmuss | 2008-02-24 16:54:17 +0000
 Bug: 7295
 Description:
 Fix SBC + SBR fw 18 + SN setup failures:
 - increases the extended timeout during firmware upgrade to 3 minutes.
 - uses the playerNeedsUpgrade notification to detect when the upgrade is
 complete.
 - forces waitSlimserver state when waiting for a squeezebox to upgrade.
 - fixes the playerNew notification, so that the player.needsUpgrade state is
 correct.
 
 

Modified:
    trunk/   (props changed)
    
trunk/jive/src/pkg/jive/share/applets/SetupSqueezebox/SetupSqueezeboxApplet.lua
    trunk/jive/src/pkg/jive/share/jive/slim/Player.lua

Propchange: trunk/
------------------------------------------------------------------------------
--- svk:merge (original)
+++ svk:merge Sun Feb 24 10:07:56 2008
@@ -1,3 +1,3 @@
-bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/7.0:2006
+bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/7.0:2011
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/SN:1083
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/scrolling:1378

Modified: 
trunk/jive/src/pkg/jive/share/applets/SetupSqueezebox/SetupSqueezeboxApplet.lua
URL: 
http://svn.slimdevices.com/trunk/jive/src/pkg/jive/share/applets/SetupSqueezebox/SetupSqueezeboxApplet.lua?rev=2014&root=Jive&r1=2013&r2=2014&view=diff
==============================================================================
--- 
trunk/jive/src/pkg/jive/share/applets/SetupSqueezebox/SetupSqueezeboxApplet.lua 
(original)
+++ 
trunk/jive/src/pkg/jive/share/applets/SetupSqueezebox/SetupSqueezeboxApplet.lua 
Sun Feb 24 10:07:56 2008
@@ -42,7 +42,7 @@
 
 local setupsqueezeboxTitleStyle = 'settingstitle'
 local SETUP_TIMEOUT = 45 -- 45 second timeout for each action
-local SETUP_EXTENDED_TIMEOUT = 85 -- 85 second timeout in case Squeezebox is 
upgrading after first connecting to SC
+local SETUP_EXTENDED_TIMEOUT = 180  -- 180 second timeout in case Squeezebox 
is upgrading after first connecting to SC
 
 module(...)
 oo.class(_M, Applet)
@@ -1291,6 +1291,9 @@
 
                -- increase timeout if the player is upgrading
                if player:isNeedsUpgrade() then
+                       -- make sure we are in the waiting for slimserver 
state, this is
+                       -- needed in case the set slimserver udap packets got 
lost
+                       _setAction(self, t_waitSlimserver)
                        self._totalTimeout = SETUP_EXTENDED_TIMEOUT
                        return
                end
@@ -1308,6 +1311,16 @@
 function notify_playerConnected(self, player)
        -- use same action as new player
        notify_playerNew(self, player)
+end
+
+
+-- called when player comes back from firmware update.  If the
+-- player record was never removed while it was upgrading, this
+-- is the only message we get when it comes back.
+function notify_playerNeedsUpgrade(self, player, needsUpgrade)
+       if not needsUpgrade then
+               notify_playerNew(self, player)
+       end
 end
 
 

Modified: trunk/jive/src/pkg/jive/share/jive/slim/Player.lua
URL: 
http://svn.slimdevices.com/trunk/jive/src/pkg/jive/share/jive/slim/Player.lua?rev=2014&root=Jive&r1=2013&r2=2014&view=diff
==============================================================================
--- trunk/jive/src/pkg/jive/share/jive/slim/Player.lua (original)
+++ trunk/jive/src/pkg/jive/share/jive/slim/Player.lua Sun Feb 24 10:07:56 2008
@@ -159,16 +159,6 @@
        end
 end
 
--- _setPlayerNeedsUpgrade()
--- sends notification of player_needs_upgrade value. 
-local function _setPlayerNeedsUpgrade(self, playerNeedsUpgrade)
-       local needsUpgrade = (tonumber(playerNeedsUpgrade) == 1)
-       if needsUpgrade != self.needsUpgrade then
-               self.needsUpgrade = needsUpgrade
-               self.jnt:notify('playerNeedsUpgrade', self, 
self:isNeedsUpgrade())
-       end
-end
-
 -- _whatsPlaying(obj)
 -- returns the track_id from a playerstatus structure
 local function _whatsPlaying(obj)
@@ -278,6 +268,16 @@
                return
        end
 
+       -- Update player state
+       local lastNeedsUpgrade = self.needsUpgrade
+       self.needsUpgrade = (tonumber(playerInfo.player_needs_upgrade) == 1)
+
+       -- FIXME the object state needs setting before any notifications
+       -- this is now changed for needsUpgrade, but still needs to be done
+       -- for all other player state
+
+
+       -- Send player notifications
        if self.slimServer ~= slimServer then
                -- delete from old server
                if self.slimServer then
@@ -292,7 +292,10 @@
        
        self.model = playerInfo.model
 
-       _setPlayerNeedsUpgrade(self, playerInfo.player_needs_upgrade)
+       if lastNeedsUpgrade != self.needsUpgrade then
+               self.jnt:notify('playerNeedsUpgrade', self, 
self:isNeedsUpgrade())
+       end
+
        _setPlayerName(self, playerInfo.name)
        _setPlayerPower(self, tonumber(playerInfo.power))
        _setConnected(self, playerInfo.connected)

_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/cgi-bin/mailman/listinfo/jive-checkins

Reply via email to