Author: fmueller
Date: Fri Aug 13 04:27:09 2010
New Revision: 9049

URL: http://svn.slimdevices.com/jive?rev=9049&view=rev
Log:
Bug: 16408 
Description:  
- Clean up statusbar update functions.
- Use ethernet icons.

Modified:
    
7.6/trunk/squeezeplay/src/squeezeplay_baby/share/applets/SqueezeboxBaby/SqueezeboxBabyApplet.lua

Modified: 
7.6/trunk/squeezeplay/src/squeezeplay_baby/share/applets/SqueezeboxBaby/SqueezeboxBabyApplet.lua
URL: 
http://svn.slimdevices.com/jive/7.6/trunk/squeezeplay/src/squeezeplay_baby/share/applets/SqueezeboxBaby/SqueezeboxBabyApplet.lua?rev=9049&r1=9048&r2=9049&view=diff
==============================================================================
--- 
7.6/trunk/squeezeplay/src/squeezeplay_baby/share/applets/SqueezeboxBaby/SqueezeboxBabyApplet.lua
 (original)
+++ 
7.6/trunk/squeezeplay/src/squeezeplay_baby/share/applets/SqueezeboxBaby/SqueezeboxBabyApplet.lua
 Fri Aug 13 04:27:09 2010
@@ -52,6 +52,9 @@
 local settings               = nil
 local brightnessTable        = {}
 
+local UPDATE_WIRELESS        = 0x01
+local UPDATE_POWER           = 0x02
+
 
 module(..., Framework.constants)
 oo.class(_M, SqueezeboxApplet)
@@ -203,9 +206,9 @@
 
        -- status bar updates
        local updateTask = Task("statusbar", self, _updateTask)
-       updateTask:addTask()
+       updateTask:addTask(UPDATE_WIRELESS | UPDATE_POWER)
        iconbar.iconWireless:addTimer(5000, function()  -- every five seconds
-               updateTask:addTask()
+               updateTask:addTask(UPDATE_WIRELESS | UPDATE_POWER)
        end)
 
        Framework:addActionListener("soft_reset", self, _softResetAction, true)
@@ -235,7 +238,7 @@
 
                elseif sw == 3 then
                        -- power event
-                       self:_updatePower()
+                       updateTask:addTask(UPDATE_POWER)
                end
        end)
 
@@ -708,32 +711,55 @@
 end
 
 
+local function _updateWirelessDone(self, iface, success)
+       local player = Player:getLocalPlayer()
+
+       -- wireless
+       if iface:isWireless() then
+               if success then
+                       local percentage, quality = iface:getSignalStrength()
+                       iconbar:setWirelessSignal(quality ~= nil and quality or 
"ERROR")
+                       if player then
+                               player:setSignalStrength(percentage)
+                       end
+               else            
+                       iconbar:setWirelessSignal("ERROR")
+                       if player then
+                               player:setSignalStrength(nil)
+                       end
+               end
+       -- wired
+       else
+               if success then
+                       iconbar:setWirelessSignal("ETHERNET")
+               else
+                       iconbar:setWirelessSignal("ETHERNET_ERROR")
+               end
+               if player then
+                       player:setSignalStrength(nil)
+               end
+       end
+end
+
+
 local function _updateWireless(self)
        local iface = Networking:activeInterface()
-       local player = Player:getLocalPlayer()
-
-       if not iface then
-               iconbar:setWirelessSignal(nil)
-               player:setSignalStrength(nil)
-       else
-               if iface:isWireless() then
-                       -- wireless strength
-                       local percentage, quality = iface:getSignalStrength()
-                       iconbar:setWirelessSignal(quality ~= nil and quality or 
"ERROR")
-
-                       if player then
-                               player:setSignalStrength(percentage)
-                       end
-               else
-                       -- wired
-                       local status = iface:status()
-                       iconbar:setWirelessSignal(not status.link and "ERROR" 
or nil)
-
-                       if player then
-                               player:setSignalStrength(nil)
-                       end
-               end
-       end
+
+       Networking:checkNetworkHealth(
+               iface,
+               function(continue, err, msg, msg_param)
+                       local message = self:string(msg, msg_param)
+                       log:debug("_updateWireless status: ", message)
+
+                       if not continue then
+                               log:debug("_updateWireless: ", err)
+
+                               _updateWirelessDone(self, iface, (err == 0))
+                       end
+               end,
+               false,
+               nil
+       )
 end
 
 
@@ -759,7 +785,7 @@
 end
 
 
-function _updatePower(self)
+local function _updatePower(self)
        local isLowBattery = false
        local chargerState = sysReadNumber(self, "charger_state")
        local batteryState = false
@@ -840,8 +866,14 @@
 
 function _updateTask(self)
        while true do
-               _updatePower(self)
-               _updateWireless(self)
+               local what = unpack(Task:running().args)
+
+               if (what & UPDATE_POWER) == UPDATE_POWER then
+                       _updatePower(self)
+               end
+               if (what & UPDATE_WIRELESS) == UPDATE_WIRELESS then
+                       _updateWireless(self)
+               end
 
                -- suspend task
                Task:yield(false)

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

Reply via email to