Timed Blackberry Sound Profiles for Android

The general idea behind this is that it utilizes my original Blackberry Sound Profiles for Android and it adds a “timer” element which can be set. Upon setting the timer, it will set a temporary task until the timer runs out. The idea came from one of my visitors who asked me how to do this. At first, I had no idea how to do it. About 30 minutes later I had a semi-working prototype. Another 3 hours later (had to figure out how Scenes worked and interacted with variables and the rest of the system) I had the final version with a working GUI.

Now unzip it and follow the same steps from the original post – grab the “Timed.tsk.xml” file and import it into the the Tasks tab, and then grab the “TimedScene.scn.xml” file and import it into the Scenes tab. Go to your home screen and create a Tasker widget of your “Timed” task. Every time you select this task, it will pop a box which will let you use a slider or directly type in a number. After this, when you hit “Set Profile”, the temporary task (by default “Sleep”) will get activated for the number of minutes you set. After that time period it will go back to the other (by default “Work”) task.

USAGE:

1.) Make sure that you have at least my “Work” and “Sleep” sound-profile tasks. If you don’t, at least have any 2 sound-profiles, and edit the “Tap” action for the “Set Profile” button to have the two tasks.

2.) Create a widget on your home screen from the “Timed” task. Then launch the GUI from it, and set a minute count using the input box (top right), the slider, or the plus and minus keys. HINT: if you hit and hold the plus/minus buttons, they increase and decrease the minute count by 10. Use one or all. Whatever works the best

3.) Click “Set Profile”. What this will do is create a permanent notification with the time you started and for how long, and then set the “Sleep” profile (or whatever you chose instead) for the given time period. When the time expires, it will revert to the “Work” profile (or whatever you chose instead). If you want to cancel it early, select the “Timed” task widget from the home screen, and click “Cancel Profile”.

TECHNICAL DETAILS:

1.) The “Timed” task simply acts as a launcher. I use it so that I can launch my Timed Scene as a Dialog box. Being a task, you can also create a widget out of it for the home screen. This acts as the entry point to the program/GUI. I also use it to set some defaults – specifically: the default minute count in the %TMINUTE variable, and then I reflect the variable in the input box and the slider.

2.) The Timed Scene is the work horse here. One way you can set things is by entering a value in the input box at the top right. As soon as you do that, the %TMINUTE variable is set and the slider is changed accordingly. The second way to set things is via the Plus and Minus buttons. If you tap them, they will increase and decrease the %TMINUTE variable by 1. If you tap and hold them, they will increase and decrease the variable by 10. Taping them will also change the slider and set the count in the input box accordingly. The third way is to slide the slider. This will once again set the %TMINUTE variable, and it will change the input box to reflect accordingly. The “Set Profile” button destroys the GUI, sets a permanent notify with the start time and the number of minutes you have selected, and it performs the task. It then waits the number of minutes that you have chosen and it basically undoes everything when the timer goes off. The “Cancel Profile” button destroys the GUI, expires the timer and removes the permanent notification. This in turn activates the “undo” section in the “Set Profile” section, which sets the “Work” profile and removes the permanent notification.

“Set Profile” button action in the Timed Scene is the work horse. It holds all the glue and magic to make this work. The main idea here is to pull the current time in seconds, add the value of seconds you want to wait (the input of minutes multiplied by 60) into a variable called %TALERT, and then poll every minute for the condition of the current time being greater than the value of %TALERT. Simple and beautiful huh? A few other things are having the sticky Notify and then removing it, and performing the Tasks obviously.

Good luck, and as always, feel free to ask questions. I’ll try my best to help out.

10 Thoughts on “Timed Blackberry Sound Profiles for Android”

You probably had not thought of this as it’s a Nokia profile function. I used timed profile changes all the time with my old Nokia. Once you start you will find it really handy, going to meetings, going to the movies, having dinner in a restaruant etc, etc. I’m a bit of a forgetful person so without timed profiles I’m always finding by mistake some time later that I left the wrong profile after an event and missed calls and messages.

Hey Ventz, the scene imported with warnings, when I tap on the scene elements i.e set rpofile button and then on the “tap” tab I get “Warning: the specified task is unknown”
I had imported both files correctly, just double checked that. I’m wondering, do I have to creat the variable myself? if so, where?

