[App]Llama - Location Aware Mobile Application

Status
Not open for further replies.
Search This thread

Kebab3000

Senior Member
Nov 14, 2010
65
89
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.

lW5ny.png

C57Yw.png

rgcuG.png


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
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
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
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
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
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
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
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
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.
 

benjymous

Inactive Recognized Developer
Jun 29, 2010
268
75
blog.grapefruitopia.com
Any way you could use the Google APIs to get a vague description of the antenna location?

Though I'm happy with just spotting it in the recent list, as that's where I accidentally added it :)
 

tdusen

Senior Member
Sep 14, 2006
625
54
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.
 

freexx89

Senior Member
Dec 11, 2007
297
7
CRP
I just discovered it, I wish I knew about this app man id love to try it n heh I would buy it too or donate :(

Swyped using SuperSonic
 

DiGi760

Senior Member
Nov 7, 2010
641
83
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
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
625
54
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.

Top Liked Posts

  • There are no posts matching your filters.
  • 71
    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.

    lW5ny.png

    C57Yw.png

    rgcuG.png


    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 :)
    2
    Anyone have any ideas what this "Unknown profile" business is about?

    Never mind. Crisis averted. On a hunch I backed up my settings (Import/Export Data, Export to SD Card), then uninstalled Llama, re-installed latest version, and re-imported the settings (Import/Export Data, Import from SD Card). Seems to have worked like a charm.

    P.S. I know it's bad form to reply to oneself, but I figured I would 1) not waste anyone's time who might be kind enough to suggest solutions, 2) post a work-around that did the trick for me, in case someone else runs into the same or similar issue.
    2
    Has anyone compared the battery use of Llamas cell based location with Llamas experimetal android positioning?

    I use cell based positioning for over a year now. However, i find it not accurate enough. With it I get a radius of aprox. 2 Km around my home as home zone that triggers for example wifi and stops 3g. Llamas experimetal android positioning is much more accurate I think (150 m radius). Howeverm I have no idea if this much more power intensive compared to cell positioning.

    As I don't like to rewrite my uncounted rules just to be disapointed with Llamas experimetal android positioning's battery consumtion an lateron having to rewrite all rules again I would like to ask here if anyone has made concrete experiances with it?

    best regards

    P.S.: I already tested WLAN positioning (every 5 minutes) some time ago and this resulted in lots of wakeloks and approx. 2% additional battery loss per hour compared to simple cell positioning.
    2
    Thanks for the explanation ;)
    I'm on a GSM network. Ok I switched the APN off and on and it worked.
    I see my battery drain faster while the application is active. The cell area refresh rate doesn't seem to be regular. How is it programmed? I've noticed that it's very often when the phone is awake and that it doesn't seem to be refreshed while it's asleep. Do you plan to add an option to choose the refresh rate?

    Sent from my HTC Desire Z using XDA app

    How do you know your battery is decreasing due to Llama and what phone do you have? Llama doesn't do any polling and sit's there waiting until android tells it that the cell id has changed. So there's no refresh rate to configure :)

    I don't know the technical details, but I guess that if your phone is asleep, it won't be switching cells. If your phone's screen is on, it's probably doing all the 'background data' stuff, causing it to try and find the best cell. Also, the screen is a battery hog, so if you're checking llama every 5 mins to see if the cell has changed then I'd blame the screen.

    If you think llama is using up your battery, can you install 'Usage Timelines' by Achim Leubner and let me know what the CPU % is.

    Thanks
    2
    I was wondering if you would be willing to add a condition that checks to see if something is plugged in to the 3.5mm headphone jack on the phone and an action that rotates and locks the screen to portrait or landscape when in a particular app? Thanks a lot.
    Headset condition is possible. The rotate thing isn't. Android doesn't let you choose whether to fix the screen to portrait and landscape

    Installed, but seems i can't see any log available. :confused:
    What log are you looking for? In Usage Timelines, you should see Llama using 0-2%. If you press 'Start CPU load timeline' at the top, your pull-down notification bar will show you CPU usage over time. This should stay pretty low unless you cause a lot of animations (switching apps, scrolling lists, etc, etc)