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