If you just started reading this directly and didn’t read my “what is Tasker”, please read my short post: (http://blog.vpetkov.net/2011/05/10/androids-best-app-tasker-visual-programming-and-automation/)

If you are running ICS 4.0, please read: (http://blog.vpetkov.net/2011/12/27/tasker-ics-android-4-0-blackberry-sound-profiles)

Don’t let the length of this post scare you — I just wanted to provide the technical/developer details. You can get this to work in less than a couple of minutes by downloading the zip file and ONLY reading the “GETTING STARTED” section.



0.) Please download the zip file bellow if you haven’t done so already – Blackberry_Sound_Profiles_for_Android.zip

1.) First, if you haven’t already, install Tasker (you can use the Android Market, or the guys’ website). You can play with it for 7 days for free.
2.) It will create a “Tasker” folder on your SD card. Under that you will find “tasks” and “profiles” folders (if they don’t exist yet, create them).
3.) Download the zip to your computer, mount your phone’s SD card and go into the main “Tasker” folder under the sdcard. If the file ends in .prf, put it in the “profiles” folder. If it ends in “.tsk”, place it in the “tasks” folder. Unmount, disconnect your phone.
4.) Now that you have them, you need to load what you want/need into the program. Open up Tasker (program), hit Menu, and go to “Profile Data”. Do a “Import One Profile” or “Import One Task” select one of the “tabs” (Profiles, Tasks, Scenes), and hold it — an “Import” option will present itself, which will let you import a Profile or Task (or not relevant here – a Scene). This is because Tasker changed the way profiles and tasks (and Scenes) are imported . As soon as you select that, you will see all the files in the directory that you copied. Now you can import whatever you want.

You should import the “Volume Buttons” Profiles (note: this is a profile), at least the “Normal” and “Sleep” tasks (note: these are tasks). The volume buttons profile is honestly a life saver since any time you tap a volume button, it will actually restore to the sound-profile task you have selected.

Now to use them,

5.) Hold down on the home screen, select Widget (for ICS 4, Widgets are created by going to Applications, and shifting over to widgets), select Task. It will show you a list of your tasks. Select “Normal” for example. It will show it to you (in case you have to make any changes last minute — don’t do it this way, always make them in editor), now select the green check and you are Done! You can now use it as a “program” on your home screen. Add at least 2 this way, and select them. Wait 1-2 seconds. You will see how it select/enables each, and then after it enables it, hit the volume keys on purpose, and then wait 1-2 seconds again to see how it restores it.

END OF GETTING STARTED – THAT’S IT! You have it working!



Ahh, you’ve continued reading and you haven’t skipped this…Clearly you care about some of the theory…

One of the biggest problems with Android is the sound profiles. I will start off with the main sound profile BUG:

Try setting your Settings -> Sound -> Vibrate to “Only when in Silent”, and then hold the power key, change the “Silent mode” to ON. Now hold the power key again, and change the “Silent mode” to OFF. Check your Settings -> Sounds -> Vibrate mode — it is changed incorrectly to “Always”. This renders the built-in “sound profiles” completely useless.

Here are bug reports that are all for the same thing: Issue 20463 and Issue 13732

UPDATE: Please note that Google “sort of” fixed this, to a point, where we can now correctly implement the functionality using Tasker at least. It’s not there by default, but the “Silent Mode” now works for on (sleep), off, and vibrate, and there’s a separate toggle-able Ring+Vibrate feature.

Pretty much, half of these are the same issue. The main problem is that the Silent and Vibrate options for android, are really one single “Silent Mode”. The problem arises because Sound -> Vibrate settings only apply for “Silent Mode”. This means that you cannot have a completely silent profile and a vibrate only profile, and a “normal” profile. This is the most evident to anyone coming from a blackberry, where the sound profiles are flawless. I’ve read thousands and thousands of questions asking “how do I get sound profiles like on the blackberry”. Personally, this was the first thing that drove me crazy when I moved away from the blackberry.

Most people default to using a program which creates “Profiles” — setting bundles which simply toggle each Sound option (In-Call volume, Media, Ring Tone, Notification, Alarm, and System). The best one I’ve seen is AudioGuru, which is great, but it does lack some customization. The one additional step that most programs lack also is some sort of a guard for the volume buttons which toggle the ringtone.

My goal when thinking about all of this was to create a solution that was simple, extendable, and complete. The main points I was going after was to have profiles that are completely stand-alone, extendable/fully customizable, and completely scriptable. The end result was what I call “Blackberry Sound Profiles for Android”.


First off, here’s the download:

(md5: 71d0701ce63a6953a997145c758753c8)

(don’t forget to go to Settings -> Sound -> and UNCHECK “Use incoming call volume for notifications”. Also, Settings -> Language & keyboard -> Android keyboard -> and CHECK “Sound on keypress”)

The logic becomes part of 3 sections. The FIRST SECTION is the Tasker sound profile tasks. These are “stand alone” tasks, which simply encompass every aspect of a sound profile. Let me walk through one of them:


0.) Set a default icon (used grey star in this case)
1.) Wait – 2 seconds
[note – for ICS 4, there is an extra step in here turning off the Ring+Vibrate fixed feature]
2.) Silent  Mode – off
3.) In-Call Volume – 5
4.) Media Volume – 9
5.) Ringer Volume – 5
6.) Notification Volume – 5
7.) System Volume – 6
8.) Alarm Volume – 7
9.) Set Widget Icon (to %PROFILE – used default grey star)
10.) Variable Set (%PROFILE to “Normal”)
11.) Set Widget Icon (to %PROFILE – used the grey sound icon)
12.) Notify – %PROFILE
13.) Wait – 1 second
14.) Notify Cancel – %PROFILE

Let me clarify some key things:
step #9 is needed in order to clear the old Icon back to a star.
step #10 sets the global variable to the name of this profile
step #11 activates the pressed/toggled widget

I’ve also included a “Sleep” sound-profile task (toggles all down except alarm and media), a “Work” sound-profile task (same as “Normal” sound-profile task, but the notification is less and the system sound is less so the keyboard is not obnoxious), a “Loud” sound-profile task (makes everything as loud as possible basically), a “Vibrate” sound-profile task (like sleep, but has vibrate on), and a “On-Call” sound-profile task (like sleep, but ring tone is low).

