[App]Llama - Location Aware Mobile Application

Status
Not open for further replies.

Kebab3000

Senior Member
Nov 14, 2010
65
89
0
Hey guys,

I've been playing about with android for about a year now and I've written this app. It's a location and time-based profile application, so you can set ringer volume, vibrate mode and ring tones for when you are asleep or at work.

It's like an extremely light-weight version of Locale with very few features :p

Eventually I'll put it on the Market, so I'm trying to figure out if there's going to be enough interest for it.

-Would you pay 60p-£1 ($1 to £1.50) for it?
-If I put it on there as free and ask people to donate, will enough people bother at least to cover the Market fee... do people actually donate beer-money if they know they can get it for free?
-Let me know of any bugs or suggestions (Note: I'd like to keep it simple, if you want lots of features, then I'd suggest a different app)
-This version will expire mid February. I'll hopefully have decided how I want to proceed with it after mid February.

Cheers all!


Usage Instructions:
Llama comes with a predefined set of Profiles, but you can customise these.

Llama uses 'events'. Each event has a set of conditions and actions. When all of the conditions are met, the actions are run. Llama comes with some default events, but you can customise them appropriately. One of the events is named 'Quiet at night', and is based on the fact that you are at home, and the time is after 10pm. This means that when it is late and you are at home, it will turn the ringer to a lower volume. However, if you are at the pub and it's after 10pm, it will leave the ringer alone (NOTE: this is assuming that your home and the pub are suitably far away. Llama works best in built up areas with lots of phone masts). You can also create an event that disables/enables APN mobile data, so your phone isn't pointlessly checking your email overnight

Llama uses no data whatsoever, so you have to teach it the IDs of the phone masts near your home and workplace. Doing this is easy. Just go to the 'Areas' tab and long-press to tell the app to 'start learning' your home or workplace. Tell it how long you plan to be at home or work and it'll make a note of the phone masts that it finds. Then do the same for when you are at work.





Changelog:
1.2011.01.28.1330
-Donation button added
-Help text added
-Import/Export/Apn On-Off menus condensed into a popup
-Package name changed so it can be uploaded to the market after some evil person uploaded it to the market without my permission

1.2011.01.25.1500
-Wifi action can be set to only turn off wifi if not connected to a wifi network
-Improvements/hacks to the keylock action, because the API misbehaves if the service gets killed between disabling then reenabling they key lock

1.2011.01.22.1710
-Charging/Discharging condition
-Run application action
-Disable keylock action
-Confirm deletes in area, events and profiles
-Option to set whether 'no signal' causes Llama to leave an area
-Stuff is sorted alphabetically now
-Now expires 15th Feb

1.2011.01.12.2110
-Cdma network dump if you turn on Debug -> Write to LlamaLog.txt
(Not that exciting)

1.2011.01.10.2120
- Fix for Cdma networks (hopefully)

1.2011.01.09.1940
- Added Bluetooth toggle
- Added Day of the week condition
- Added a way to remove cells from an area
- Logging and data import/export goes in /sdcard/Llama
- Added free warning for twats that like to charge other people money for applications they have not written

1.201012262100
- Added Wifi toggle

ATTACHMENT REMOVED
Go get it from the market now :)
 
Last edited:

benjymous

Inactive Recognized Developer
Jun 29, 2010
268
75
0
blog.grapefruitopia.com
Looks good - I'll have a play and report back any feedback :)

It'd be handy to be able to turn wifi on/off at certain locations - no point having it on in the office when there's no open wifi to connect to.

Any chance of an option to hide the notification icon from the titlebar (show it only shows in the dropdown?)
 

benjymous

Inactive Recognized Developer
Jun 29, 2010
268
75
0
blog.grapefruitopia.com
Thinking some more, it'd be handy to be able to have location categories - something like:

* Home (category)
- My house
- Parents house

* Work
- London's office
- Cambridge office

That way I can have events assigned to "home" or "work" without having to duplicate rules, or merge multiple locations together.
 

Kebab3000

Senior Member
Nov 14, 2010
65
89
0
I've added a WiFi toggle. I'll have a think about the area grouping. The point of the notification is so you can see what profile is active by the number of dots on the icon. You can completely hide the icon in the settings. I'm not certain that Llama is the kind of application you need constant access to via the notification bar.
 
  • Like
Reactions: alexinna

TechGuru_x10

Senior Member
May 31, 2010
493
26
0
Calcutta
This reminds me of sman application which was there on my p910i. I have been lookinh for this.

Will it be possible for you to add triggering some event such as sms or ringtone. ?
Sent from my X10i using XDA App
 

benjymous

Inactive Recognized Developer
Jun 29, 2010
268
75
0
blog.grapefruitopia.com
EDIT: attachment removed because some unsavoury person decided they'd publish it on the market for me. still, nice to know it would get '< 50 downloads'
Ack. As far as I can tell it's been deleted now (at least I couldn't find the fake version when searching) - Do you still have plans to release this? I'm finally using it properly now I'm back at work and have found it to work perfectly so far, so it'd be a shame for it to expire on me now.

I'd happily pay £1 for it :)
 

Kebab3000

Senior Member
Nov 14, 2010
65
89
0
Ack. As far as I can tell it's been deleted now (at least I couldn't find the fake version when searching) - Do you still have plans to release this? I'm finally using it properly now I'm back at work and have found it to work perfectly so far, so it'd be a shame for it to expire on me now.

