Wednesday, 22 June 2011

Another week, some more features

I've been a bit busy with Llama, so there's a few more new features:

Version 1.2011.06.22.2120
  • Change wallpaper action (it's functional, but a bit rubbish at the moment)
  • Reminders suck less, you can actually clear them now
  • You can create events based of other apps' notification icons. e.g. Gmail, new sms, Google Talk (you'll have to enable Llama as an accessibility service
  • Kill with root action
  • Ability to ignore cells
I've also looked into some battery issues with the experimental cell polling. After upgrading to CM7, the Android System process occasionally "forgot" to let go of it's network-location wakelock, even though Llama told the system it was no longer interested in location updates. Let me know if you notice any improvements.

One massive oversight with my HTC Desire Z is the lack of LED control. I've previously owned a Motorola Milestone, which had a tri-colour LED. It was cool having different LED colours for Gmail or new SMSes. My Desire Z has no such LED. It has a green and amber LED, but these are mainly used for charging status. When my phone has an unread notification, it's green. However, if my phone is charging and is fully charged, it is also green, which means i have no idea whether I have a notification, or if my phone has finished charging. One saving-grace is that the Desire Z has a flashing trackpad LED. Unfortunately, this blinks very slowly when there's a notification, so slowly you'd hardly notice it. The trackpad can also blink rapidly if there's an incoming call. HTC need to start including tri-colour LEDs again.

So anyway, back to Llama.... Llama now lets you watch notifications and run actions. By using a GScript shortcut, you can run a script that starts the trackpad LED flashing as if the phone was ringing. I can now see when I have notifications a bit more reliably :) The GScript scripts look like:

Start flashing trackpad:
echo 3 > /sys/devices/platform/leds-microp/leds/jogball-backlight/brightness

Stop flashing trackpad:
echo 0 > /sys/devices/platform/leds-microp/leds/jogball-backlight/brightness

The events look like:
App Notification com.jb.gosms, Screen off -> Run a Gscript shortcut (trackpad blink)
App Notification, Screen off -> Run a Gscript shortcut (trackpad blink)

You can then use an event to turn them off:
Screen Off -> Run a Gscript shortcut (stop trackpad blink)

This basically replicates the functionality of LED me know and LightFlow using Llama events. I couldn't get either of those to work satisfactorily in CyanogenMod 7. Eventually, Llama may have a proper LED control action. It's still early stages and needs a lot of improvement (i.e not using GScript scripts, because GScript shows a console when it runs the script)

Finally, here's the link: Remember to export your data before you install it, just in case you have to roll back!