Author: titmuss
Date: Mon Jun 16 13:57:58 2008
New Revision: 2569

URL: http://svn.slimdevices.com?rev=2569&root=Jive&view=rev
Log:
Bug: 6683
Description:
Move discovery of players in udap network configuration mode from SelectPlayer 
into 
SqueezeDiscovery. Update Player object to allow for players needing network 
configuration.


Modified:
    
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SelectPlayer/SelectPlayerApplet.lua
    
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SetupSqueezebox/SetupSqueezeboxApplet.lua
    
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SlimBrowser/SlimBrowserApplet.lua
    
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SqueezeDiscovery/SqueezeDiscoveryApplet.lua
    
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SqueezeDiscovery/SqueezeDiscoveryMeta.lua
    
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua
    
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay_jive/share/applets/SetupWireless/SetupWirelessApplet.lua
    
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua
    
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay_jive/share/jive/net/Wireless.lua

Modified: 
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SelectPlayer/SelectPlayerApplet.lua
URL: 
http://svn.slimdevices.com/7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SelectPlayer/SelectPlayerApplet.lua?rev=2569&root=Jive&r1=2568&r2=2569&view=diff
==============================================================================
--- 
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SelectPlayer/SelectPlayerApplet.lua
 (original)
+++ 
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SelectPlayer/SelectPlayerApplet.lua
 Mon Jun 16 13:57:58 2008
@@ -70,21 +70,20 @@
 end
 
 
-function free(self)
-       jnt:unsubscribe(self)
-end
-
-
 function notify_playerDelete(self, player)
        local mac = player.id
+
        manageSelectPlayerMenu(self)
-       if self.playerMenu and self.playerItem[mac] then
-               self.playerMenu:removeItem(self.playerItem[mac])
-               self.playerItem[mac] = nil
-       end
-
-       if player:getSlimServer() then
-               self:_updateServerItem(player:getSlimServer())
+
+       if self.playerMenu then
+               if self.playerItem[mac] then
+                       self.playerMenu:removeItem(self.playerItem[mac])
+                       self.playerItem[mac] = nil
+               end
+
+               if player:getSlimServer() then
+                       self:_updateServerItem(player:getSlimServer())
+               end
        end
 end
 
@@ -94,12 +93,13 @@
        local mac = player.id
 
        manageSelectPlayerMenu(self)
+
        if self.playerMenu then
                self:_addPlayerItem(player)
-       end
-
-       if player:getSlimServer() then
-               self:_updateServerItem(player:getSlimServer())
+
+               if player:getSlimServer() then
+                       self:_updateServerItem(player:getSlimServer())
+               end
        end
 end
 
@@ -117,12 +117,14 @@
                return
        end
 
+       self:_updateServerItem(server)
+
        for id, player in server:allPlayers() do
                self:_refreshPlayerItem(player)
        end
+       
        self:manageSelectPlayerMenu()
-       
-       self:_updateServerItem(server)
+
 end
 
 
@@ -131,12 +133,13 @@
                return
        end
 
+       self:_updateServerItem(server)
+
        for id, player in server:allPlayers() do
                self:_refreshPlayerItem(player)
        end
+
        self:manageSelectPlayerMenu()
-
-       self:_updateServerItem(server)
 end
 
 
@@ -167,11 +170,6 @@
 end
 
 
-function _unifyMac(mac)
-       return string.upper(string.gsub(mac, "[^%x]", ""))
-end
-
-
 function _addPlayerItem(self, player)
        local mac = player:getId()
        local playerName = player:getName()
