Monday 3 December 2012

Llama Bean point one

This version mostly contains some more bugfixes for Jelly Bean 4.2+. Here's some detail for my fellow nerds.

  • Android now reports WifiInfo.getBSSID as 00:00:00:00:00:00 when there is no WiFi network connected. Previous versions of Android return null.
  • Accessibility services now require android.permission.BIND_DEVICE_ADMIN permission (thanks for the tip Patrick C!).
  • The following broadcast intents now required an 'exported' BroadcastReceiver: android.bluetooth.device.action.ACL_CONNECTED, android.bluetooth.device.action.ACL_DISCONNECTED, android.bluetooth.device.action.FOUND, android.bluetooth.adapter.action.DISCOVERY_STARTED and android.bluetooth.adapter.action.DISCOVERY_FINISHED.

In addition to that stuff, Llama now also lets you increment, decrement and toggle variables as part of the 'set Llama variable' action. Another user mentioned that Samsung phones now moan whenever an app tries to use a http:// intent. This was causing problems for Llama's NFC functionality, since it was listening for NFC tags tagged with http://llama.location.profiles/nfc. Llama will now format tags as the rather nonsensical llamaloc://llama.location.profiles/nfc. Any existing tags will still work.


  • Variable increment/decrement/toggle
  • NFC now writes as llamaloc:// rather than http://
  • Play sound action can now optionally store sounds are direct path, rather than content URIs with flakey Media database IDs which change between ROMs/factory-resets
  • Fixed wifi network connection check for Wifi Off (if not connected) action
  • LlamaAccessibilityService permission added for 4.2
  • Bluetooth ACL intents now directed at an exported BroadcastReceiver, so it behaves in 4.2. This fixes Bluetooth conditions, and experimental the Bluetooth locations

As usual, backup your settings before installing. If anyone still has an Android 2.3 device lying about I'd be interested to hear if the changes to the BroadcastReceiver affected anything. Ta!