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