Author: fmueller
Date: Tue Aug 24 02:11:30 2010
New Revision: 9062

URL: http://svn.slimdevices.com/jive?rev=9062&view=rev
Log:
Bug: 16408 
Description: 
- Fix update of wireless network list
- Fix detection of active network

Modified:
    
7.6/trunk/squeezeplay/src/squeezeplay_squeezeos/share/applets/SetupNetworking/SetupNetworkingApplet.lua
    
7.6/trunk/squeezeplay/src/squeezeplay_squeezeos/share/jive/net/Networking.lua

Modified: 
7.6/trunk/squeezeplay/src/squeezeplay_squeezeos/share/applets/SetupNetworking/SetupNetworkingApplet.lua
URL: 
http://svn.slimdevices.com/jive/7.6/trunk/squeezeplay/src/squeezeplay_squeezeos/share/applets/SetupNetworking/SetupNetworkingApplet.lua?rev=9062&r1=9061&r2=9062&view=diff
==============================================================================
--- 
7.6/trunk/squeezeplay/src/squeezeplay_squeezeos/share/applets/SetupNetworking/SetupNetworkingApplet.lua
 (original)
+++ 
7.6/trunk/squeezeplay/src/squeezeplay_squeezeos/share/applets/SetupNetworking/SetupNetworkingApplet.lua
 Tue Aug 24 02:11:30 2010
@@ -438,19 +438,8 @@
                        self.scanResults[ssid].bssid = entry.bssid
                        self.scanResults[ssid].flags = entry.flags
 
-                       local itemStyle
-                       if iface:isWireless() then
-                               itemStyle = "wirelessLevel" .. (entry.quality 
or 0)
-                       else
-                               itemStyle = entry.link and "wiredEthernetLink" 
or "wiredEthernetNoLink"
-                       end
-
-                       local item = self.scanResults[ssid].item
-                       item.arrow:setStyle(itemStyle)
-
-                       if self.scanMenu then
-                               self.scanMenu:updatedItem(item)
-                       end
+                       self.scanResults[ssid].associated = entry.associated
+                       self.scanResults[ssid].quality = entry.quality
                end
        end
 
@@ -461,6 +450,26 @@
                                self.scanMenu:removeItem(entry.item)
                        end
                        self.scanResults[ssid] = nil
+               end
+       end
+
+       -- update networks
+       for ssid, entry in pairs(self.scanResults) do
+               if iface:isWireless() then
+                       local item = entry.item
+
+                       -- Mark current wireless network (if available)
+                       if entry.associated and entry.quality > 0 then
+                               item.style = "item_checked"
+                       else
+                               item.style = "item"
+                       end
+
+                       -- Update wireless signal quality
+                       item.arrow:setStyle("wirelessLevel" .. (entry.quality 
or 0))
+                       if self.scanMenu then
+                               self.scanMenu:updatedItem(item)
+                       end
                end
        end
 end

Modified: 
7.6/trunk/squeezeplay/src/squeezeplay_squeezeos/share/jive/net/Networking.lua
URL: 
http://svn.slimdevices.com/jive/7.6/trunk/squeezeplay/src/squeezeplay_squeezeos/share/jive/net/Networking.lua?rev=9062&r1=9061&r2=9062&view=diff
==============================================================================
--- 
7.6/trunk/squeezeplay/src/squeezeplay_squeezeos/share/jive/net/Networking.lua 
(original)
+++ 
7.6/trunk/squeezeplay/src/squeezeplay_squeezeos/share/jive/net/Networking.lua 
Tue Aug 24 02:11:30 2010
@@ -620,17 +620,25 @@
                        quality = i
                end
 
+               -- Add (or update) all found networks to _scanResults list
                self._scanResults[ssid] = {
                        bssid = string.lower(bssid),
                        flags = flags,
                        level = level,
                        quality = quality,
-                       associated = (ssid == activenSSID),
+                       associated = false,
                        lastScan = now
                }
        end
 
-       -- process configured networks
+       -- Timeout networks - remove from _scanResults list
+       for ssid, entry in pairs(self._scanResults) do
+               if now - entry.lastScan > SSID_TIMEOUT then
+                       self._scanResults[ssid] = nil
+               end
+       end
+
+       -- Add (or update) already configured networks to _scanResults list
        for id, ssid, flags in string.gmatch(networks, 
"([%d]+)\t([^\t]*)\t[^\t]*\t([^\t]*)\n") do
                if not self._scanResults[ssid] then
                        self._scanResults[ssid] = {
@@ -639,20 +647,28 @@
                                level = 0,
                                quality = 0,
                                associated = false,
+                               lastScan = now,
                        }
                end
 
                self._scanResults[ssid].id = id
-               self._scanResults[ssid].lastScan = now
-       end
-
-       -- timeout networks
+       end
+
+       -- Mark current network (and count entries)
        local count = 0
        for ssid, entry in pairs(self._scanResults) do
+               -- Ssids do not have spaces replaced
+               local nssid = string.gsub(ssid, "[ \t]", "_")
+
+               local associated = false
+
+               if nssid and activenSSID and associatedSSID then
+                       associated = (nssid == activenSSID)
+               end
+
+               self._scanResults[ssid].associated = associated
+
                count = count + 1
-               if now - entry.lastScan > SSID_TIMEOUT then
-                       self._scanResults[ssid] = nil
-               end
        end
 
        log:info("scan found ", count, " wireless networks")

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

Reply via email to