Calendar Silencer is an app that is responsible for muting your phone during meetings / dates / movies .... and unmuting your phone when the meeting ended.
features included:
import events from all or specified calendars
creating filters based on words or phrase that you don't want your event to include
enable notification before the alarm start
choose silent mode (silent , silent + vibrate)
Precede event to now in case meeting start early
postpone event based on user's interval
open original event to edit
Auto schedule events ( auto poilot mode ) - full version feature
contacts exception - enable specified contacts to override silent mode full version feature
quick tutorial - settings
specify which calendars you want to watch - default all.
choose silent mode - silent or vibrate.
enable notifications - enable this to receive notification a minute before the event start .
choose time to scan - select how much time you wish for the app to scan ahead.
quick tutorial - settings
from the main screen slide left or press the right button on the top right corner to move to events screen.
from the events screen tap menu and "update from calendar" to get a list updated events.
tap on an event to get list of actions.
actions include :
schedule - this will schedule the event to mute when the event start
delete - delete the event from application database - not from the calendar itself
create filters - create filters from this event's title
start event now - start event now and schedule unmute when the events suppose to end for early starting meeting
postpone event for meeting the goes beyond expected
open event - open original event event in calendar for editing purpose
from the events screen slide left or press the right button on the top right corner to move to filters screen.
note that in free version there is only 1 type of filters which are "ignore this" filter.
this filter type will specify words that if found in the event title the event will be ignored/
full version feature - auto schedule filter
this filter type will auto schedule an event if the the filter exist in the event title/
from the filters screen slide left or press the right button on the top right corner to move to exceptions screen. this screen can be reached from main screen
select contacts for whom the phone will ring even in silent mode
http://market.android.com/details?id=com.swarly.silencer.app
enjoy and rate
Jesus... This is pretty darn handy for school.
Testing it now!
very handy...wish this had been around sooner as I bought Tasker and configured a bunch of profiles to serve the same purpose as what this app seems to do much more simply. Looks great
Not bad
How about Touchdown support? That would make this incredibly handy for Exchange users!
navalynt said:
How about Touchdown support? That would make this incredibly handy for Exchange users!
Click to expand...
Click to collapse
Touchdown actually does not sync anything to the device.
since this app read local synced events it can't read Touchdown settings or data (events for that matter).
If you wish to use Exchange calendar you can always sync your exchange account to the device using ActiveSync like this
settings -> accounts and sync -> add account -> Microsoft Exchange ActiveSync
once you synced you device this app will be able to read Exchange calendar.
anyway thanks for the advice and ill try to add support for remote Exchange
update:
i added an "add new calendar account " button in settings for those who don't have their account configured
I bought the full version but just can't get it to work.
I went to "Events list" and pressed menu > Update from calendar, and I can see all my events in the list. But it just says "will schedule - event".
Then I go to the "Filters list" and see "all. schedule", yet my phone does not go silent when my events start.
The on/off button is very confusing. When the button is red and says "off", does it mean that it is off, or that I should press it if I wish to turn it off?
Thanks!
8ESP said:
I bought the full version but just can't get it to work.
I went to "Events list" and pressed menu > Update from calendar, and I can see all my events in the list. But it just says "will schedule - event".
Then I go to the "Filters list" and see "all. schedule", yet my phone does not go silent when my events start.
The on/off button is very confusing. When the button is red and says "off", does it mean that it is off, or that I should press it if I wish to turn it off?
Thanks!
Click to expand...
Click to collapse
Hi.
the on/off button indicate the current state, meaning when the button is green and it's say "on" that mean that auto schedule is enabled
"all schedule" is the default filter that indicate that all events will be scheduled.
please pay attention that even event will be scheduled automatically only if the on/off button is in "on" state.
Pay attention that Calendar Silencer will not schedule events that already in progress, for example if you have event that start in 12:00 and you started the auto schedule in 12:05 the event will not be schedule.
if you enabled notifications please notice that the notification will disappear once the event has started, pressing the notification will clear the notification but also will cancel the alarm
let me know if have any more problems
Still nothing.
http://i.imgur.com/4avGn.png
http://i.imgur.com/Upp6O.png
http://i.imgur.com/U0UXg.png
What am I missing?
MIUI rom HTC Desire.
*edit*
It was MIUIs fault, thanks for the support Swarly!
The app now works brilliantly! Highly recommended!
fix for MIUI Rom
Disable option Settings>Programs>Calls>Anti wiretapping and it should work
I've been using a different app that seems to have this same feature set, and has been around longer.
How is this better than other competing apps that perform the same functions?
timehunter said:
I've been using a different app that seems to have this same feature set, and has been around longer.
How is this better than other competing apps that perform the same functions?
Click to expand...
Click to collapse
I cant compare these competing apps you are talking about because i don't know exactly what apps are you talking about .
I can answer you this:
before i wrote this app i looked in the market for something that will fulfill these requirements:
easy to use
work with synced calendars like exchange or Gmail calendar
will have to option to fire and forget
i downloaded several apps including paid ones and I couldn't find what i was looking for.
the ones that was simple couldn't work with synced calendars.
and those who could work with synced calendars were overkill ( profile apps that could do almost anything ) were to complicated to operate and demanded a lot of configurations and frustration.
So I decided to do my best to fulfill the goals i wrote to myself and try to keep it as simple as possible .
Because I cant look at every tool/app that exist in the market there may be an app out there that does serve the same functionality , but odds are that it either not do exactly the same or is a lot more complicated then this one.
Regards
Swarly
error during level 2
i've been using tasker but recently i starder cleaning my app list and noticed that i was using a mighty appp like tasker for just silencing the phoe when i was "busy" in my calendar.
i found your app which probably does what i want but i got intro trouble with it. i get an error when i try to turn it on (error during level 2) and the app crashes when i want to switch to the events tab (second tab).
also i haven't been able to test the filter option: i just want my phone to go silent when o am "busy" in the calendar - that's it. does the filter option allow for such a setup?
I've been looking for something like this since I first got an android phone THanks!
cpitzu said:
i've been using tasker but recently i starder cleaning my app list and noticed that i was using a mighty appp like tasker for just silencing the phoe when i was "busy" in my calendar.
i found your app which probably does what i want but i got intro trouble with it. i get an error when i try to turn it on (error during level 2) and the app crashes when i want to switch to the events tab (second tab).
also i haven't been able to test the filter option: i just want my phone to go silent when o am "busy" in the calendar - that's it. does the filter option allow for such a setup?
Click to expand...
Click to collapse
hi
Unfortunately busy mode is not yet supported in this app but its a good idea i will add asap.
please check the program version I'm updating and fixing bug almost on daily basis.
the current program version is 1.2.24
additionally if you can please report the problem using the report error button so i can have an idea about where to start looking for problems
about the error please let me know what kind of device you have
finally I started my semester and once the courses started i found some bugs and problems with my app
* fixed bug for overlapping event
* fixed bug with contact exception functionality
* minor bugs regarding event scheduling were fixed
I'll publish another big update soon that will be focused on performance.
as promised I released big update
major Performance update - from now list load faster and scroll much smother
overlaping event detection method was changed from the core from now no more false detection that caused problems
added warings to warn users that don't have calendars installed
as always I"m open to new suggestions and improvement ideas
Related
I have a Droid Incredible running Android 2.1. I am using Vibrate During Meetings to silence the ringer automatically. It has a setting that allows you to only silence the ringer when the event is coded "busy." My problem is I cannot find any place in the calendar application that allows me to set the busy/free indicator. I have looked under every menu and setting and run into a brick wall. I even tried using a couple of other calendar apps (Jorde and Calendar Pad) and still can't find the setting. The developer of Vibrate During Meetings wouldn't have added this feature if you couldn't set this indicator somehow. Can anyone help me with this?
If you make a new event, you can chose below if you are busy or free at the moment, the event is starting. that is the flag, you are looking for.
There's no flag or field related to this on the add new event screen. The only menu choice is "Add Reminder"
Create new event
Input info
Menu
Show Extra Options
Where is "show extra options" at?!
slaterd1 said:
There's no flag or field related to this on the add new event screen. The only menu choice is "Add Reminder"
Click to expand...
Click to collapse
I'm in the exact same situation. Have any solutions been found? I have searched the web for anything mentioning how to resolve this issue, but I can't seem to find anything?!
All I can find is _how_ to ie. make an event private, which is to select the "Show extra options" tab... but it's NOT THERE!?
So, if anyone can help make this option appear on my display, please tell me.
--
Regards lobner
ABSTRACT (i.e., TLDR version)
I present a way to integrate Texter; Tasker; a preferred SMS app that also gives popup notifications; and SL4A+Perl such that when using Texter, I can mark incoming SMS as read; clear notifications; clear popups; and re-sleep the phone. Profiles+scripts in the second post.
INTRODUCTION
In a nutshell: I wanted to use Tasker to remove notifications of unread SMS messages while using Texter. This proves difficult because I use an SMS app that has popup notifications. These profiles+scripts exit the popup notification, clear the unread notification, then puts your phone back to sleep.
Texter is an Android app/Google Chrome extension that lets you send SMS messages from your computer with your phone number. Super cool! It's kind of glitchy at times but overall a solid app, and it'll get better with time. It's currently in closed beta but they're adding new people all the time. I'd hop on that ASAP.
Texter clears unread SMS notifications when you hit "Close" or "Reply", but by Android design it cannot clear the notification bar and LED. I keep my phone on my desk when using my computer, so having the unread notification on both my phone and my computer are kind of annoying. So I wanted to use Tasker to clear those notifications. Turns out Tasker cannot mark messages as read itself, so I use SL4A and the Android port of my favorite scripting language, Perl. It's easy to write a script using SL4A and Perl for Android (or your language of choice - but I provide a Perl script, so you may as well use that) to clear unread SMS notifications for you.
OVERVIEW OF PROFILES
This first post will be a discussion of each profile I use; next post will have the profiles/scripts themselves, and possibly a changelog as I mess around with this system.
My system consists of 5 profiles and 1 widget-task:
WIDGET-TASK: USE TEXTY
This task simply sets or clears a variable %TEXTY, to denote if we are at a computer and would prefer to use Texter vs our phones to send SMS messages. It also sets a permanent notification and changes the widget icon to show that you're in Texter-mode vs regular SMS mode.
PROFILE: TEXTY ACTIVE
This is the heart and soul of the profile scheme. When you receive an SMS, if %TEXTY is set it fires the Perl script that clears your SMS notification, then opens your preferred SMS app to clear the notification bar. Bonus: if you use a popup SMS notification (GO SMS, Handcent, Chomp, etc), this will also clear the popup for you!
PROFILE: TEXTY DISPLAY ON/OFF
Naively using %SCREEN to denote if the screen is on/off to enable or disable Texter functionality does not work all the time - I have found that my phone sometimes lags between receiving a text message and actually popping up the notification. So if %SCREEN ~ on, the main profile might not fire the go-back-to-sleep tasks.
Thus we need a way to account for this lag. I created a new variable %TEXTYSCN that denotes when the screen is on/off, accounting for that lag. Basically, I wait 15 seconds after screen on before setting %TEXTYSCN = on; if the screen has been on for that long, it's probably because I wanted to use it.
When I set %TEXTYSCN = off, I wait 15 seconds beforehand IF IT'S ALREADY SET TO OFF. This seems weird at first, but it's kind of like an interrupt handling mechanism - if you receive a text, your screen will turn on. That starts the 15 second count before %TEXTYSCN = on - until those 15 seconds are up, %TEXTYSCN ~ off. Now that the popup notification is cleared, the display shuts off. If we flipped %TEXTYSCN = off right now and we're inside that 15 second timer, %TEXTYSCN will get set back to on - and subsequent popup notifications won't get cleared. Note that I only wait if %TEXTYSCN ~ off. If it's on, that means we're choosing to sleep the phone after we've used it for something.
[NOT SURE IF NEEDED, NEEDS MORE TESTING] PROFILE: PHONE OFFHOOK/IDLE
Not sure if I need these profiles yet - all it does is disable the main profile if we're on a call, and restart it once we hang up. GO SMS doesn't popup notify when I'm in a call, and after a call I can clear the notifications as I please. I'm not entirely sure of using the main profile during calls yet (what happens if I get a text in the middle of a call and my screen was off at the time? It'll run the main profile, GO HOME, then display off. This might be disorienting the next time I look down and I'm at the Home screen rather than the In-Call screen) so I'll just disable the clear-SMS. Maybe in a later iteration I'll disable the go-home part but clear SMS.
ON TO POST #2!
APPS YOU NEED
See post #1 for links to all required apps.
Android 2.2+
Tasker
Texter
SL4A
Perl for Android (or your interpreter of choice, but the script I provide is for Perl)
INSTALLATION <----VERY IMPORTANT! DOES NOT WORK STRAIGHT OUT OF THE BOX.
Download Tasker_Texty_V1.2.zip. Place all files ending with "prf.xml" into /sdcard/Tasker/profiles . Place Texty.tsk.xml into /sdcard/Tasker/tasks . Import all profiles and tasks by opening Tasker; hit Menu; hit Profile Data; "Import One Profile" and "Import One Task". Place markSMSread.pl into /sdcard/SL4A/scripts .
Create the Texty (it's now officially named Texter, but I didn't want to bother changing the words in the profiles, not to mention "Texty" sounds way better to me) widget on your home screen. Check out the Tasker website if you need help on how to do this.
Open up the "Texty Profile" profile. Change "Load App" from "Messaging" to your favorite SMS app (or keep it as default if that's what you prefer.)
Remove the "Type: System Lock" action, and replace it with "Display->System Lock". You will need to give Tasker administrative capabilities.
As necessary, change the "wait" values in the Texty Active; Texty Display On; and Texty Display Off profiles. See below, "Scripts and Profiles", on the rationale for this.
Enjoy the wonderful amalgamation of Texter, Tasker, and Android! Happy texting
ADVANCED: SCRIPTS AND PROFILES
I include this section redundantly so people can see what exactly goes into the setup. This way you can be confident that you're customizing your profiles exactly how you want to, and you can see my rationale for why I used certain numbers, variables, etc.
Tasker cannot clear the unread SMS notification on its own, so I use SL4A to do it. Here is the Perl script I use (you can of course use your own script and programming language if you'd like):
Code:
use strict;
use warnings;
use Android;
# See http://goo.gl/Qw0WK for original code
my $droid = Android->new();
my $msgs = $droid->smsGetMessageIds(1);
my $i = 0;
while ($msgs->{result}[$i]){
$droid->smsMarkMessageRead([$msgs->{result}[$i]], 1);
$i++;
}
I will assume you're familiar with Tasker language. At some point I will just post profiles you can import. If you need help with any steps, just ask! I'll do my best to respond in a timely fashion.
Note before importing/creating profiles: You need to make sure %TEXTY is clear on boot. I don't know if variables are cleared on phone restarts; I took no chances and wrote into my Boot profile to clear %TEXTY. If someone can let me know, that would be appreciated.
WIDGET-TASK: "TEXTY"
Initial Icon: Texty app look
Notes: You may need to write everything without the "Set Widget Icon"; make the widget; then edit the task and re-make the widget. Tasker looks for widgets to change icons, and it can't change the icon of a non-existent widget.
1) If %TEXTY ! Set
2) Notify (title: "Texty Active"; icon: whatever you want; permanent: ON)
3) Set Widget Icon (name: Texty; icon: whatever you want, I use the stock SMS icon)
4) Variable set (%TEXTY to 1)
5) Stop
6) End If
7) If (%TEXTY Is Set)
8) Set Widget Icon (name: Texty, icon: original Texty icon)
9) Notify Cancel (title:"Texty Active")
10) Variable Clear: %TEXTY
11) End If
PROFILE: TEXTY ACTIVE
Condition: Event: Received Text
Notes: Mess around with the wait statements to see if there's a sweet spot. You might find a 2 second wait might open and close your SMS program before the popup notify comes up. I'm still trying to find all the right numbers myself. (I think I've settled on 5, but that could change all willy-nilly like)
1) If %TEXTY is set
2) Wait 5 seconds
3) IF %TEXTYSCN !~ on
4) Load App: your SMS app of choice (to clear the notification bar and/or popup notifies)
5) SL4A: markSMSread.pl
6) Wait 1 second
7) Go Home
8) System Lock
9) End If
10) End If
PROFILE: DISPLAY ON
Condition: Event: Display On
Notes: Adjust the wait: if it's too long, the main profile will clear your popup notify and sleep your phone if you receive a message soon after starting to use your phone; too short and the main profile might not clear your popup notify at all [see the wait statement in the Texty Active profile]
1) If %Texty Is set
2) Wait 10 seconds
3) Variable set: %TEXTYSCN to on
4) END IF
PROFILE: DISPLAY OFF
Condition: Event: Display Off
Notes: Adjust the wait: if it's too long, the main profile won't clear your popup notify if you receive a text shortly after display turns off; too short and %TEXTYSCN might accidentally get flipped to on.
1) If %Texty is set
2) Wait 15 seconds IF %TEXTYSCN ~ off
3) Variable set: %TEXTYSCN to off
4) End if
PROFILE: PHONE OFFHOOK
Condition: Event: Phone Offhook
1) Profile Status: Texty Active -> Off IF %TEXTY is set
PROFILE: PHONE IDLE
Condition: Event: Phone Idle
1) Profile Status: Texty Active -> ON
PROFILE: CLEAR TEXTYSCN
Condition: Event: Variable cleared: %TEXTY
1) Variable Clear: %TEXTYSCN
Conclusion
I hope my work has helped anyone else as obsessive as I am about the meshing of their technology. I am of the school of thought that anything I do on my phone I should be able to do on my computer, and vice versa - I use Chrome to Phone, android2cloud, etc - I don't ever want to be tethered to any single device. These Tasker profiles have gotten me one step closer to realizing that dream.
CREDITS
brandall: for his excellent Tasker work! He was the inspiration for me to write this post up.
Max from the android-scripting Google group: for helping me create the markSMSread.pl script.
The developers of Texty, Tasker, GO SMS, and SL4A. Without them, there wouldn't be us.
TO DO
further testing to find edge cases, etc
CHANGELOG
Code:
v1.2:
-->fixed import bug - because System Lock action requires admin capabilities, Tasker would not import. Now requires user to manually add action.
-->restored markSMSread.pl workaround - Texter only clears SMS when you hit "close" or "reply", but the notification does not go away.
-->added more installation instructions
v1.1:
-->removed markSMSread.pl workaround - Texter now clears SMS notifications on its own.
-->added v1.1 .zip to easily import profiles.
v1.0:
-->initial release
Please hit the Thanks button if I helped you with your Texter experience!
Nice work mate!
Sent from my HTC Desire HD using XDA Premium App
Tasker profiles updated to v1.1! Texter now clears the SMS notification when you hit "Reply" or "Close" in Chrome. So I removed the SL4A workaround to clear SMS notifications for you. I am still testing for edge cases, and might bring back the workaround if the SMS doesn't clear the vast majority (or all) of the time. Also finally added profile .zip so you can just import your tasks instead of fiddling with the UI so much.
The Texty Active profile won't load into Tasker. It gives me an error.
bartimeus said:
The Texty Active profile won't load into Tasker. It gives me an error.
Click to expand...
Click to collapse
What's the error say? Details would be nice to help out on this.
Sorry about that, forgot my manners.
"Error: import of Texty_Active.prf.xml
failed: failed to import profile data."
Thank you for coming up with and supporting these.
bartimeus said:
Sorry about that, forgot my manners.
"Error: import of Texty_Active.prf.xml
failed: failed to import profile data."
Thank you for coming up with and supporting these.
Click to expand...
Click to collapse
Hmm, that's not a very illuminating error message What version of Tasker are you running, and what version of Android? The "Screen Lock" task in this profile requires Tasker to get admin capabilities; maybe Tasker does not allow one to import anything that requires root/admin capability.
Also, do you have the stock Messaging app installed? I use "Load App: Messaging" by default.
I am not at home right now but when I get home I will upload a profile that does not have the "Screen Lock" task. If that imports properly, you will have helped me close a tough bug thanks!
I am running version 1.0.17, Android 2.3(Cyanogenmod 7 Nightly 100) Phone is Inspire 4G.
I have the stock messaging app but use Handcent as my main one.
bartimeus said:
I am running version 1.0.17, Android 2.3(Cyanogenmod 7 Nightly 100) Phone is Inspire 4G.
I have the stock messaging app but use Handcent as my main one.
Click to expand...
Click to collapse
Try to import the attached profile. I removed the "System Lock" task. I have a feeling that'll let you import.
In other news, I think I will add back the markSMSread.pl SMS-clearing workaround. Without it, the popup notify is killed but the unread notification remains. Once you hit close/reply in Texter, it will mark the SMS as read - but that doesn't clear the notification. Once I get verification that the "System Lock" task is what's causing problems, I'll update to v1.2.
Okay, it let me import that file. Now I have all 6 profiles and the task imported. How do I switch the app it uses from Messaging to Handcent?
bartimeus said:
Okay, it let me import that file. Now I have all 6 profiles and the task imported. How do I switch the app it uses from Messaging to Handcent?
Click to expand...
Click to collapse
Great. In the Texty Active profile, hit "Open App" and select Handcent from it.
You'll also need to re-add the System Lock action (hit the plus sign, Display->System Lock) and put it under "Go Home" if you want the screen to dark after it receives a text message.
Thanks for verifying this bug for me. As I said, I will upload v1.2 with the markSMSread.pl workaround as soon as I can. I'll also remove the System Lock action; users will have to add them themselves.
Version 1.2 added to second post. It brings back the Perl workaround - Texter only clears the unread SMS notification when you hit "Reply" or "Close". Even though it clears the unread notification in the system, it does NOT clear the notification bar. (This is especially true if you're not using the stock Messaging app.)
Also, there was a bug (feature?) where Tasker could not import the "Texty Active" profile - this is because the "System Lock" action I use to sleep the phone requires admin capability. You must add this action yourself and allow Tasker admin privileges, if it asks.
Finally, install instructions updated to reflect the use of the Perl script and adding the "System Lock" action.
Thanks to bartimeus for helping debug!
Running into the same error as before when I try to import the Texty: Active profile....
What do we do after we make the widget? Do we have to hit it and activate the task and just leave it running all the time?
I couldn't find anything called "Perl for Android" on the market so I only installed SL4A, do I have to DO anything with this once I have it installed and the script in the correct folder?
Lastly, when I go in and add the the Lock command it asks me for code, what do I need to enter? It says "Error: Code: Please enter text"
bartimeus said:
Running into the same error as before when I try to import the Texty: Active profile....
Click to expand...
Click to collapse
crap. i'll look into what could be causing that. Did you import before installing SL4A? I wonder if the profile can't find SL4A upon import and then fails. In the meantime, I do list the exact steps you need to produce the profile on your own, so you could create the profile yourself. I'm really sorry about that - this is my first time writing profiles and sharing them with other people, so I'm sure there will be issues in the process.
What do we do after we make the widget? Do we have to hit it and activate the task and just leave it running all the time?
Click to expand...
Click to collapse
Hit the widget whenever you want to use Texty at your computer. When you're done, hit it again. I think it would only be useful to turn off the popup notify and kill the new-SMS notification if we're sitting at the computer. So yes, when you're using Texty, you should leave the task running the entire time.
I couldn't find anything called "Perl for Android" on the market so I only installed SL4A, do I have to DO anything with this once I have it installed and the script in the correct folder?
Click to expand...
Click to collapse
Check the link to Perl for Android in the first post. This is absolutely required - SL4A does not provide the script interpreters, just the API to use them
Lastly, when I go in and add the the Lock command it asks me for code, what do I need to enter? It says "Error: Code: Please enter text"
Click to expand...
Click to collapse
Note that there is a difference between "Lock" and "System Lock". You should be using the latter, not the former.
Okay, I figured out that it is a passcode that it wants. I couldn't find something called System Lock under Display but I will look again.
Nevermind. I am dumb. I found System Lock
I guess tasker hadn't updated in forever or something but I have it all working now. Perl Installed and SL4A installed. All seems well enough, just need to wait for a text now =P
Thank you.
bartimeus said:
Nevermind. I am dumb. I found System Lock
I guess tasker hadn't updated in forever or something but I have it all working now. Perl Installed and SL4A installed. All seems well enough, just need to wait for a text now =P
Thank you.
Click to expand...
Click to collapse
Haha, no worries! Non-market Tasker doesn't really remind you to update that often. I guess I should put in the OP that you need the latest version of Tasker; I can't guarantee older versions, as you just found.
I appreciate any feedback about the profile system I set up. I'm always trying to tweak it, and really I find myself playing with the numbers kind of regularly to hit the "sweet spot".
Been looking for something like this...great job....errr, I should say, just set this up, hope it works and if it does, then great job.
Now if only I could get something similar for all the other notifications I take action on on my computer (calendar appts, gchat etc.) Gmail works fine
I know this is wicked old, but the Perl Script does not work anymore... I have a 4.2.2 ROM and it won't mark them as read.
Hi
After 2 years developing and improving Rules Engine I have created Automated Device for 4.0+ devices.
This program is rules engine that let your device behave automatically according to conditions and execute actions
Please submit any comment, error, suggestion here.
Android Market link
Direct link to APK
Automated Device is an application designed to let you automate the behaviour of your device. It is based in rules. The user can define many rules to define the device's state in different situations.
A rule is defined by:
Conditions: When every condition (AND clause) o at least one (OR clause) in a rule is satisfied then the rule is satisfied. Examples:
From Monday to Friday, between 12:00 and 05:00 (Time-Date condition)
To be inside (or outside) my home (Position condition)
Bluetooth state is ON (Hardware condition)
Battery level between 0% and 20%
Incoming phone call
Incoming SMS containing some word
Power state, battery or connected
Screen state
Other rule is matched or not
Other program is running or not
Phone state (ringing...)
Calendar appointments. This condition is matched when current date is inside of the appointment and the appointment text contain a user defined word
Brightness mode
autosync state
Network type (GPRS, HSPA, CDMA, LTE, etc)
Device connectivity state
Headphone state
Car mode
Dim state
Wifi hotspot
To be connected to a wifi network specified by its name
To receive a SMS/MMS comming from some phone number or with its text containing some word or phase
Ambient light
Ambient temperature
Pressure
Proximity sensor level
Some phone number is calling you (ringin), or is in call with you, or just called you
Mobile operator name
Actions to be executed when the rule passes from unmached to matched: Actions to be executed when every condition is satisfied. Each one can be applied once or periodically while the rule is matched Examples:
Set Bluetooth OFF
Set device volume
Launch a program
Kill a program
Apply a profile. A profile is compound by actions. So when the rule applies a profile it simply execute its associated actions.
Set different kinds of sound levels (system, notification, alarms, etc)
Set Brightness mode (automatic / manual) and bright level
Set autosync state
Play a song
Send SMS
Send Email. You can include many variables, like free memory and disk, last caller, battery statistics, sensors values (pressure, light, temperature, etc)
Car mode
Set wallpaper
Set ringtone (android ringtone or user mp3)
Screen off timeout
Dim state
Wifi hotspot
Play a system notification
Vibrate some milliseconds
Show popup message with free text and variables
Show a tob bar notification with free text and variables
Enable / Disable rules.
Sent variables (temperature, position, etc) to a web server as HTTP parameters
Open system dialogs, like 3G/2G, Tethering, etc
Actions to be executed when the rule passes from matched to unmatched. (The same ones like the above section)
The device broadcast many events, like battery level, time, etc. Those events are processed by Automated Device and the rules are evaluated.
Important: When a rule is applied then It wont be applied again until it doesn't satisfy it previously. For example, if a rule condition is "Battery level less than 15%" and the action is "Play a song" and current battery level is 10% then the song will play. But it wont play again until the rule wont be satisfied and then satisfied again. So if the battery level raises to 20% and then decreases again to 8% then it will play the song again. This avoid loops so a rule is executed many times.
Sections:
SWITCHERS: This window lets you change the state of Wifi, Bluetooth, etc. It also lets you set a time-out. When the time expires the program will set the previous state. It also lets you "lock" a profile with/without time limit. For example, if you go the cinema you could lock the profile "Silent". When Automated Device is locked it wont execute any rule
PROFILES: A profile is a set of actions. This section lets you define and apply right now a profile. For example, you could create the profile "Meeting". Its actions would be speaker to vibrate, flight mode and send a SMS. The three actions would be applied. You could establish a timeout. During this time the program WONT apply any rule. In this way the program wont apply other rule that could change the speaker state, for example. Once the timer expires then the engine will be enabled again.
NEW PROFILE: This dialog lets you choose a name and description for the new profile.
ACTIONS: Here you can choose the set of actions associated to the profile.
RULES: In this windows you can manage your rules and create new ones. If the background of the rule is RED it means the rule isn't met right now. If the background is GREEN it means the rule is met right now.
RULE INFORMATION: This screen lets you manage the name and description and shows how many conditions and actions the rule has. It lets you set the priority of the rule. If two rules match at the same time then this priority will solve conflicts. For example, if both rules are going to change the audio state. It also lets you add/edit/remote more actions/conditions.
RULE CONDITIONS: This screen lets you add / remove / edit conditions. There are several types of conditions:
WEEK DAY AND TIME: You can select some weekdays and then a begin time and end time. For example, Monday and Tuesday from 22:00 to 06:00
ENTER/EXIT A PLACE: You must choose a location and a radius. So if you choose a "Enter a place condition" then the condition will be met if you are inside. If you choose "Exit a a place condition" then the condition will be met if you are outside.
STATUS CONDITIONS: There are many conditions related with some hardware status. For example, you could use WIFI ON. This condition is matched when the WIFI state is ON
LOG: This screen shows the application log. Each log line has a category: Debug, Info, Warning and Error. Here you know what happens inside the program. You can see a rules history. And you can clear it and export it by email.
SETTINGS: Hare you configure the program.
Launch at boot time: If selected the the program will be launched at boot time.
Log level. This options lets you choose what kind of log events you want to store.
Automated Device enabled. If disabled then It wont process events.
Show icon notificacion in the top bar.
EXPERIMENTAL: Location autorefresh interval. By default Android doesnt allow location changes when the screen is off. This option try to fix it.
Log changes
V2.0.45 (2014-03-08)
Compatibility between accessibility service and OK Google
NFC tags can be detected with the program in background
V2.0.38 (2014-03-04)
Action HTTP Request uses GET instead of POST
New Variable. Last HTTP Status for action HTTP request
Flag feature action. Set value to a Variable value
Accessibility can be disabled
Bug fixing
V2.0.37 (2014-03-02)
Condition NFC. Use your NFC tags as conditions
Option to disable Accessibility service
Bug fixing
V2.0.30 (2014-02-21)
New action: Text speech. You can use free text and variables
New Flag: Last top bar notification text
New Condition: Detect a top bar notification. You can filter by program sender, text or none
With these features you can, for example, let AD read aloud the notifications coming from gmail, line, etc
New option in home windows: Export. It takes your rules and convert them into text to share it with developer and other users
V2.0.27 (2014-02-19)
Improved disable/enable lock screen
Bug fixing
V2.0.24 (2014-02-18)
Improved Sound action: Added BT call sound
Vibrate if internal error is optional
Improved Variables: time, date and flag value
Improved Bar Notification action: persistent. You decide if the user can dismiss the notification with his finger
Improved set flag action: Persistent. Choose if the flag is removed when a rule is modified and all the rules are re-evaluated
Improved set flag action: Numeric operations: You can increment or decrement a flag (if numeric)
Improved flag condition: New comparators: bigger, bigger or equals, lower, lower or equals
V2.0.43 (2014-03-07)
Flight mode switcher, condition and action enabled. Only for rooted devices with Xposed and Flight mode helper
V2.0.36 (2014-02-25)
Option backup the database
Option restore the database from a previous version
So you can do a backup, play with new rules, conditions....and restore if you are not happy with the result
Support for xlarge screens
V2.0.23 (2014-02-17)
Improved action Show notification bar. The user can select a custom icon
New action: Dismiss a notification bar. So you can, for example, display a notification bar when a rule or profile is applied and remove it when it doesnt match
Bug fixing
V2.0.21 (2014-02-15)
New action: set call forwarding status
New conditions: On booting and On shutting down
Bug fixing
V2.0.18 (2014-02-14)
Switcher to enable/disable lock screen
New action: Enable / Disable lock screen
V2.0.17 (2014-02-13)
Improved location condition
New action: Set a flag value
New condition: check a flag value
See active flags from home window menu
V2.0.22 (2014-02-16)
New action: Send Android Intent
New action: Call forwarding (international)
Bug fixing
V2.0.16 (2014-02-12)
Bug fixing
Program status condition allows to search between all the processes or only the foreground ones
V2.0.15 (2014-02-11)
New Location system: Google play services.Check settings page
Added command in home window to recreate the database
V2.0.14 (2014-02-10)
Bug fixing
Improved BT connected device. Now works with multiple devices at the same time
V2.0.11 (2014-02-09
Bug fixing
Added compatibility without telephony system, like tablets
New condition: Phone Signal Strength
New condition: Device orientation (facing up/down)
V2.0.8 (2014-02-08)
Periodic actions are executed in a background thread, solving problems related with network actions (send mail, http post)
Bug fixing
V2.0.7 (2014-02-07)
New condition: Dock state
V2.0.6 (2014-02-06)
Actions execution delay now included in Action repeat window
Changed bar notification icon (white)
New Condition: Battery temperature
V2.0.5 (2014-02-05)
New condition: Lock screen state
V2.0.4 (2014-02-04)
Bug fixing....
V2.0.3 (2014-02-03)
Fixed send email action
Bug fixing...
V2.0.2 (2014-01-27)
Back button in home page hides the GUI
Menu button in home page shows menu drawer
V2.0.1 (2014-01-26)
Fix icon bar notification
Several optimizations
V2.0 (2014-01-15)
Automated Device is ported to Android 4.x and named Automated Device to leverage android 4.x power
Fixed automated backup/restore data from/to google account
reuploaded apk to set release google maps api key
danielherrero said:
reuploaded apk to set release google maps api key
Click to expand...
Click to collapse
Added to Android Market
https://play.google.com/store/apps/details?id=com.dhr.automateddevice
Looks promising
Sent from my LG-P990 using xda app-developers app
V2.0.1 Uploaded
Fix icon bar notification
Several optimizations
Uploaded to market V2.0.2
Back button in home page hides the GUI
Menu button in home page shows menu drawer
good work :good:
Awesome
very handy & user-friendly app :good:
it is easier to use than tasker :laugh:
Thanks!!
Enviado desde mi SM-N9005 usando Tapatalk 4
Lets try it
Vamos a probarla, compadre madrileño
It is not compatible with my Nexus 7 2013 ?
Gesendet von meinem Nexus 7 mit Tapatalk
NFC-SMARTAGS said:
Can we use it with nfc
Envoyé de mon GT-S6500 en utilisant Tapatalk
Click to expand...
Click to collapse
Currently I am programming one condition and one action with nfc
Enviado desde mi SM-N9005 usando Tapatalk 4
Strange. I wonder what condition fails...
Enviado desde mi SM-N9005 usando Tapatalk 4
Hi there,
When I choose 'send email' as an action on a lost wifi connection it doesn't do anything, even though the phone switches to 3G
Hallahan said:
Hi there,
When I choose 'send email' as an action on a lost wifi connection it doesn't do anything, even though the phone switches to 3G
Click to expand...
Click to collapse
Thanks, I already know it. I use a gmail account to send mails but google is rejecting them because they are very far (Spain, USA). I am going to create web service in my web server. So the device will contact my server and this one will send the email
danielherrero said:
Thanks, I already know it. I use a gmail account to send mails but google is rejecting them because they are very far (Spain, USA). I am going to create web service in my web server. So the device will contact my server and this one will send the email
Click to expand...
Click to collapse
Isn't it just the fact that Google only accepts sending email when you, or I, log on to their smtp servers using a valid username and password? So if you are able to send the mail that way, the problem should be solved...
Great idea, nice work.
sent from public phone using coins.
Playstore says latest version not compatible with my device (HP Touchpad running CM11).
Just designed for phones?
Hallahan said:
Isn't it just the fact that Google only accepts sending email when you, or I, log on to their smtp servers using a valid username and password? So if you are able to send the mail that way, the problem should be solved...
Click to expand...
Click to collapse
See what Google sent a few minutes ago. It's no related with user and password but an Gmail account sending emails from Spain usa France etc using the same account
Hi Daniel,
Someone recently used your password to try to sign in to your Google Account [email protected]. This person was using an application such as an email client or mobile device.
We prevented the sign-in attempt in case this was a hijacker trying to access your account. Please review the details of the sign-in attempt:
Monday, February 3, 2014 12:05:14 PM UTC
IP Address: 31.20.201.179
Location: The Netherlands
If you do not recognize this sign-in attempt, someone else might be trying to access your account. You should sign in to your account and reset your password immediately.
Enviado desde mi SM-N9005 usando Tapatalk 4
Every time I try to enter the enter or exit location in rules, the app force closes. KitKat Moto g. ROM has a gps bug though. Can't get lock.
Hey everyone,
I've just picked up my new Pixel 2 today and it's great but...the At A Glance widget doesn't seem do anything except show my calendar. Long press doesn't do anything and there is no options for it in the home settings.
Any suggestions?
Edit: ignore this. I've just had updated my apps and it now seems to be fine
I'm having an issue as well. It is only displaying the day, month, and weather. I have things on my calendar but it never displays them. My appointments will show up in the notification bar but not on the home screen. Any ideas?
I've already long pressed and made sure my calendar events were enabled.
PixelFan said:
I'm having an issue as well. It is only displaying the day, month, and weather. I have things on my calendar but it never displays them. My appointments will show up in the notification bar but not on the home screen. Any ideas?
I've already long pressed and made sure my calendar events were enabled.
Click to expand...
Click to collapse
I'm having the same issue on on Pixel 2XL
I think what worked for me was allowing Google Now access to my upcoming events and location info. If you go to the Google Now screen and play around with the settings there it should work.
So I added a test event in the calendar app and it worked. So am I to assume that only events created within the app will show?
I contacted support and they verified my theory. It will only display events created within the app. If it gets added via the web or any other means, it will not show.
So, if a colleague creates an appointment and invites me as guest, the event is shown in my calender (as usual) but At-A-Glance won't show it??
And how do you toggle the weather to be shown or not to be shown? Long press only offers me calendar events and traffic info.
BAZZI_US said:
So, if a colleague creates an appointment and invites me as guest, the event is shown in my calender (as usual) but At-A-Glance won't show it??
And how do you toggle the weather to be shown or not to be shown? Long press only offers me calendar events and traffic info.
Click to expand...
Click to collapse
Regarding the weather. Try going to your google now feed and hitting the 3 dots in the top right corner. Then look for "customize feed" and hit that. Then scroll down and under "weather" hit "view all settings". Then where it says "weather updates for your location" turn it on. If it is already on, turn it off then back on. Now go back to your google now feed and pull down to refresh the feed. Now go back to your home screen and you should see the weather. As far as turning it off I think you can just turn off the "weather updates for your location" setting but I think you need to reboot to make the weather disappear.
PixelFan said:
I contacted support and they verified my theory. It will only display events created within the app. If it gets added via the web or any other means, it will not show.
Click to expand...
Click to collapse
That's dumb. I rarely if ever create an appointment from my phone. I usually do it from the web on my desktop. It should read from your Google Calendar regardless of where you enter it from.
PixelFan said:
I contacted support and they verified my theory. It will only display events created within the app. If it gets added via the web or any other means, it will not show.
Click to expand...
Click to collapse
My at a glance widget displays events added via the web, not just created within the app. It only displays the events starting shortly before the event. However, the widget appears to behave differently for different people.
Support is not the most reliable source of information.
I had this issue with my brand new Pixel 2, But I fixed it. To fix it first go to the Google app page in setting then go to the storage, manage space and then clear all data. After disable it enable it and it should start work.
Hello,
It's high time to publish my first beta release publicly of my app.
This app is currently designed for devices running Android Marshmallow and newer, backwards compatibility to Lollipop is going to be added in the next update. There is no Intro yet - work in progress.
REMEMBER YOU'RE USING THIS APP ON YOUR OWN RISK!
FUNCTIONS, ABOUT APP
The point is this app is to allow user to control when the hardware functions such as WiFi, Bluetooth etc are going to be turned off/on. In the current release there are 7 avaible functions:
5 for all devices, 2 for rooted devices.
In actions that contain "on/off" you have to specific exact action by clicking on the spinner to choose whether action is going to make a function on or off. If you don't do that, the default one will be choosen.
- Turn WiFi on/off: this sets up an alarm to turn WiFi on or off
- Turn off/on Bluetooth
- Turn off/on account sync
- Change screen brightness: 3 options avaible: dark screen, bright screen and custom value with preview avaible. You can modify dark and bright values in the settings (swipe from the edge right in the main layout of the app).
- Set loud/silent/ do not disturb mode: sets a specified volume mode
Root actions:
- Turn off device
- Reboot device
You will be asked for root permission, unless you give the permission action will not be either saved and performed.
PERMISSIONS:
In the first launch you will be asked to disable battery optimisation for this app, if you don't disable it may not work properly.
In the brightness section, you will be asked for allowing app to modify system settings - it's required to change brightness by the app.
Another permission you will be asked is to allow app to modify notifications - it's required if you would like to change phone volume mode (exactly do not disturb).
To delete planned actions:
There are currently 4 methods to delete planned actions, but the only one is to cancel the action:
- In upcoming events section, click on trash and then select items to delete and then hit trash one more time to delete
- Swipe left on item to delete
- Hit on the trash button, then click delete all
Those methods DO NOT cancel pending action
To cancel pending action:
- Click on an item you want to cancel, the editor will pop up
- Hit on the trash button, then the action will be canceled and item deleted.
Changelog:
Version 1.1:
- Optimised navigation drawer
- Fixed bluetooth service that did not update alarm
- New intro added
- Added backwards compatibility back to Lollipop
- After device is rebooted alarms are no longer cancelled - they are rescheduled if still valid
- Navigation drawer is now open for the first boot
- Now you can ask for permissions one more time from navigation drawer
- Fixed app icon not showing on some devices
Version 1.2
- Repeat every day function added
- Minor bugs fixed
- Updated Toasts messages
Version 1.3
-fixed delete all alarms button
-fixed daily alarms not being fired daily
-added repeating alarms to fire in week days
-if no day buttons are selected, even if repeat switch is checked,
alarm will fire once
Version 1.4
- fixed one time alarms not being triggered
- updated toast messages
- fixed date not being shown properly
Version 2.0
-fixed account sync turning on specified days instead of everyday
-fixed acc sync alarms not being fired after device reboot
-new UI - now there is no new activity opened, you can manage your alarm through one view
-turn on/off alarm - now you can manage if you alarm is valid or not
-now on item swiped cancels and deletes current alarm
DOWNLOAD:
Google Play: https://play.google.com/store/apps/details?id=dominik.kedziak.sloth_profilescheduler
Credits:
Icons made by Freepik from www.flaticon.com
Write down in the comments what functions would you love to see in the upcoming update.
Bests
If I put a future date in a profile, will it be repeated daily until that date? If not, how can I create a profile and repeat it daily? Thank you
jordirpz said:
If I put a future date in a profile, will it be repeated daily until that date? If not, how can I create a profile and repeat it daily? Thank you
Click to expand...
Click to collapse
I had a some issues in implementing repeat feature (likey in specific day) so current alarms are fired one time only.
So, currently there is no way to repeat alarms automaticly, only by creating a new one.
Anyway, I've added this to my todo list. I hope you will be able to use this feature by the next update
Hi, thanks for your work and the new features. Can you add that days of the week you want a created profile to be activated / deactivated ?. Thank you very much.
@jordipz working on that! Should be updated soon!
Thank you very much for the update.
I can see in my service app that airplane mode on/off exist.
Can you active this option?
Yes I was about to do, but I focused on making repeating alarms at first.
Now I'm taking up for modifying UI and adding non-root required services (e.g turning airplane mode, mobile data etc needs root access).