screen_locked = locked;
}
- private void on_power_button(Posix.timeval* time, bool pressed)
+ private void on_power_button(Posix.timeval* t, bool pressed)
{
if (!pressed)
{
if (screen_locked)
{
- // TODO: short press: turn on backlight for a bit
- // TODO: long press: unlock
- set_screen_lock(false);
+ time_t now = new time_t();
+ if (now < t->tv_sec + 2)
+ {
+ // Short press: turn on backlight for a bit
+ backlight.wiggle();
+ } else {
+ // Long press: unlock
+ set_screen_lock(false);
+ }
}
else
{
"org.freesmartphone.Usage");
}
+ // Turn the backlight and then let it fade off
+ public void wiggle()
+ {
+ // There must be a better method
+ usage.RequestResource("Display");
+ usage.ReleaseResource("Display");
+ }
+
/// Request GPS resource
public override void start()
{