Author: titmuss
Date: Sun Feb 24 08:54:17 2008
New Revision: 2011

URL: http://svn.slimdevices.com?rev=2011&root=Jive&view=rev
Log:
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:
    
branches/7.0/jive/src/pkg/jive/share/applets/SetupSqueezebox/SetupSqueezeboxApplet.lua
    branches/7.0/jive/src/pkg/jive/share/jive/slim/Player.lua

Modified: 
branches/7.0/jive/src/pkg/jive/share/applets/SetupSqueezebox/SetupSqueezeboxApplet.lua
URL: 
http://svn.slimdevices.com/branches/7.0/jive/src/pkg/jive/share/applets/SetupSqueezebox/SetupSqueezeboxApplet.lua?rev=2011&root=Jive&r1=2010&r2=2011&view=diff
==============================================================================
--- 
branches/7.0/jive/src/pkg/jive/share/applets/SetupSqueezebox/SetupSqueezeboxApplet.lua
 (original)
+++ 
branches/7.0/jive/src/pkg/jive/share/applets/SetupSqueezebox/SetupSqueezeboxApplet.lua
 Sun Feb 24 08:54:17 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: branches/7.0/jive/src/pkg/jive/share/jive/slim/Player.lua
URL: 
http://svn.slimdevices.com/branches/7.0/jive/src/pkg/jive/share/jive/slim/Player.lua?rev=2011&root=Jive&r1=2010&r2=2011&view=diff
==============================================================================
--- branches/7.0/jive/src/pkg/jive/share/jive/slim/Player.lua (original)
+++ branches/7.0/jive/src/pkg/jive/share/jive/slim/Player.lua Sun Feb 24 
08:54:17 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