I am not sure if you are already picking up what’s going on, but basically, the idea is that you have a few of these sound-profile tasks, and you create widgets on the home screen. They all show up as grey stars. When you press “Normal” or “Sleep” for example, it changes the star to the correct icon (Sound Icon, or Muted Icon), and shows it on your home screen and notify’s in your notification bar (after which, a second later, it clears the notification bar). Now, go through the other profiles to see what they do. They are all pretty much the same, except the Vibrate profile, which uses step #2 to select the official Android “Silent” mode, with a Vibrate outlet.

Now, the SECOND SECTION is a single Tasker task called “Sound Profile” which has one step:

1.) Perform Task – %PROFILE

And now you see why step #10 from section one is needed. When this task is called, it will change the current Sound profile to the global variable (%PROFILE). Please import this task too. Why is this needed you ask? Because of my clever hack in the THIRD SECTION:

Here is where you have a Tasker Profile. It is called “Volume Buttons”. The basic logic is as follows:

1.) If Variable Set %VOLR (ringer volume), then call the “Sound Profile”

This essentially achieves a volume-reset every time you accidentally hit the volume up or down keys. Now you can see why the “Wait – 2 seconds” was needed. The key part about this is that it uses your global variable, and it resets your volume to the last Sound profile that you selected. Great huh? Please make sure you import the “Volume Buttons” profile into Tasker.

At last you are Done! You now have individual Tasker tasks which you can make widgets out of. I have the 3 that I use the most – Normal, Silent, and Work (work being a bit quieter on the notification and system sound for the keyboard noise) on my main home screen. Then I have the Loud, Vibrate, and On-Call on another screen since I use them less often.


For the people interested, the ‘On-Call’ task works in a super elegant way: it silences everything except the ring tone (which it lowers), the alarm, and the media volume. The media volume is the key here. Let’s say you want SMS notifications but not emails while you are on-call. They both use the “notification” system, so there’s no way to do this by default (yet another ex-blackbery annoyance). What you can do is write a Tasker profile which interprets a “Notification Messaging, *” notify, (you can check the time if you are only on-call during the night or day) and then have the action for the task for the profile call the “Music Play” action which simply plays your SMS sound as an MP3. This essentially lets you isolate one application from another, by using the fact that you can play the selected notification through the media outlet. Beautiful Eh?

I hope all of this helps people out.

UPDATE – Added “One Ring” Task and Profile Monitor

I’ve updated the zip pack with two additions: a task which will provide you with a “One-Ring” sound-profile task — it’s basically the normal profile, but it brings the Ringer Volume to 0, and it increases the Media Volume up to 11. Also, I’ve added a “One_Ring_Monitor” profile, which intercepts calls, and plays a music file (mp3, wav, ogg, others…) — giving you the ability to play a notification — thus a single beep/sound.