I'd happily pay £1 for it :)
I emailed the bloke and he removed it. I also reported it to Google who haven't done much about the rest of his probably stolen apps/themese. He's DavinciDevelopers by the way. If anyone's bored, buy his apps, give them 1 star, then refund :D

I'm still not 100% sure if I'll release it, but it's likely I will in some form. I need to decide about whether to have it as just a paid version or free+donate. There's still 3 weeks before it expires, and I'll happily extend that if I haven't decided by then.
 
  • Like
Reactions: Pizzalover83

benjymous

Inactive Recognized Developer
Jun 29, 2010
268
75
0
blog.grapefruitopia.com
Cool - glad you've not lost heart after that :)

I noticed another issue - there doesn't seem to be a way of removing a cell from a location - I accidentially added a cell to both "Home" and "Work". Ended up deleting and recreating the "Home" location.

This is using the (1.20101226) build, as I didn't get a chance to grab the newer version
 

Kebab3000

Senior Member
Nov 14, 2010
65
89
0
Yep, known issue :) I'll probably add an item to the long-press menu to remove a cell from an area.

That does have the downside that you have to have seen the cell recently to remove it. If I just show the cell IDs in an area, then you wouldn't know which to remove.
 

tdusen

Senior Member
Sep 14, 2006
598
49
48
I'm still not 100% sure if I'll release it, but it's likely I will in some form. I need to decide about whether to have it as just a paid version or free+donate. There's still 3 weeks before it expires, and I'll happily extend that if I haven't decided by then.

Sad to see it's gone. I just discovered this thread.
 

DiGi760

Senior Member
Nov 7, 2010
641
83
0
So is this basically just your version of Tasker?

Tasker is an application for Android which performs Tasks (sets of Actions) based on Contexts (application, time, date, location, event, gesture) in user-defined Profiles, or in clickable or timer home screen widgets.
 

Kebab3000

Senior Member
Nov 14, 2010
65
89
0
So is this basically just your version of Tasker?
Pretty much. It started out as a university project 5 years ago on Series 60, and I reimplemented it when I switched to android. There's plenty of apps already like it on the market, so I don't want to completely replicate the functionality of Tasker.

Any way you could use the Google APIs to get a vague description of the antenna location?
That'd mean it would need to use data. Llama's unique "selling" point at the moment is it doesn't need any data and it just sits there looking at cell tower IDs

Sad to see it's gone. I just discovered this thread.
It'll be back when I have time to put a 'If you bought this off a douchebag on the market you should demand a refund' dialog box :D
 

tdusen

Senior Member
Sep 14, 2006
598
49
48
FC for me also.

Here's the exception from logcat

Code:
I/ActivityManager(  104): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10
200000 cmp=com.kebab.LlamaDroid/.LlamaUi }
I/ActivityManager(  104): Start proc com.kebab.LlamaDroid for activity com.kebab.LlamaDroid/.LlamaUi: pid=1265 uid=10089 gids={3001,
 1015}
D/AK8973  (   72): Compass Start
D/Sensors (  104): open_akm, fd=147
I/LlamaDroid( 1265): InitCellListener
I/LlamaDroid( 1265): androidID=2125c55ace0a96e5
I/LlamaDroid( 1265): starting to listen
I/LlamaDroid( 1265): requesting update
D/AndroidRuntime( 1265): Shutting down VM
W/dalvikvm( 1265): threadid=1: thread exiting with uncaught exception (group=0x40025a38)
I/global  ( 1265): Default buffer size used in BufferedWriter constructor. It would be better to be explicit if an 8k-char buffer is
 required.
E/AndroidRuntime( 1265): FATAL EXCEPTION: main
E/AndroidRuntime( 1265): java.lang.RuntimeException: Unable to create service com.kebab.LlamaDroid.LlamaService: java.lang.ClassCast
Exception: android.telephony.cdma.CdmaCellLocation
E/AndroidRuntime( 1265):        at android.app.ActivityThread.handleCreateService(ActivityThread.java:3140)
E/AndroidRuntime( 1265):        at android.app.ActivityThread.access$3300(ActivityThread.java:135)
E/AndroidRuntime( 1265):        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2202)
E/AndroidRuntime( 1265):        at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 1265):        at android.os.Looper.loop(Looper.java:144)
E/AndroidRuntime( 1265):        at android.app.ActivityThread.main(ActivityThread.java:4937)
E/AndroidRuntime( 1265):        at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 1265):        at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime( 1265):        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
E/AndroidRuntime( 1265):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
E/AndroidRuntime( 1265):        at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 1265): Caused by: java.lang.ClassCastException: android.telephony.cdma.CdmaCellLocation
E/AndroidRuntime( 1265):        at com.kebab.LlamaDroid.LlamaService$2.onCellLocationChanged(LlamaService.java:495)
E/AndroidRuntime( 1265):        at com.kebab.LlamaDroid.LlamaService.initCellListener(LlamaService.java:527)
E/AndroidRuntime( 1265):        at com.kebab.LlamaDroid.LlamaService.onCreate(LlamaService.java:105)
E/AndroidRuntime( 1265):        at android.app.ActivityThread.handleCreateService(ActivityThread.java:3125)
E/AndroidRuntime( 1265):        ... 10 more
W/ActivityManager(  104):   Force finishing activity com.kebab.LlamaDroid/.LlamaUi
 
Status
Not open for further replies.