Author: bklaas
Date: Mon May 10 12:19:07 2010
New Revision: 8766

URL: http://svn.slimdevices.com/jive?rev=8766&view=rev
Log:
Bug: 15827
Description: add Software Update menu item on media that contain firmware files 
at top level of directory

Modified:
    
7.5/trunk/squeezeplay/src/squeezeplay_squeezeos/share/applets/SetupFirmwareUpgrade/SetupFirmwareUpgradeApplet.lua
    
7.5/trunk/squeezeplay/src/squeezeplay_squeezeos/share/applets/SetupFirmwareUpgrade/SetupFirmwareUpgradeMeta.lua

Modified: 
7.5/trunk/squeezeplay/src/squeezeplay_squeezeos/share/applets/SetupFirmwareUpgrade/SetupFirmwareUpgradeApplet.lua
URL: 
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay_squeezeos/share/applets/SetupFirmwareUpgrade/SetupFirmwareUpgradeApplet.lua?rev=8766&r1=8765&r2=8766&view=diff
==============================================================================
--- 
7.5/trunk/squeezeplay/src/squeezeplay_squeezeos/share/applets/SetupFirmwareUpgrade/SetupFirmwareUpgradeApplet.lua
 (original)
+++ 
7.5/trunk/squeezeplay/src/squeezeplay_squeezeos/share/applets/SetupFirmwareUpgrade/SetupFirmwareUpgradeApplet.lua
 Mon May 10 12:19:07 2010
@@ -157,6 +157,29 @@
 end
 
 
+function mmFindFirmware(self, devName)
+       local upgradePresent = false
+       local path = MEDIA_PATH .. devName .. "/"
+       local machine = System:getMachine()
+
+       local attrs = lfs.attributes(path)
+       if attrs and attrs.mode == "directory" then
+               for entry in lfs.dir(path) do
+                       local url = "file:" .. path .. entry
+                       local version = self:_firmwareVersion(url)
+
+                       if version or entry == machine .. ".bin" then
+                               log:info('Firmware update detected on ', path)
+                               upgradePresent = true
+                               break
+                       end
+               end
+       end
+
+       return upgradePresent
+end
+
+
 function _helpString(self, upgrade)
        local helpString = upgrade.help
        if not helpString then

Modified: 
7.5/trunk/squeezeplay/src/squeezeplay_squeezeos/share/applets/SetupFirmwareUpgrade/SetupFirmwareUpgradeMeta.lua
URL: 
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay_squeezeos/share/applets/SetupFirmwareUpgrade/SetupFirmwareUpgradeMeta.lua?rev=8766&r1=8765&r2=8766&view=diff
==============================================================================
--- 
7.5/trunk/squeezeplay/src/squeezeplay_squeezeos/share/applets/SetupFirmwareUpgrade/SetupFirmwareUpgradeMeta.lua
 (original)
+++ 
7.5/trunk/squeezeplay/src/squeezeplay_squeezeos/share/applets/SetupFirmwareUpgrade/SetupFirmwareUpgradeMeta.lua
 Mon May 10 12:19:07 2010
@@ -28,6 +28,7 @@
        meta:registerService("firmwareUpgrade")
        meta:registerService("showFirmwareUpgradeMenu")
        meta:registerService("wasFirmwareUpgraded")
+       meta:registerService("mmFindFirmware")
 
        -- check for firmware upgrades when we connect to a new player
        -- we don't want the firmware upgrade applets always loaded so
@@ -38,6 +39,15 @@
 
 function configureApplet(meta)
        appletManager:callService("wasFirmwareUpgraded")
+       -- software update should be a media manager menu item when applicable
+        appletManager:callService("mmRegisterMenuItem",
+                {
+                        serviceMethod     = "showFirmwareUpgradeMenu",
+                        menuText          = meta:string("UPDATE"),
+                       onlyIfTrue        = "mmFindFirmware",
+                        weight            = 100, -- default is 50, so this 
will put it at/near the bottom
+                }
+        )
 end
 
 

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

Reply via email to