72 Thoughts on “My Tasker program – BlackBerry Sound Profiles for Android

  1. Tejas Sawant on August 15, 2019 at 1:58 pm said:

    If I try this today, will it still work?

    • It should, but I havent tried it in a few years. Fundamentally, the concept still holds. The only changes may be with small Tasket specifics/UI/etc.

  2. first off thank you for replying to me so quick recently because I noticed the comment before me was from a couple years ago. good to see you are keeping track of your work.
    now I am having some problems. let me list them for you. because I tried it but failed. so I uninstalled and deleted all things related and started over from the start.

    1. I could not get tasker from play store due to the “not available in your country” saga. so I got it from aptoide. the version I got is 4.7b1. when I was checking on play store to me it said version 4.6. so not sure if this is an issue.

    2. tasker did not make a folder on my sd card. and it actually took a few attempts before it made the folder on the phones device as well. so I manually created the folder on my sd card. I did try loading the items from the blackberry sound profile zip you provided from both the sd card and from device storage

    3. I receive errors when trying to upload either tasks or profiles. for tasks I get Error: Bad packed data format. for profiles I get Error: no profile found. (it is worth noting that only the one_ring_monitor imported without an error)

    I have a Samsung galaxy S5, model: SM-G900T. android version 4.4.2.

    I would greatly appreciate your help in trying to rectify this issue for me.

    Thanks in advance.

    • Jay,

      I am always shocked when I hear from someone about how difficult it is to pay for software in countries outside of what a vendor has deemed “worthy”. It is simply ridiculous.

      #1 – Tasker went through a few major changes along the way, and after I created/posted the profiles, I kept up with it for a few versions. After ICS 4.0 was released, Google changed a few major things in regards to “Sound”, so Tasker responded with a new version. I posted the profiles for that here: http://blog.vpetkov.net/2011/12/27/tasker-ics-android-4-0-blackberry-sound-profiles. Make sure you download and start with those profiles first.

      I remember that at one point they did a big re-design of the UI, for which I updated and re-posted some steps. I think up to Android 4.2 and 4.3 I kept up with both the latest Tasker version and some changes in the OS. I haven’t upgraded anything since. But either way, it should be mostly the same to update the steps/profiles. The core idea never changed, and if you look at this post (http://blog.vpetkov.net/2011/05/10/my-tasker-program-blackberry-sound-profiles-for-android/), look at the steps 0-14 listing what each “step” actually is in the profile.

      As for the version, I think the version you have is still a beta. The latest “stable and supported” is: v4.6u3, so go with that one.

      #2 – I’ve heard this from others — not sure if this happens across different OS/versiosn, or if it’s based on how the /sdcard is presented, but no matter how you install the APK, you need to make sure that the software is installed to the PHONE (not SD card) for ALL of the things to work, and the “/sdcard” (or equivalent for phones like the Nexus4/5) need to have the “Tasker” folder. Inside that folder, create a “profiles” folder and a “tasks” folder.

      #3 – Look at this post: http://www.reddit.com/r/tasker/comments/2oa9ev/help_i_get_an_error_for_every_thing_i_try_to/
      I’ve heard from people about the first thing (project vs profile vs task). Just double check you are important the correct “thing” using the correct method. I am not sure about the downloaded APK thing. Maybe it’s true, maybe it’s not. If it is related to the downloaded version, I would suggest getting a VPN to the US for a day, and downloading the Play Store app + just registering it. Once it’s registered/validated, you don’t need to be in the US.

      The other suggestion here, try an older version of Tasker (just to eliminate that part). For example, something like v4.4, v.4.3, and v.4.2.

      Before you try a different version though, take a look at the LOG that tasker produces, and see if it’s complaining about something specific. It might be something small (again, like importing a profile as a task, etc.) Or, maybe the version is really not compatible w/ that profile, and then you can create a profile+task yourself — this is very easy, I promise.

  3. this sounds really useful. I am like many others new to android and upset with the lack of a blackberry like sound profile manager. I have read this twice. but I am not sure if I will be able to do it. seems to have some sort of coding stuff to do and I don’t want to mess up my phone, took me too long to get it. are these instructions as simple as they can get??? need help for an amateur please

    • Jay – this is very easy. Once you have the app, you can download the pre made profiles. Even creating your own is really easy and does not require any coding. There is a 0% chance of messing up your phone. No matter what you do, if you completely mess up, you can always deactivate the profiles (or even uninstall the app). Think of this as something that you activate — for example, in a “if THIS happens, do THAT” format, so the “that” part (which is some set of sound changes you would normally make by hand) are all set in one shot when the “this” condition applies (which is either a manual set, or a certain time, or some location, etc).

      Ive gotten used to Android not having this feature at this point, but I am too really surprised.

      Good luck.

  4. TaranQ on October 3, 2012 at 3:51 pm said:

    Great idea but I was thinking about putting the sound profile selection in a popup menu. Don´t want to waist precious screen space with al sort of widgets. Maybe even from the taskbar pulldown. In this area I love to refer to Llama app that does a great job in selecting/settings sound profiles. Wish we could do this in Tasker, especially the part of identifying the cell’s belonging to a certain location.

    • Taran – You can do that. With the creation of the Scenes in tasker, you can create a pop-up menu that you select. You can even create a pulldown menu which when selected will open your “pop-up” scene. I am not familiar with the Llama app (i’ll check it out). You can definitely do the cell belonging to a certain location.

  5. Brian on July 14, 2012 at 7:48 pm said:

    Ventz I would like to know if you have a detailed setup for ” auto disable keyguard when at home ” the one in the profiles does not have a download available and the instructions are missing something. I have spent a couple of hours on this and getting frusterated. Any help would be very appreciated. 🙂 thanks

    • Ventz on July 14, 2012 at 9:04 pm said:

      Brian – The two ways to accomplish this would be to use WIFI or “Net” location (vs GPS which would be very heavy on the battery). Since WIFI, like GPS, will burn the battery too much, let’s use Net location, which triangulates from the Cell towers.

      Start by creating a new profile that’s “Location” based. Uncheck the “GPS” button, so that ONLY the ‘Net’ button is checked. This would give you an accuracy of about 1200meters (which is ~4000 ft or ~0.75 miles). You can get this as low as ~500meters, when using 3G. Select a ‘2km’ radius (~1.25 miles). You could play it safe, and select ‘3km’. Now select the cross hair with the circle in the bottom right and wait a few seconds. Select it again, and wait a few seconds. Select it again, just in case. This will zero-in on your location. Obviously, you want to do this when you are at home. NOTE: You might have to do the locate find before you can set a 2km radius.

      Now, the next part would be creating/attaching a Task. The problem arrises here with the fact that Android 4.0 and above changed the way the key guard functionality works. You can ONLY toggle the key guard if you have password locking enabled. This is a bit annoying IMO since I kept my phone without a password most of the time (during work for example) and manually toggled it on when I left work. Anyway, so assuming you have a password (numeric) set on your phone, the Task would look like this: Display -> Keyguard – Set ‘Off’. That’s really it. At this point, you can OK/SAVE. Go to the Tasker “Profiles” tab, and select the green right pointing arrow for the Keyguard task and select “Add Exit Task”. This will get picked up when you negate the event — aka, leave the designated zone. Repeat the “Task” steps -> Display -> Keyguard, but then – Set “On”. This way, as soon as you leave your house, you will lock up the key guard. Let me know if this makes sense.

  6. Thanks for your detailed answer! Btw your script saved my life many times because I’m also hitting the volume buttons in my pocket regularly! 🙂

    The funny thing is: I just restored my old version of tasker with Titanium Backup (and your “old” Script) and it works again. The notification is sticking and also the profiles work without any problems!
    Since I’m not having a lot of time due to exams I won’t play around with the new script and test whats causing the problem, but maybe in two weeks when I’ll switch to Jellybean 🙂

  7. Thanks for the nice tutorial, I’ve been using it since December and it worked flawlessly.
    Since I upgraded to the Galaxy Nexus with ICS 4.0.4 and the new Profiles (from January) I can’t get it managed to get the NOTIFY permanently in the status bar. The permanent checkbox under NOTIFY is checked but it won’t stick.
    Does anyone else have this problem and is there a workaround?
    Thanks in advance!

    • Ventz on July 10, 2012 at 9:09 am said:

      Tim — very happy to hear that it’s useful. I was honestly completely surprised as to how many people have wanted/used this. It started simply because I made the jump from a blackberry to android (for the 3rd time), and realized that the sound profiles were simply non-existent. It really annoyed me how every time you accidentally hit volume, it ended up changing your ring profiles.

      Anyway, I don’t have a Galaxy Nexus (waiting for the next release since I got the Nexus 7), but my assumption is that the “Notify” and “Notify Cancel” are not matching in terms of name. Specifically, the “TITLE” parameter of the %PROFILE name. That’s the only thing that could be doing it. That, and if you have a Cyanogen release which makes alerts permanent. I guess the other possibility is that the Notify cancel code is different on the Galaxy Nexus, but that would be very surprising since it’s still ICS 4.0.4.

      To test this out, try writing a very simple task with just “Notify” where the title is ‘hey’, and then a “Notify Cancel” where the title is ‘hey’. Run it straight from tasker with the little play button and see if that works.

  8. Ammar on July 9, 2012 at 7:13 pm said:

    This is great. Is there a profile for phone calls only? Where it will only vibrate for phone calls, and silent for every other notification?


    • Ventz on July 9, 2012 at 7:51 pm said:

      Ammar — I think simply setting the notification sound to 0. Since notifications are used for everything BUT phone calls, I think that would do it. On top of this, set your setting a vibrate type profile.

  9. Constituent on May 4, 2012 at 1:41 am said:


    Oh, this is so much simpler. Initial version: at boot, Tasker creates a permanent notification that launches a menu of the sound-profiles when clicked. For now, the menu items are hard coded, but I’m looking into dynamic menu generation based on pattern matching of coded task names.

    Or not. I think I like the ones I have (from you!) and I’ll just add a “Custom” one. Wonder if that could launch a further menu to allow dynamic setting of the vars – easier than finding them in the system menus. Again, or not. Works great!

  10. Constituent on May 3, 2012 at 9:14 pm said:

    This is great – I’ve just started to really miss BB profiles at the same time that I’ve gotten into Tasker. (So, for example, my phone speaks the caller’s name if one of my favorites calls when the ringer is off. I like that exceptions like that should still work on top of these tasks, and, more for Tasker practice, I rotate wallpapers from a directory every two hours.)

    Here’s what I’m going to try to do this weekend: create a Tasker scene so that the available profiles are listed in one pop-up menu, instead of needing a separate widget for each. I’ll have to see how this changes from the way you’re setting icons.

    Fantastic work, thanks for sharing!

    • Ventz on May 4, 2012 at 8:02 am said:

      That is actually a really good idea. Check out my “Timed Profile” — that uses a scene. It might be a good starting point. You will really just have to get rid of the slider and make it a drop down/selectable, and from there hook it into the apply/ok button.

  11. Thank you VERY much. This has been most helpful.

  12. Wayne on March 7, 2012 at 12:14 pm said:

    Aaron & Ventz,

    I’ve been trying to figure it out a way to modify the SMS notifcations. Essentially I want the received text message notifcation to be different from other notifications. For example, while on vibrate I want recevied text messages to vibrate 7 times and everything else (emails, calendar events, etc) to do the standard two vibrates. While on other sound options (Loud for example) I want texts to either make a different sound than other notifications or play the sound more times.

    The idea is that I want to be able to distinguish without looking at my phone if I’ve just received an email or a text message.

    Also if you know of any place that describes the difference between a profile and a task, I would appreciate a link.


    • Ventz on March 7, 2012 at 2:42 pm said:

      Hi Wayne – Let’s start with the basics: profile vs task. One mistake I made is calling the sound stuff that I wrote “sound profiles”. I realized that this was extremely confusing, since they are actually tasks. I tried to correct this retroactively by calling them “sound-profile tasks”. Anyway, here is the difference:

      * task = a set of actions. You can think of it as a function. It runs. The offiicial definition is here: http://tasker.dinglisch.net/userguide_summary.html#tasks.html
      The developer defines it as “A task is simply a set of actions which are performed one after the other.”

      * profile = a condition upon you execute a task. The task can be an existing task (with a name that you load), or a temporary task (one that you write and attach, that cannot be used anywhere else). The official definition is here: http://tasker.dinglisch.net/userguide_summary.html#activity_main.html
      The developer defines it by stating that “The profile links contexts (conditions) on the left to tasks which should be run on the right”

      Now, about the vibrate: see the comments before this one. Someone else asked this, and I provided an answer. To the best of my knowledge, that’s the only way to do it. When it comes to getting the sound to have a different notification, you can set up a Profile that looks for an incoming text. At this point, you can play any sound that you want. The EXACT solution that you need is available in my Speak SMS post (http://blog.vpetkov.net/2012/02/20/speak-sms-over-the-head-phones-only-when-they-are-plugged-in/). Take the first part — the part that looks for incoming Texts. Instead of speaking them, simply add a Task which plays audio. Good luck, and let me know if you need any other info/clarification.

  13. @Ventz
    Thanks much Ventz! As you said, the 1st part was embarrassingly simple, in the “vibrate” task, I just took the “alarm” volumn to 0.

    As for #2, I believe I have exactly the behavior I want now. (to explain for others), I created 1 new task and 2 new profiles.

    The new task is named “VibratePattern” and it is an “alert > vibrate pattern” where i specified the pattern of “100,500,500,500,1500,500,1500,1500” [the format for any vibrate pattern you want is “pause time, vibrate time, pause time, vibrate time, etc. – all in milliseconds], I then selected the “if” option with,”%PROFILE” matches “Vibrate”. This (as you suggested above) ensures that the vibrating pattern will only happen if the “vibrate” profile is the current profile. If in any other profile, it won’t vibrate (I think this is true anyway, it seems to behave that way).

    The two new “profiles” I created enact this vibrate pattern for (1) SMS/MMS and (2) new notifications (eg: calendar alarms). I could’nt figure out a way to do both these things with one profile, so I used two profiles but they are basically the same. The 1st profile is named “SMSvibrate” and it is a “event > phone > received text” which triggers the task “VibratePattern” outlined above.

    The second profile, for the new notifications, is named “NOTIFYvibrate” and it is an “event > IU > notification”, and also triggers the “VibratePattern” task.

    As I said, with limited testing tonight, the behavior seems to be, when the “vibrate” profile is active, both text messages and notifications trigger the custom vibrate pattern, the other sound profiles appear to act ‘as normal’ without the vibrating pattern. More testing will verify this but it appears to work correctly.

    Thanks for all your help and hard work Ventz!

  14. This is great! As a long time blackberry user, sound profiles is about all I miss anymore. I’ve imported your tasks and things work as expected. My brief (I hope) question is whether or not, when in the “vibrate” profile, 2 things can be changed. (1) I saw above that someone was able to mute ALL sounds in the vibrate profile. How was that done? and (2) is there any way, when in the vibrate profile, that I can set the vibrations to a pattern or an extended loop of some kind? I seem to never feel the very brief, single, default vibration and am constantly missing SMS/Emails.

    Great work and thanks.

    • Aaron, for #1: This is very easy to do – simply open the “Vibrate” task, and set the volume in each item to Level 0. The only one you should leave is the “In-Call Volume”. I am assuming you are talking about the Alarm and Media, because those should be the only audible things in Vibrate?

      Now for #2: This is a bit more complicated. The only reason I am saying this is because I don’t see a way to modify the pattern for the generic “Vibrate” mode. The only way that I can think of doing this is to set “profile catches” for each thing that you care about — incoming phone call, sms/notification, etc., and execute the “Vibrate Pattern” (when you select ‘+’ under a task, go to “Alert”, and then select “Vibrate Pattern”). Here’s an example of how to get a custom vibrate pattern for SMS:

      Create a new profile, select the type to be ‘Event’, and then select the ‘Phone’ category, and then ‘Received Text’. Now for the task associated with this, as per above, execute the “Vibrate Pattern”. One additional thing you can do is check what the %PROFILE variable is set to. If it’s “Vibrate”, then you can run this. Otherwise, don’t — so that you don’t get a vibrate during a “Normal” or “Sleep” profile (unless this is what you want — aka, vibrate all the time).

      Hope this helps.

  15. Cerfus on February 1, 2012 at 4:29 am said:

    Hey Ventz, thanks for your patience man, I was able to import profiles and tasks. Coming from Nokia I must tell you that timed profiles is one of the things I miss the most from my old mobile, in fact it was one of the things that made me mad when Symbian came out. Also, I am now very new to Android and I though sdcard was the external physical micro-sd card, everything is in place now. Looking forward to see those timed profiles, woo hoo!

  16. Pingback: VPetkov.net » Timed Blackberry Sound Profiles for Android

  17. Alright, maybe there has been changes in the way Tasker works, if I tap on data I only get as menu items “Clear”, “Backup”and “Restore”

    If I use backup, I get two files in the Tasker folder in phone_memory userbackup.xml and userbackup.xml.txt. In order to test it out, I made a simple profile and task.

    (edit by ventz: removed long paste of userbackup.xml and userbackup.xml.txt since it does not provide interesting info)

    • Cerfus, you don’t need/shouldn’t really use the backup/restore for this. Try closing down Tasker, go to your SD card, make sure you have the “Tasker” folder, and inside just create two folder: “profiles” and “tasks”. Try dropping a copy of a profile into the “profiles” folder, and a task into the “tasks” folder (grab a sample of each from my zip file). Now start Tasker — they should be available on the screen. I think what happened is that Tasker changed the way this part of the program works. It used to be the case that you had to load them one by one (see this: http://www.howtogeek.com/wp-content/uploads/2011/06/banner-01.jpg) Now it just picks them up as long as they are in the proper place. The complete backup, which will backup ALL your profiles+tasks, is there for once you have a bunch of profiles and tasks that you are using, if you want to migrate everything and have a nice way of restoring it on another phone/device.

      Correction for cross out section AND the solution you need: I just discovered an interesting function. If you open tasker and tap and hold on one of the 4 categories “Profiles”, “Tasks”, “Scenes”, “Variables”, you can access an extra menu, which lets you import (except on the Variables tab obviously). Anyway, so I think this is how you need to import.

  18. Hi Ventz
    Is it possible to use the profiles timed. Like i’m on work profile but go in to a meeting for 45 minutes so set meeting profile for 50 minutes then it automatically goes back to work profile (or previous profile)

    • Steve, this is a great question! I honestly had not even thought about it until now. On my commute this morning, I was able to put together a working version. I will add some sort of an input/gui and then email you/post a version on my blog. Give me a day or so.

    • Steve, I was able to get it to work. This wasn’t pretty at first. I spent ~3 hours tonight trying to figure this out. It looks like the Scenes couldn’t have come at a better time. The thing that took me some time was to figure out how to interact with the GUI, block/wait, pass stuff around, etc…Anyway, I’ll post the files+info as a blog entry.

  19. Hey Ventz, thanks for your scripts!
    However, I have a problem, I just bought tasker but this version didn’t create those folders neither on SD nor on phone, maybe I’m skipping a step or something.

    • I seem to remember the same thing – that it doesn’t create them for you. You can mount your phone and create them when they are mounted to your computer, OR, you can download Astro File viewer and create them that way.

  20. Andrew on January 1, 2012 at 5:06 pm said:

    Ventz, I really appreciate all of your help. Thanks to your speedy responses I’ve got it working the way I want. Happy New Year. Andrew

  21. Pingback: Sound Profiles Like BB? - Android Forums

  22. Pingback: sound profiles - Android Forums

  23. Okay, I really appreciate you taking the time to help me with this. I have done my best the last couple of days to do this correctly, but I am still not getting anywhere. The way I understand your responses I am supposed to basically rename your silent profile and simply add an exception to allow sms text and assign the specific number. Are you telling me I am able to do this by not even opening the tasker program in my application, but straight from the widget menu on the home screen? If this is true when I open the sleep tasked off of the widgets menu it doesn’t have a green, but a blue +. When I hit the blue + it goes straight into the “select action category”. The phone tab is in there, but it does not allow me to set incoming sms text. I have been successful doing most of your steps on the tasker program under the applications menu, but I don’t know how to open your silent task in there. I’m really thankful for your help and I will be very pleased when i can get this figured out. Do I have an older or newer version of Tasker?


    • I think you are getting confused here a bit. Take it a step back and let’s simplify it – Tasker has two main functionalities: profiles and tasks.

      Profiles are like little programs that can detect conditions and other things like events and such. When a profile detects a condition (ex: you hit a button, or someone called, or your phone is now near wifi point ABC, or your battery is bellow a certain %, or you just plugged in your phone) it can execute tasks.

      Tasks can either be attached as the actions to Profiles, or they can be run stand-alone as widgets. A task for example can be: set my ring volume to silent, and set my SMS volume to silent, and set my alarm to loud. Or, they can be things like “lock my phone”. Or they can be things like “compose an SMS”. You will use my existing “Sleep” task to set the environment to “Silent”, and then create a temporary/attached task in order to play an MP3. Continue reading 🙂

      Now, to make what you are trying to work, you first need to import the “tasks” that I wrote into the tasks folder (By import, all you need to do is put the tasks in the tasks folder: /mnt/sdcard/Tasker/tasks). Tasks have a functionality to run as “stand alone programs” as Android widgets. That means, if I create that example task that I mentioned above (set ring volume and sms volume to silent, set my alarm to loud), I can create a widget out of it by going to the Home screen in Android (in 2.3 or 2.2) and selecting Widgets, selecting Tasker (bolt icon), and then Tasker itself will give me a list of all my “tasks” that can be created into widgets. A box will popup to show me the task details and ask me to confirm with OK, and then a task will get created on the home screen. Every time you click that task, it will do what you need. So, that means you do not need to edit my “Sleep” one in any way for now. Just add it to the right folder, and then create a widget out of it. You should see a grey star on the home screen. When you hit it, it will change from a star to a mute/silent icon, and that indicates it has been activated.

      Now, for the second part, you need to write your own profile within tasker. This is where you launch the application itself. If you already imported my “Volume Buttons” profile, you will see it (this makes it so that if you hit the volume keys by accident while on the home screen/in a program that doesn’t use them, it will auto-set your last task that you executed — in your case, the sleep one). Also, by import, all you need to do again is simply put the profiles in the profile folder under /mnt/sdcard/Tasker/profiles. After you have the Tasker application open, now follow the steps:

      1.) Select the green “+”. It will ask for a new profile name. Call it “On-Call-SMS”. Click ok.

      2.) Now a pop-up shows that says “First Context”. It gives as options “Application”, “Time”, “Day”, “Location”, “State”, and “Event”. You need “Event”, which is all the way at the bottom.

      3.) When you select “Event”, you will get a new popup called “Select Event Category”. It will have “Date/Time”, “Display”, …etc… You need to select the “Phone” here.

      4.) Now select “Received Text”. As you can see, here you can specify sender. Now click OK.

      5.) Now, you will have to create or attach an existing task. Read this step and then go to step #6 for details. To summarize: you are writing a profile that will get “activated” when a SMS comes from someone (who you specify via the contact field in step #4. Now the “task” that you will attach/create (create since you don’t have one yet) will be the “what happens when this condition occurs” — this condition a SMS comes from the sender you specified.

      6.) In the task-edit popup that shows, select the “+”. Go to “Media” and select “Music Play”. Now you can play any mp3 (or other formats) from your sdcard or anywhere else.

      7.) Now click ok. Now you are taken back to the “main” screen in Tasker. You will see your new profile. There is either a green check next to it or a red circle. You want the green check (which means it’s active), and then you need to apply it from the menu. That’s it. Now everytime you get a SMS from the person you specified, it will “activate” this profile, and execute the according task — the one that plays a song.

      So now hopefully you see how this plays a role. You use tasks to set the environment. “Silence all rings/notifications, but keep the media sound going”. And then you use a profile to use this media outlet to play an MP3 when some condition arrises. As a last step, the same way you imported the “Sleep” tasks, import the “Work” or “Normal” one too so that you can un-toggle the silent sets during the day. Hope this helps.

  24. Pingback: VPetkov.net » Tasker – ICS (Android 4.0) – BlackBerry Sound Profiles

  25. Forgive me, I really appreciate the help and I have been racking my brain with this. I am trying to do you recommended “step 1”. If it isn’t too much trouble can you explain in detail how I “Create a widget from my ‘Sleep task'”? Are you asking me to rename your “Sleep task” so I can personalize my own? If so I can not figure out how to rename it. When I press the + button it does not give me the option to select “event” it just goes directly into “select action category”. You have been extremely helpful.
    Greatly appreciated!

    • No problem – I am assuming the Galaxy S2 is still on 4.3.XYZ, so hold the home screen, Select “Widget”, then to create a “Tasker” widget, select “Tasker”. At that point, it will show you all of your imported “tasks”. The “Sleep” one should be one of them. After you have the “Sleep” widget on your home screen, if you hit it, it will act like a trigger and configure your sound settings — you can open it to see how, but basically, it mutes everything except the media sound and your alarm. (make sure to follow these steps to create an Android Widget of the “Work” or “Normal” profiles so that you can toggle the Sleep one on and off). Now that you have this, you need to create the exception — into the form of a “Tasker Profile”. So, after hitting the green “+” it pops a box that says “New Profile Name”. Give it some time, and hit the green “check”. Now a pop-up shows that says “First Context”. It gives as options “Application”, “Time”, “Day”, “Location”, “State”, and “Event”. You need “Event”, which is all the way at the bottom. When you select “Event”, you will get a popup called “Select Event Category”. It will have “Date/Time”, “Display”, …etc… You need to select the “Phone” here.

  26. Wow, pretty good stuff. I have now made the leap from BB to android (Galaxy S2). I like the phone, but change is frightening. I am on call too and on my BB i created a gmail account that is not given to anyone but work only to be used when they need me. At night I would set my sound profiles to (night/work) and my phone would only ring if I received an email to that account. I have been reading through the comments and didn’t see this specific question asked/addressed. I am also a novice. I have downloaded Tasker and moved your files to my phone, but how do I assign a single email account to make an alert, but shut off all calls, sms, mms, and all other emails? If this is not possible, my work will also sms me from a specific number if there is a way to set that sms (just 1 phone number) to alert.

    • Andrew — I was in the same position as you when I switched back to Android. I used my blackberry push account as an alerts account, and I piped different scripts and alerts to it. Anyway, here are your options:

      1.) The SMS one is easier. Create a widget from my “Sleep task” — this basically silences everything except alarm and media volume. From there, you will need to create a new “Tasker Profile”. You can do this by clicking the “+” in Tasker, and call it “On-Call-SMS” for example. (The general idea of profiles is that they have events and they run/monitor and respond with tasks. Tasks are like functions — you run them and they do/change something.) After clicking the “+”, select “Event” from the “First Context” menu that pops up. Now select the “Phone” category. Now select “Received Text”. As you can see, here you can specify sender. Hit the search glass to lookup a contact. After you are done, hit the green check mark. Now you will need to add a task/create one to respond on the given event. Select new on the top, don’t bother with a name, and hit the “+” in the task-edit popup. Go to Media and select “Music Play”. Now you can play any mp3 (or other formats). That’s it. Now save and enable your “On-Call-SMS” profile. Test it out.

      2.) The Email one is the “harder one”, only because there are more options. The general idea is that you will need to create a profile that looks for a certain “From” address. If you are using exchange and you happen to use TouchDown, you can actually create a rule inside TouchDown that plays an mp3 — achieving the same thing as above for the SMS, but with email (having everything on silent except the “media” volume, and using the media outlet as a “notification system”). If you are not using TouchDown, having the separate email account doesn’t really play a role here. The ruleset is still based on sender. Follow the directions from #1 on creating a profile, but instead of using the “Phone” category for the Event, use “Variable” and select “Variable Set”. Hit the yellow tag, and select the “Email From” line. This generates a “%EFROM” variable (you can type this directly in the input box). Now, set the value for this. Then continue with the directions for the task from #1 above.

      Hope this helps.

  27. Thanks! I took and modified (don’t we all?) this a bit. For all the different profile “tasks” I made the 2nd entry:

    Notify Cancel with %PROFILE as the Title

    Then on Step 13 which is where it does the Notify I changed it to a “Permanent” notify

    Then stop on step 14 (no more steps)

    Now I always have the icon of choice (for the profile) in my status bar so I know which profile I’m currently on. As I already have a busy homescreen and didn’t want 5-6 more icons. Then I created a “MENU” task with the options to be all the profiles I usually use (5 of them) and put that icon on my main screen. Now I hit that icon and it prompts me for which profile to use. When I select it it changes to that profile and always shows in my notification bar until I change….OR….as I don’t have a problem accidentally hitting the volume buttons on my phone…I like to use them sometimes to change the ringer manually. So I changed the profile for the volume variable changed so that now all it does is actually change the volume and do a “Notify Cancel of #PROFILE” so it removes the permanant notify in the pull down/icon so I know I’m not on a profile anymore.

    In addition to setting some profiles based on location/time.

    I also made my “Vibrate” mode more of a true Vibrate ONLY mode. So that calls/notifications only vibrate and no noise (like my old BB)

    Thanks Ventz! This is my most useful tasker tasks to date!

    • Great to hear!! This is exactly what I was hoping people would do — grab this and modify it for their needs 🙂 I like your “Permanent” notify change. I did this originally, but I have the opposite need — my status bar is too crowded, so I went back and added the icon change.

  28. One of the features that I greatly miss with a Blackberry is the ability the setup profiles based on whether the phone is in or out of the holster. Since most Android phones today are equiped with a magnetometer, and my belt holster has a magnetic clasp, is it possible to sense the magnetic clasp on the holster with the magnetometer and set an in-holster profile based on this trigger? Can Tasker access the magnetometer data like it does location/GPS data?

    • This is an interesting question – it was one of the first things I looked at when I got Tasker to work with sound profiles. The problem is that you cannot detect the magnetic portion (at least I am not aware of any way to do this). But, there is a hack that you can do. You can use the light sensor. That however was not 100% accurate — if you put your filter a bit to the left/right on the Nexus, it triggers it. Combining the light sensor with the proximity sensor, you get pretty accurate results. The problem is, these are the two most battery wasteful sensors, and you are constantly polling them. Anyway, so to answer your question – combining the light sensor values and the proximity sensor, you can get a good functional “holster/pocket” action.

  29. Pingback: Trucos y tutoriales para Tasker, la aplicación de Android que te hará olvidar a Siri. | Gadgetopost

  30. Okay, so I tried the On Call profile, as it is the one where I am able to receive phone calls and hear my alarm. Problem is, when I set the profile to on call, it vibrates for everything. I have no volume at all. I tried to delete it and re-add it, but that did not work. I changed the levels for volume for notifications and ringtone, or whatever items correlated with the alarm and ringer as I might have misnamed them, and that still doesn’t help. Any advice? Am I missing something? Thanks again!

  31. Scooter on October 5, 2011 at 2:15 am said:

    Thanks so much. Just made the jump from BB Tour to Droid Bionic and was sorely missing profiles. One clarification, above in your optional fourth section there is a missing word for those of us that are new:

    “What you can do is write a TASKER profile which interprets a “Notification Messaging, *” notify, (you can check the time if you are only on-call during the night or day) and then have the action for the task for the profile call the “Music Play” action which simply plays your SMS sound as an MP3. ”

    Once you have this new TASKER profile active, then as long as the widget you have selected has some setting above 0 on media volume then you will get an SMS/MMS notification. So now when I have the “On Call” widget running I also get my SMS/MMS notification — but not an e-mail notification (since the “On Call” widget has silenced all notifications).

    Anyway, thanks. Now I just need to figure out how to get vibrate to work on the Bionic.

    • Hi, I am glad it helped. This bothered me for a long time, and made me go back to the blackberry. I updated the section to include “Takser profile”. Vibrate is a tough thing in 2.3, since you can have it either on never or always — but not as a “silent mode” option. Take a look at this: http://code.google.com/p/android/issues/detail?id=20463 If you don’t mind actually, vote it up please. In 2.2, this is implemented correctly. In 2.3.0 they broke it, and 6 OS updates later, it’s still broken. For now, I am simplying staying away from Vibrate. I do have the profile ready for it thought.

  32. Okay, so here is the problem I currently have…I have tried sleep as a profile, and send a test call and text message to my phone…no volume, which I expected. I used on call, and when I added it to the home screen, I changed the ringer volume to the max, in call volume to the max, alarm to the max, and everything else off. However, when I activate the profile, I get no sound at all, only vibration.

    What I am looking for is a a phone calls only profile, which is what i thought on call was…maybe something isn’t working properly, maybe I touched something I wasn’t supposed to…is there a profile where the alarm and the ringer are the only two things I will hear? Thanks again for all of your help

    • I think I know happening — Android doesn’t change widgets when the backend code updates. If you updated the settings in the Tasker Task — you have to remove the widget and re-create it. I think this was why the author pops up the task “code” so that you can verify what is being created. Try that — if you change it, delete and re-create the widget.

  33. @Ventz
    I think I was using the wrong profile, and that’s why I got no phone calls. I think I meant to use the On Call profile as opposed to the sleep profile, as I think I remember reading the on cal profile has phone calls and alarms. I am going to test this tonight, but other than that, it all seems good to me, and I’m excited, because this very task is one of the reasons I returned the droid 2

  34. @Jay
    Okay, so a small update on the above mentioned situation: I’m not sure what happened, but when I installed the sound profiles, it seems as though something along the way corrupted the MP3 files that serve as my notifications and ringtones. I redownloaded them, and they work.

    On a different note, I had silent on as my profile last night with my ringtone turned all the way up, as I only want to get phone calls and alarms. This morning, my alarm woke me up, but I woke up to 2 missed calls. It could have been that I was deep asleep, I am going to test and get back, but so far, these profiles are awesome. Thanks!

  35. So there is one thing I’ve noticed since I correctly installed this; it replaces the ringtones and notifications I normally use with the standard droid ones that are on the phone. Anyway to remedy this situation?

    • That’s very strange. So you got the profiles imported, created Widgets from them, and then selected one…and when the call came, it was your non-default ring tone? I’ve been using this setup for the last 9+ months (if not longer now), but I’ve never seen this problem. If possible, set your ringtones/notifications, and then test it out. If you can repeat it and let me know what triggered it, i’ll try to debug.

      • Hey, so here’s the reason — you can’t enable a profile, and then manually fudge with the sounds 🙂 — treat the profiles as “the only way to control the sound”. So, the silent profiles, silences the phone — it’s almost like a meeting profile. You won’t get any calls. If you have the “Volume Button” monitor Tasker Profile, what will happen is if anything changes your sound (ringtone wise), this will restore the last profile set. It’s truly like the blackberry 🙂 Believe it or not, this is beautiful once you get used to it. I have 3-4 profiles I use on a daily basis. One when I am at work, one when I am outside in a really noisy environment and I need to make sure I don’t miss an email/phone call, and one when I go to sleep (when I am not on-call), and one for on-call (removes extra notifications). What’s nice is that these guarantee you defined behavior.

  36. No problem. Here’s what you need to do:

    1.) First, if you haven’t already, install Tasker.
    2.) It will create a “Tasker” folder on your SD card. Under that you will find “tasks” and “profiles” folders (if they don’t exist yet, create them).
    3.) Download the zip to your computer, mount your phone’s SD card and go into the main “Tasker” folder. If the file ends in .prf, put it in the “profiles” folder. If it ends in “.tsk”, place it in the “tasks” folder. Unmount, disconnect your phone.
    4.) Now that you have them, you need to load what you want/need into the program. Open up Tasker (program), hit Menu, and go to “Profile Data”. Do a “Import One Profile” and later “Import One Task”. As soon as you select that, you will see all the files in the directory that you copied. Now you can import whatever you want.

    You should import the Profile (note: this is a profile) I mentioned/added, at least the “Normal”, “Sleep” and “One Ring” tasks (note: these are tasks), and I would **highly** recommend the “Volume Buttons” (note: this is a profile). The volume buttons profile is honestly a life saver since any time you tap a volume button, it will actually restore to the profile you have selected.

    Now to use them,

    5.) Hold down on the home screen, select Widget, select Task. It will show you a list of your tasks. Select “Normal” for example. It will show it to you (in case you have to make any changes last minute — don’t do it this way, always make them in editor), now select the green check — done — you have it as a “program” on your home screen. Add at least 2 this way, and select them. Wait 1-2 seconds. You will see how it select/enables each, and then after it enables it, hit the volume keys on purpose, and then wait 1-2 seconds again to see how it restores it. (i will update some of this info in the main page by the way)

  37. I appreciate all your help, but I’m going to continue to be a pain. I’m pretty tech savvy, but this is escaping me. I emailed myself the link to this page, and I emailed myself a folder with the tasks you’ve created, neither of which will open on my droid 3 for verizon…does it being a verizon phone have anything to do with it? Thanks again, I truly appreciate your help and patience.

  38. Hello all…so I’m new to Android and this does solve a huge problem for me as a former blackberry user. The first thing I’m trying to understand is do I have to have tasker installed on my phone to utilize this app? Please let me know. Thanks!

    • Hi, Yes — you need to install Tasker, and then you can just import these profiles and tasks. You can create widgets out of tasker “tasks” which act like small programs. It’s incredibly useful.

  39. “…..The only changes would be to silent the ring tone to 0, and use the media volume as the outlet — again, by playing a ringtone that you want (utilizing the Music Play). The main idea is that once you silence the ring tone, you have full control over the media outlet in terms of sound, length, repeat, etc..etc..” u lost me there..
    How I did it is to create a profile with context State/phone/incoming call and tasks:1-ringer vol set to 5/2-Wait 3 sec/3-set ringer vol to 0.The problem is that in this way I can’t really say that I have ring profiles anymore.

    • I ended up writing the profile and task for this. Re-Download my pack (Blackberry_Sound_Profiles_for_Android.zip) from the blog post. Also, look at the “Update” section on the post. You just need to import the “One_Ring” task, and then import the “One_Ring_Monitor” profile. Go into the profile and select a notification you want to hear (i used some from the blackberry since there’s a great number of single beep ones). I tested this, it works perfectly. Good luck.

  40. Well I miss my old Nokia’s profiles where I had the “ring once” option.Any idea how I could do that(combined with yourprofiles ofc)

    • I have something like this for myself actually, which I use as a passive alert for work “alerts” during the night. The easiest way to get something like this is to download my profiles, and pick one of them to edit that you don’t use. The only changes would be to silent the ring tone to 0, and use the media volume as the outlet — again, by playing a ringtone that you want (utilizing the Music Play). The main idea is that once you silence the ring tone, you have full control over the media outlet in terms of sound, length, repeat, etc..etc..

  41. Sweet! I’ll give it try. Thanks!

  42. I used to have profiles based on “contacts” on my Blackberry. Vibrate x2 when receiving email from the wife. Is this remotely possible using google contacts (or phone contacts) and gmail?

    • Yes. This is very much possible with tasker. You would create a task that would be triggered on an “Event” -> “Variable” -> “Variable Set”. The specific variable is listed as “Email From” (%EFROM). At this point, you can do anything that you want for the actual task (the triggered effect based on the profile). Personally, I use the “Music Play” to play notifications/mp3’s for special callers.

  43. I combined this idea successfully with the SMS alert step-through on this Wiki. However, I modified the SMS alert task to trigger off of a K9 email with a particular subject. Also, the SMS alert task as provided required that the profile code be executed to enable sounds reliably. Instead, what I did was save the sound state, run the SMS/Email alert, and then when the alert was cancelled (either by unlocking the phone or other things like reading a K9 email) I restored all the sound settings. This allows the alert to function when the phone is in use as well as not depending on specially written profiles. The ones here work, but so would any sound profile program.

    • Ventz on June 24, 2011 at 9:55 am said:

      Correct. Just about any sound profile/program would work. This wasn’t meant as some sort of a “never-done-before” solution. I believe AudioGuru comes up pretty close to this as is. I just wanted the exact same functionality and ease of use that blackberry profiles provide. It really bothered me that Android has no built-in profiles. Yes, you can toggle the basics (sound, silent, vibrate – currently even this is broken), but you can’t have presets that control ring tone, alarm, system sounds, media, etc.. — by default. The “special” things here are that they centrally swap the “active icon”, and the exact setup of these profiles. What I have not seen is this exact set of presets, which seem to me like it should be a default. What’s interesting is that a lot of people seem interested in this. I was quite surprised by this. I did not expect over 7000 downloads in the first month.

  44. Cyberpyr8 on May 11, 2011 at 11:38 am said:

    I was frustrated by this at first too but I found that the Audio Manager app (free and paid versions http://www.appbrain.com/app/audiomanager-widget/com.smartandroidapps.audiowidget) actually allows you to create sound profiles and add them as desktop shortcuts as well as having tasker support. They allow for custom names and settings with vibrate and without. I was eventually able to recreate all of the profiles I had on the Blackberry. However, I am sure your solution adds some additional functionality that none of the other apps have.

Leave a Reply

Your email address will not be published. Required fields are marked *

>> NOTE: Please use <code>...</code> to post code/configs in your comment.

Post Navigation