@@ -189,14 +187,14 @@
        end
 
        local item = {
-               id = _unifyMac(mac),
+               id = mac,
                text = playerName,
                sound = "WINDOWSHOW",
                callback = function()
-                                  if self:selectPlayer(player) then
-                                          self.setupNext()
-                                  end
-                          end,
+                       if self:selectPlayer(player) then
+                               self.setupNext()
+                       end
+               end,
                focusGained = function(event)
                        self:_showWallpaper(mac)
                end,
@@ -219,7 +217,8 @@
 function _refreshPlayerItem(self, player)
        local mac = player.id
 
-       if player:isConnected() or player:needsMusicSource() then
+       -- XXXX
+       if player:isAvailable() then
                local item = self.playerItem[mac]
                if not item then
                        -- add player
@@ -241,40 +240,6 @@
                        self.playerItem[mac] = nil
                end
        end
-end
-
-
--- add a squeezebox discovered using udap or an adhoc network
-function _addSqueezeboxItem(self, mac, name)
-       local item = {
-               id = _unifyMac(mac),
-               text = name or self:string("SQUEEZEBOX_NAME", string.sub(mac, 
7)),
-               sound = "WINDOWSHOW",
-               callback = function()
-                                  local sbsetup = 
appletManager:loadApplet("SetupSqueezebox")
-                                  if not sbsetup then
-                                          return
-                                  end
-
-                                  local adhoc = self.scanResults[mac].adhoc
-                                  if self.scanResults[mac].udap then
-                                          adhoc = nil
-                                  end
-
-                                  -- setup squeezebox, this will set current
-                                  -- player on completion
-                                  sbsetup:startSqueezeboxSetup(mac, adhoc,
-                                                               function()
-                                                                       
jiveMain:closeToHome()
-                                                               end)
-                          end,
-               focusGained = function(event)
-                       self:_showWallpaper(nil)
-               end,
-               weight =  1
-       }
-       self.playerMenu:addItem(item)
-       self.playerItem[mac] = item
 end
 
 
@@ -329,9 +294,7 @@
 
        self.selectedPlayer = appletManager:callService("getCurrentPlayer")
        for mac, player in appletManager:callService("iteratePlayers") do
-               if player:isConnected() or player:needsMusicSource() then
-                       _addPlayerItem(self, player)
-               end
+               _addPlayerItem(self, player)
        end
 
        -- Display password protected servers
@@ -370,46 +333,6 @@
 function _scan(self)
        -- SqueezeCenter and player discovery
        appletManager:callService("discoverPlayers")
-
-       -- scan for players in setup state
-       if hasWireless then
-               self.wireless:scan(function(scanTable)
-                                          _scanComplete(self, scanTable)
-                                  end)
-       end
-
-       -- remove squeezeboxen not seen for 20 seconds
-       local now = os.time()
-       for mac, entry in pairs(self.scanResults) do
-               if os.difftime(now, entry.lastScan) > 20 then
-                       self.playerMenu:removeItem(self.playerItem[mac])
-                       self.playerItem[mac] = nil
-                       self.scanResults[mac] = nil
-               end
-       end
-end
-
-
-function _scanComplete(self, scanTable, keepOldEntries)
-       local now = os.time()
-
-       for ssid, entry in pairs(scanTable) do
-               local mac, ether = SetupSqueezeboxApplet:ssidIsSqueezebox(ssid)
-
-               log:debug("MAC=", mac, " ETHER=", ether)
-
-               if mac and not self.scanResults[mac] and
-                       -- FIXME Wireless class should be timing out entries
-                       -- See bug 6860.
-                       os.difftime(now, entry.lastScan) < 20 then
-                       self.scanResults[mac] = {
-                               lastScan = entry.lastScan,
-                               adhoc = ssid,
-                       }
-
-                       self:_addSqueezeboxItem(mac, name)
-               end
-       end
 end
 
 
@@ -427,9 +350,22 @@
        -- set the current player
        appletManager:callService("setCurrentPlayer", player)
 
+       -- network configuration needed?
+       if player:needsNetworkConfig() then
+               -- XXXX convert to applet service call
+               local sbsetup = appletManager:loadApplet("SetupSqueezebox")
+               sbsetup:startSqueezeboxSetup(player:getId(),
+                                            player:getSSID(),
+                                            function()
+                                                    jiveMain:closeToHome()
+                                            end)
+               return false
+       end
+
        -- udap setup needed?
        if player:needsMusicSource() then
                appletManager:callService("selectMusicSource")
+               return false
        end
 
        return true
@@ -437,6 +373,7 @@
 
 
 function free(self)
+       jnt:unsubscribe(self)
 
        -- load the correct wallpaper on exit
        if self.selectedPlayer and self.selectedPlayer:getId() then
@@ -446,6 +383,7 @@
        end
        
        appletManager:freeApplet("SetupWallpaper")
+
        -- Never free this applet
        return false
 end

Modified: 
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SetupSqueezebox/SetupSqueezeboxApplet.lua
URL: 
http://svn.slimdevices.com/7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SetupSqueezebox/SetupSqueezeboxApplet.lua?rev=2569&root=Jive&r1=2568&r2=2569&view=diff
==============================================================================
--- 
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SetupSqueezebox/SetupSqueezeboxApplet.lua
 (original)
+++ 
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SetupSqueezebox/SetupSqueezeboxApplet.lua
 Mon Jun 16 13:57:58 2008
@@ -23,6 +23,8 @@
 local Textinput              = require("jive.ui.Textinput")
 local Window                 = require("jive.ui.Window")
 local Popup                  = require("jive.ui.Popup")
+
+local Player                 = require("jive.slim.Player")
 
 local Udap                   = require("jive.net.Udap")
 local hasWireless, Wireless  = pcall(require, "jive.net.Wireless")
@@ -252,15 +254,15 @@
 
 
 function _scanComplete(self, scanTable, keepOldEntries)
-       local now = os.time()
+       local now = Framework:getTicks()
 
        for ssid, entry in pairs(scanTable) do
-               local mac, ether = self:ssidIsSqueezebox(ssid)
+               local mac, ether = Player:ssidIsSqueezebox(ssid)
                log:debug("ether=", ether, " mac=", mac)
 
                if mac ~= nil then
-                       mac = string.upper(mac)
-
+                       mac = string.upper(string.gsub(mac, ":", ""))
+               
                        if not self.scanResults[mac] then
                                local item = {
                                        text = 
self:string("SQUEEZEBOX_BRIDGED_NAME", string.sub(mac, 7)),
@@ -284,7 +286,7 @@
                        self.scanResults[mac].adhoc = true
 
                        -- remove networks not seen for 10 seconds
-                       if keepOldEntries ~= true and os.difftime(now, 
entry.lastScan) > 10 then
+                       if keepOldEntries ~= true and now - entry.lastScan > 
10000 then
                                log:debug(mac, " not seen for 10 seconds")
                                self.scanResults[mac].adhoc = nil
 
@@ -299,17 +301,6 @@
 
 
 --[[
-Return the Squeezebox mac address from the ssid, or nil if the ssid is
-not from a Squeezebox in setup mode.
---]]
-function ssidIsSqueezebox(self, ssid)
-       local hasEthernet, mac = string.match(ssid, 
"logitech([%-%+])squeezebox[%-%+](%x+)")
-
-       return mac, hasEthernet
-end
-
-
---[[
 This function is the entry point after a squeezebox has been choosen
 for setup, may be called from outside this applet.
 
@@ -319,6 +310,8 @@
 
 --]]
 function startSqueezeboxSetup(self, mac, adhoc, setupNext)
+       mac = string.gsub(mac, ":", "")
+
        if setupNext then
                self.setupNext = setupNext
        end
@@ -334,7 +327,7 @@
 
        if adhoc then
                -- full configuration via adhoc network
-               local _, hasEthernet = self:ssidIsSqueezebox(adhoc)
+               local _, hasEthernet = Player:ssidIsSqueezebox(adhoc)
 
                -- find jive network configuration
                Task("readConfig", self,

Modified: 
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SlimBrowser/SlimBrowserApplet.lua
URL: 
http://svn.slimdevices.com/7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SlimBrowser/SlimBrowserApplet.lua?rev=2569&root=Jive&r1=2568&r2=2569&view=diff
==============================================================================
--- 
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SlimBrowser/SlimBrowserApplet.lua
 (original)
+++ 
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SlimBrowser/SlimBrowserApplet.lua
 Mon Jun 16 13:57:58 2008
@@ -2323,7 +2323,7 @@
        end
 
        -- change player, only if multiple players
-       local numPlayers = appletManager:callService("countConnectedPlayers")
+       local numPlayers = appletManager:callService("countPlayers")
        if numPlayers > 1 and appletManager:hasApplet("SelectPlayer") then
                menu:addItem({
                                     text = 
self:string("SLIMBROWSER_CHOOSE_PLAYER"),

Modified: 
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SqueezeDiscovery/SqueezeDiscoveryApplet.lua
URL: 
http://svn.slimdevices.com/7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SqueezeDiscovery/SqueezeDiscoveryApplet.lua?rev=2569&root=Jive&r1=2568&r2=2569&view=diff
==============================================================================
--- 
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SqueezeDiscovery/SqueezeDiscoveryApplet.lua
 (original)
+++ 
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SqueezeDiscovery/SqueezeDiscoveryApplet.lua
 Mon Jun 16 13:57:58 2008
@@ -35,6 +35,8 @@
 
 local SocketUdp     = require("jive.net.SocketUdp")
 local Udap          = require("jive.net.Udap")
+
+local hasWireless, Wireless  = pcall(require, "jive.net.Wireless")
 
 local Player        = require("jive.slim.Player")
 local SlimServer    = require("jive.slim.SlimServer")
@@ -119,6 +121,7 @@
 end
 
 
+-- udap packet received
 function _udapSink(self, chunk, err)
        if chunk == nil then
                return -- ignore errors
@@ -137,6 +140,19 @@
 
        local player = Player(jnt, playerId)
        player:updateUdap(pkt)
+end
+
+
+-- wireless scan complete
+function _scanComplete(self, scanTable)
+       for ssid, entry in pairs(scanTable) do
+               local playerId = Player:ssidIsSqueezebox(ssid)
+
+               if playerId then
+                       local player = Player(jnt, playerId)
+                       player:updateSSID(ssid, entry.lastScan)
+               end
+       end
 end
 
 
@@ -196,6 +212,11 @@
                        self:_udapSink(chunk, err)
                end)
 
+       -- wireless discovery
+       if hasWireless then
+               obj.wireless = Wireless(jnt, "eth0")
+       end
+
        -- discovery timer
        obj.timer = Timer(DISCOVERY_PERIOD,
                          function() obj:_discover() end)
@@ -227,6 +248,15 @@
        local packet = Udap.createAdvancedDiscover(nil, 1)
        log:debug("sending udap discovery to 255.255.255.255")
        self.udap:send(function() return packet end, "255.255.255.255")
+
+       -- Wireless discovery, only in probing state
+       if self.state == 'probing' and hasWireless then
+               self.wireless:scan(
+                       function(scanTable)
+                               _scanComplete(self, scanTable)
+                       end)
+       end
+
 
        -- Special case Squeezenetwork
        if jnt:getUUID() then
@@ -436,18 +466,17 @@
 
 
 function setCurrentPlayer(self, player)
-       if self.currentPlayer == player then
-               return -- no change
-       end
-
-       -- update player
-       log:info("selected player: ", player)
-       self.currentPlayer = player
-
-       local settings = self:getSettings()
-       settings.currentPlayer = player and player:getId() or false
-       self:storeSettings()
-
+       if self.currentPlayer ~= player then
+               -- update player
+               log:info("selected player: ", player)
+               self.currentPlayer = player
+
+               local settings = self:getSettings()
+               settings.currentPlayer = player and player:getId() or false
+               self:storeSettings()
+       end
+
+       -- note: notify even if the player has not changed
        jnt:notify("playerCurrent", player)
 
        -- restart discovery when we have no player
@@ -488,18 +517,6 @@
 end
 
 
-function countConnectedPlayers(self)
-       local count = 0
-       for i, player in Player:iterate() do
-               if player:isConnected() then
-                       count = count + 1
-               end
-       end
-
-       return count
-end
-
-
 function countPlayers(self)
        local count = 0
        for i, player in Player:iterate() do

Modified: 
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SqueezeDiscovery/SqueezeDiscoveryMeta.lua
URL: 
http://svn.slimdevices.com/7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SqueezeDiscovery/SqueezeDiscoveryMeta.lua?rev=2569&root=Jive&r1=2568&r2=2569&view=diff
==============================================================================
--- 
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SqueezeDiscovery/SqueezeDiscoveryMeta.lua
 (original)
+++ 
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/applets/SqueezeDiscovery/SqueezeDiscoveryMeta.lua
 Mon Jun 16 13:57:58 2008
@@ -58,7 +58,6 @@
 
        meta:registerService("iteratePlayers")
        meta:registerService("iterateSqueezeCenters")
-       meta:registerService("countConnectedPlayers")
        meta:registerService("countPlayers")
 
        meta:registerService("getPollList")
@@ -69,7 +68,9 @@
        local slimDiscovery = appletManager:loadApplet("SqueezeDiscovery")
 
        -- Set current player
-       slimDiscovery:setCurrentPlayer(Player(jnt, settings.currentPlayer))
+       if settings.currentPlayer then
+               slimDiscovery:setCurrentPlayer(Player(jnt, 
settings.currentPlayer))
+       end
 
        -- With the MP firmware when SqueezeNetwork is selected a dummy player 
with an ff mac
        -- address is selected, and then a firmware update starts. When this 
mac address is seen 

Modified: 
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua
URL: 
http://svn.slimdevices.com/7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua?rev=2569&root=Jive&r1=2568&r2=2569&view=diff
==============================================================================
--- 
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua
 (original)
+++ 
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua
 Mon Jun 16 13:57:58 2008
@@ -180,6 +180,7 @@
                uuid = false,
                slimServer = false,
                config = false,
+               lastSeen = 0,
 
                -- player info from SC
                info = {},
@@ -250,7 +251,7 @@
                -- callback happens.
                oldInfo.connected = false
 
-               -- player is now active
+               -- player is now available
                playerList[self.id] = self
 
                -- add to new server
@@ -306,7 +307,49 @@
                self:free(self.slimServer)
        end
 
-       -- player is now active
+       -- player is now available
+       playerList[self.id] = self
+
+       self.jnt:notify('playerNew', self)
+end
+
+
+-- return the Squeezebox mac address from the ssid, or nil if the ssid is
+-- not from a Squeezebox in setup mode.
+function ssidIsSqueezebox(self, ssid)
+       local hasEthernet, mac = string.match(ssid, 
"logitech([%-%+])squeezebox[%-%+](%x+)")
+
+       if mac then
+               mac = string.gsub(mac, "(%x%x)(%x%x)(%x%x)(%x%x)(%x%x)(%x%x)", 
"%1:%2:%3:%4:%5:%6")
+       end
+
+       return mac, hasEthernet
+end
+
+
+-- Update player state from an SSID
+function updateSSID(self, ssid, lastScan)
+       local mac = ssidIsSqueezebox(self, ssid)
+
+       assert(self.id, mac)
+
+       -- stale wlan scan results?
+       if lastScan < self.lastSeen then
+               return
+       end
+
+       self.config = "needsNetwork"
+       self.configSSID = ssid
+       self.info.connected = false
+
+       self.lastSeen = lastScan
+
+       -- The player is no longer connected to SqueezeCenter
+       if self.slimServer then
+               self:free(self.slimServer)
+       end
+
+       -- player is now available
        playerList[self.id] = self
 
        self.jnt:notify('playerNew', self)
@@ -509,6 +552,16 @@
 --]]
 function getId(self)
        return self.id
+end
+
+
+-- Returns the player ssid if in setup mode, or nil
+function getSSID(self)
+       if self.config == 'needsNetwork' then
+               return self.configSSID
+       else
+               return nil
+       end
 end
 
 
@@ -1115,6 +1168,18 @@
 end
 
 
+-- return true if the player is available, that is when it is connected
+-- to SqueezeCenter, or in configuration mode (udap or wlan adhoc)
+function isAvailable(self)
+       return self.config ~= false
+end
+
+
+function needsNetworkConfig(self)
+       return self.config == "needsNetwork"
+end
+
+
 function needsMusicSource(self)
        return self.config == "needsServer"
 end

Modified: 
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay_jive/share/applets/SetupWireless/SetupWirelessApplet.lua
URL: 
http://svn.slimdevices.com/7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay_jive/share/applets/SetupWireless/SetupWirelessApplet.lua?rev=2569&root=Jive&r1=2568&r2=2569&view=diff
==============================================================================
--- 
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay_jive/share/applets/SetupWireless/SetupWirelessApplet.lua
 (original)
+++ 
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay_jive/share/applets/SetupWireless/SetupWirelessApplet.lua
 Mon Jun 16 13:57:58 2008
@@ -287,7 +287,7 @@
 
 function _scanComplete(self, scanTable)
 
-       local now = os.time()
+       local now = Framework:getTicks()
 
        local associated = nil
        for ssid, entry in pairs(scanTable) do
@@ -313,7 +313,7 @@
                              self.scanMenu:updatedItem(item)
 
                              -- remove networks not seen for 20 seconds
-                             if not entry.associated and os.difftime(now, 
entry.lastScan) > 20 then
+                             if not entry.associated and now - entry.lastScan 
> 20000 then
                                      self.scanMenu:removeItem(item)
                                      self.scanResults[ssid] = nil
                              end

Modified: 
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua
URL: 
http://svn.slimdevices.com/7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua?rev=2569&root=Jive&r1=2568&r2=2569&view=diff
==============================================================================
--- 
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua
 (original)
+++ 
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua
 Mon Jun 16 13:57:58 2008
@@ -263,11 +263,14 @@
 
 
 function notify_playerCurrent(self, player)
-       local server
-       if player then
-               self.player = player
-               self.server = player:getSlimServer()
-       else
+       if not player then
+               return
+       end
+
+       self.player = player
+       self.server = player:getSlimServer()
+       
+       if not self.server then
                return
        end
 

Modified: 
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay_jive/share/jive/net/Wireless.lua
URL: 
http://svn.slimdevices.com/7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay_jive/share/jive/net/Wireless.lua?rev=2569&root=Jive&r1=2568&r2=2569&view=diff
==============================================================================
--- 
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay_jive/share/jive/net/Wireless.lua
 (original)
+++ 
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay_jive/share/jive/net/Wireless.lua
 Mon Jun 16 13:57:58 2008
@@ -12,6 +12,7 @@
 local debug       = require("jive.utils.debug")
 local log         = require("jive.utils.log").logger("net.socket")
 
+local Framework   = require("jive.ui.Framework")
 local Socket      = require("jive.net.Socket")
 local Task        = require("jive.ui.Task")
 local wireless    = require("jiveWireless")
@@ -206,7 +207,7 @@
                        level = level,
                        quality = quality,
                        associated = (ssid == associated),
-                       lastScan = os.time()
+                       lastScan = Framework:getTicks()
                }
        end
 

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

Reply via email to