Also, from my programming experience, Tasker has a built in timer trigger, it is unknown to me if you use it, but from the 3rd paragraph of “key things” I understand you’re polling this manually, wouldn’t it be better to rely on the built in timer? performance/resource-consumption optimizing

Steve, Cerfus – I ended up really getting into this idea, and I made quite a few changes tonight. Actually, I ended up re-writing most of it. Take a look at the new copy/download. I think it’s much better. It has 3 ways of inputing information, a way to cancel an existing Timed sound-profile, and a notification section that tells you when you started the Timed sound-profile and for how many minutes it will be set. It is also extremely battery efficient. No matter how much you use it, it should not use more than 1% of your battery in a 24 hour period.

Speaking of a need for this, I ended up silencing my phone today right before a meeting, and I completely forgot to set it back to normal/ring. I ended up missing two phone calls and a few texts. I think I am going to start using this myself very often now. This was one of the motivations behind going back and cleaned up the interface. Eventually, I will add a few presets for things like 15, 30, 45, 60 minutes.

Ventz, once you get used to timed profiles you’ll find it hard to get by without them! Thanks for your effort so far, i’ve imported but it doesn’t work. I get the scene box with default 60 min the + – buttons light up green when I hit them but the 60 min doesn’t change. Also the slider bar moves but still stays at 60 min. Set profile button doesn’t set the profile either. In the end I have to go back to get out of the scene. In the scenes tab the TimedScene has a yellow star on right side which looks right but also has a red framed triangle with an exclamation mark in it which looks like it’s saying this is a problem. Also if I go in to edit the scene, every button has same error triangle. Any suggestions what I should do?

What version of Tasker are you running? Mine is 1.2u2m. It sounds like either your variable(s) are not being created – but that’s not the case because you see the default 60, or maybe the Work and Sleep tasks are not there? Its almost like its working but either the variable is not being hit/updated, or it is and then the scene calls to move the visuals is not working. That’s really strange either way. I deleted my variables here just to make sure that was not the problem. I’ll try to find another Android phone and give it a try. What phone were you using again?

I found the problem, and it seems like a bug with Tasker’s Scenes import. If you are in the edit Scene tab, you will see the exclamation points over the visual elements. Taping on each and going to the tap action will show you that the tasks are empty. It doesn’t seem to backup the tasks associated with each Scene element.

Cerfus – the problem is that I don’t want to background block. I did the timer, and it turns out you can create a timer widget too — so you can set a sleep sound-profile, and sleep widget the normal profile, but it’s ugly, multiple steps, and hard to change the time. I am using the “Wait Until” feature, but the way that works is by polling in the background every “X ms/s/m/hr”. In order to keep it efficient, I made it check every minute, which is very good actually. The claim is that if you are checking past every 20+ seconds, it’s not a problem. About the import, I just wrote the developer of Tasker:

I sent this as a bug: Exporting a scene to XML (sdcard), doesn’t seem to export the tasks associated with the scene elements. These are the things like the action for taping a button. I see that they are “tasks/anonymous”, but it should either save as part of the scene export or prompt to save each one and link them in the scene as individual tasks.

He replied: Fixed next release.

Anyway, I will take down the download link for now, so hold on a bit, and hopefully we can get this soon.

Thank you very much for taking the time and effort to put this together. I’ve been using the profiles for some days now but I think I’m missing something because the task notify goes off everytime someone calls. I have noticed that the volume increases when the phone rings but I have not been able to find an option for “ascending ring” I have a Samnsung Galaxy S 2 with android 2.3.5 and tasker 1.2u2m.
Sorry it took me long to reply but I’ve been going through tough times. I’ll be checking back often.

Cerfus, can you walk me through the scenario in detail? You have the latest copy of my Timed profiles/tasks/scene, and when you set it to some time (let’s just say 10 minutes), if you receive a call during that time, it re-sets it? What do you mean by the task notify goes off? About the ascending ring, I wonder if that’s some sort of post-release patch that Samsung has made. They are notorious about things like this. Also, make sure it’s not something as simple as the ring tone you have chosen. Anyway, let me know in detail the steps. I would be very curious to help out if I can.