Author: titmuss
Date: Thu Jan 24 09:34:28 2008
New Revision: 1606

URL: http://svn.slimdevices.com?rev=1606&root=Jive&view=rev
Log:
Bug: 6443
Description:
Modify Goodbye screen. Using a callback on the brightness could break if 
another applet modifies the brightness during 
shutdown. Instead use a timer.

Bug: 6651
Description:
On the power off screen, allow the user to press and hold home to turn off Jive.


Modified:
    
branches/7.0/jive/src/pkg/jive_squeezeboxjive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua

Modified: 
branches/7.0/jive/src/pkg/jive_squeezeboxjive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua
URL: 
http://svn.slimdevices.com/branches/7.0/jive/src/pkg/jive_squeezeboxjive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua?rev=1606&root=Jive&r1=1605&r2=1606&view=diff
==============================================================================
--- 
branches/7.0/jive/src/pkg/jive_squeezeboxjive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua
 (original)
+++ 
branches/7.0/jive/src/pkg/jive_squeezeboxjive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua
 Thu Jan 24 09:34:28 2008
@@ -31,6 +31,7 @@
 local Checkbox               = require("jive.ui.Checkbox")
 local Window                 = require("jive.ui.Window")
 
+local debug                  = require("jive.utils.debug")
 local log                    = 
require("jive.utils.log").logger("applets.setup")
 
 local jnt                    = jnt
@@ -58,6 +59,7 @@
 local EVENT_SWITCH           = 0x400000 -- XXXX fixme when public
 local EVENT_MOTION           = 0x800000 -- XXXX fixme when public
 local EVENT_WINDOW_PUSH      = jive.ui.EVENT_WINDOW_PUSH
+local EVENT_VISIBLE_ALL      = jive.ui.EVENT_VISIBLE_ALL
 local EVENT_CONSUME          = jive.ui.EVENT_CONSUME
 local EVENT_UNUSED           = jive.ui.EVENT_UNUSED
 
@@ -328,7 +330,7 @@
 end
 
 
-function _setBrightness(self, fade, lcdLevel, keyLevel, closure)
+function _setBrightness(self, fade, lcdLevel, keyLevel)
        -- stop existing fade
        if self.fadeTimer then
                self.fadeTimer:stop()
@@ -348,10 +350,6 @@
        local keyInc = (keyVal - keyLevel) / steps
 
        if lcdVal == lcdLevel and keyVal == keyLevel then
-               -- already at level, no need to fade so execute closure and 
return
-               if closure then
-                       closure()
-               end
                return
        end
 
@@ -364,10 +362,6 @@
 
                                                   -- ensure we hit the set 
value
                                                   _brightness(self, lcdLevel, 
keyLevel)
-
-                                                  if closure then
-                                                          closure()
-                                                  end
                                                   return
                                           end
 
@@ -650,9 +644,10 @@
 
 function batteryLowShow(self)
        if self.batteryPopup then
-               self.batteryPopup:show()
                return
        end
+
+       log:info("batteryLowShow")
 
        local popup = Popup("popupIcon")
 
@@ -674,10 +669,12 @@
 
        -- consume all key and scroll events
        self.batteryListener
-               = Framework:addListener(EVENT_SCROLL | EVENT_KEY_PRESS | 
EVENT_KEY_DOWN | EVENT_KEY_HOLD,
+               = Framework:addListener(EVENT_ALL_INPUT,
                                        function(event)
+                                               Framework.wakeup()
+
                                                -- allow power off
-                                               if event:getType() == 
EVENT_KEY_HOLD and event:getKeyCode() == KEY_HOME then
+                                               if event:getType() == 
EVENT_KEY_HOLD and event:getKeycode() == KEY_HOME then
                                                        self:settingsPowerOff()
                                                end
                                                return EVENT_CONSUME
@@ -692,6 +689,8 @@
 
 
 function batteryLowHide(self)
+       log:info("batteryLowHide")
+
        Framework:removeListener(self.batteryListener)
        self.batteryPopup:hide()
 
@@ -767,11 +766,20 @@
 function _powerOff(self)
        log:info("Poweroff begin")
 
-       self:_setBrightness(true, 0, 0,
-                           function()
-                                   log:info("Poweroff on")
-                                   os.execute("/sbin/poweroff")
-                           end)
+       self:_setBrightness(true, 0, 0)
+
+       -- power off when lcd is off, or after 1 seconds
+       local tries = 10
+       self.powerOffTimer = Timer(100,
+                                  function()
+                                          if self.lcdLevel == 0 or tries  == 0 
then
+                                                  log:info("Poweroff on")
+                                                  os.execute("/sbin/poweroff")
+                                          else
+                                                  tries = tries - 1
+                                          end
+                                  end)
+       self.powerOffTimer:start()
 end
 
 

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

Reply via email to