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 com.google.android.gm, 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:

http://www.mediafire.com/?mj40jwl5f089t60 Remember to export your data before you install it, just in case you have to roll back!

Monday, 13 June 2011

A thousand 5 stars and another test version

Llama received it's 1000th 5 star rating today, which is pretty cool. There's a new freshly compiled test version located here:
http://www.mediafire.com/?zd76xtey1xwbvbb

As usual, export your current settings before installing this version just in case you have to roll-back to an older version.

As well as some new conditions and actions, Llama now has a lock button on each profile's row in the list. This lets you quickly tap silent without having to do that infuriating long-press. I've actually had a few meetings in real-life work and it's been annoying me so I'm sure it's been annoying you! :)

Another notable change is that you can now run shortcuts. This may not seem that exciting right now, but you can now nag other app developers to support Llama (and the rest of Android) by using standard Android shortcuts. Creating shortcuts for Android is easy (for developers), and there's plenty of good examples of how to do it kicking about on the internet. It also means I don't have to write any boring documentation.
Some apps that immediately come to mind are:

  • Advanced Task Manager - lets you create a shortcut for it's kill applications action.
  • Gscript Lite - lets you create shortcuts to the geeky scripts you've written.
  • DropSpace - lets you start a sync to your Dropbox account
  • Browser - lets you open the browser at a web pages.
  • Music - lets you create a shortcut to a playlist, which starts playing immediately.
  • Llama - lets you define a number of actions that can be run, such as a shortcut to Llama that lets you define a number of actions that can be run, such as a shortcut to Llama that lets you define a number of actions that can be run, such as a shortcut to Llama that..... BOOM. (I've not tried this, nor would I recommend trying it :P)


Changes in version 1.2011.06.13.2240

  • Run application shortcuts
  • Run all applications, even those with two entry points like Maps and Navigation
  • Change WiFi sleep policy
  • Change haptic feedback
  • Create events based on enabling/disabling Airplane mode
  • Activate and lock profile button in the profiles list

Saturday, 4 June 2011

Noisy Contacts, sneaky Facebook

One of the most requested features for Llama was to be able to pick some Contacts that should be able to ring even when the phone is silent. The new version which does this is ready for testing :) Make sure you backup your current data, as this version adds some more stuff to saved profiles. If you have to downgrade back to the market version, the old version may crash because it's not expecting the noisy contact settings to be there.

http://www.mediafire.com/?grkredpv759z3q2
Version 1.2011.06.04.1215

You can now specify a list of contacts for each of your profiles. You can also set a volume level that these contacts should ring at. When you receive a call from one of the contacts that you've picked, your phone will ring at the volume level that you've set.

This means you can potentially have two Silent profiles: one for work and one for home. You may want your Silent - Work profile to be active at work. This profile would have all of your work contacts, so that your boss can always get hold of you during working hours, however everyone else wouldn't ring and disturb your  meetings. Your Silent - Home profile would then be active at night. This profile would only have your wife and kids, so they can contact you in an emergency, while your boss's calls will be silent so he doesn't disturb you whilst you aren't getting paid.

Of course, there's nothing limiting it to silent profiles. You can use Noisy Contacts on a quiet profile, so that your phone still rings quietly for everyone else, but loudly for your family. You can also make it work the other way around. You can set up a profile that normally has the ringer on, and then set the Noisy Contact Volume to zero, so that the ringer is always silent for whoever you select.

You'll currently have to add people manually for each profile. I plan on improving the people picker by adding searching and Google contact group selection (the documentation on contact groups is fairly poor). Also, Facebook seem to deliberately block any app aside from the official contacts app from reading Facebook contacts stored on the phone. The HTC Sense Facebook app apparently works as expected though, but I no longer have Sense on my phone. If you want to add a Facebook contact as a noisy contact, you'll have to create a Google/Phone-only contact for them (and then merge it with the Facebook one to keep your contact list tidy).

Here's some info about Facebook being mean:
http://www.engadget.com/2011/02/22/google-disables-contact-sync-in-facebook-for-android-only-nexus/
http://stackoverflow.com/questions/4506571/how-to-get-a-contacts-facebook-id-or-url-from-native-contacts-content-resolver

One day I'll put a page on this blog listing all of the limitations of Android and other apps (mainly looking at at you, Facebook) so you can prod their devs to fix any shortcomings and get Llama (and other Android apps) working better.

Llama doesn't do any special handling of the ringtone; it will just use whatever one is associated with that contact or the default ringtone. Make sure your silent profile doesn't switch to the 'Silent' ringtone from the ringtone picker. Instead, make sure your Silent profile is defined by setting the ring/vibrate/silent mode to Silent.

Also in this version:

  • 4G on/off switch. If someone could test that and let me know if it works I'd be grateful. I don't own a 4G phone :( If you want to send me a 4G phone for free, then get in touch :D
  • Some of you reported that the Ignore invalid cell/no signal stopped working, so this has a possible fix
  • Minimalistic widget stuff is back
  • Weird BROADCAST_STICKY force closes on MIUI should hopefully be fixed.
Please email me any bugs. Use the Llama-help button in the app or the contact developer button in the market. Cheers.

EDIT: This version will be on the market in a couple of weeks if no one finds any bugs.