[Guide] Turn off notification light at night *Requires Root and Tasker* - Verizon Samsung Galaxy S III

I've posted this before, but it got buried and other people have asked about it so I figured I'd put it in its own thread. I find the notification light very annoying at night, but the only way I could find to shut off the notifications was buggy at best. This way will allow you to pick whatever triggers you have access too in tasker to control whether the light is allowed to turn on or not.
Some background: when a notification comes in, the system sets the file led_pattern in /sys/devices/virtual/sec/led to something non-zero. 3 is a slow blinking blue light, 1 is solid red, I forget what the others are now. When the screen is turned on, this is reset to zero, and when the screen is turned off, if the notification bar hasn't been opened (and the program with the notification hasn't been opened) the value is reset to something non-zero. So, I created a simple task to change the value back to zero:
Create a new task, then select Script>Shell. Enter the following command:
echo 0 > /sys/devices/virtual/sec/led/led_pattern
Check the 'Use Root' box
Then your task is done. Try it once to make sure you have accepted whatever superuser popups (you'll need to always allow this for it to work on its own).
Now create a profile, and for the context select Event>UI>Notification. You may need to check tasker on the accessibility menu if you haven't already (it will prompt you if necessary). Add whatever other contexts you want (I have a variable that's set when I turn on my nighttime menu that I check for so the light will blink during the day but not at night). You could easily just pick a block of time to turn it off instead. If you don't add other contexts this will always block your light, so make sure you've done some check to block it only at night. Add the task you created to this profile.
Next create another profile with the context State>Display>Display State set to Off, and add in the other secondary (ie night time) contexts. Call the same task you created above. This will prevent the light coming back on if you turn the display on and off at night after receiving a notification.
The only quirk I've found so far is that if you receive a google voice text, the light instantly turns purplish/pink normally. On my phone it will come on for a split second before tasker can kill it.
If you have any issues with this please let me know and I'll see what I can figure out.

I turn my phone over so the light and screen are face down. Case has a lip on it so screen doesn't touch the table. Problem solved.
-Hai guise don't feel like looking at 5 pages but I haz problems on the pre-alpha release and I don't know why.

joshindc said:
I've posted this before, but it got buried and other people have asked about it so I figured I'd put it in its own thread. I find the notification light very annoying at night, but the only way I could find to shut off the notifications was buggy at best. This way will allow you to pick whatever triggers you have access too in tasker to control whether the light is allowed to turn on or not.
Some background: when a notification comes in, the system sets the file led_pattern in /sys/devices/virtual/sec/led to something non-zero. 3 is a slow blinking blue light, 1 is solid red, I forget what the others are now. When the screen is turned on, this is reset to zero, and when the screen is turned off, if the notification bar hasn't been opened (and the program with the notification hasn't been opened) the value is reset to something non-zero. So, I created a simple task to change the value back to zero:
Create a new task, then select Script>Shell. Enter the following command:
echo 0 > /sys/devices/virtual/sec/led/led_pattern
Check the 'Use Root' box
Then your task is done. Try it once to make sure you have accepted whatever superuser popups (you'll need to always allow this for it to work on its own).
Now create a profile, and for the context select Event>UI>Notification. You may need to check tasker on the accessibility menu if you haven't already (it will prompt you if necessary). Add whatever other contexts you want (I have a variable that's set when I turn on my nighttime menu that I check for so the light will blink during the day but not at night). You could easily just pick a block of time to turn it off instead. If you don't add other contexts this will always block your light, so make sure you've done some check to block it only at night. Add the task you created to this profile.
Next create another profile with the context State>Display>Display State set to Off, and add in the other secondary (ie night time) contexts. Call the same task you created above. This will prevent the light coming back on if you turn the display on and off at night after receiving a notification.
The only quirk I've found so far is that if you receive a google voice text, the light instantly turns purplish/pink normally. On my phone it will come on for a split second before tasker can kill it.
If you have any issues with this please let me know and I'll see what I can figure out.
Click to expand...
Click to collapse
Tasker is a confusing app to me. I've tried to enter this in a few times but can't seem to get it to work. Is there any chance you could help me out and let me know more of a step by step? This guide seems to jump around a bit (it could be my extreme lack of experience with Tasker). This sounds like it is exactly what I am looking for though. The led on the GS3 is so freaking bright it lights up my whole room when it is charging at night. I *could* turn it over as suggested above but I have two problems with that:
A) We are better than our phones, aren't we? We should be able to get them to bend however we want! Why compromise?
B) I use my phone as my alarm clock and I don't want to fumble around to flip it over before I can silence it while I'm still mostly asleep.

Thanks for the guide. I will have to give this a try. I tried something else but it didn't seem to have any effect. Any idea where to find the other codes to make the LED turn on differently when you want?
---------- Post added at 06:29 PM ---------- Previous post was at 06:24 PM ----------
Relentless D said:
Tasker is a confusing app to me. I've tried to enter this in a few times but can't seem to get it to work. Is there any chance you could help me out and let me know more of a step by step? This guide seems to jump around a bit (it could be my extreme lack of experience with Tasker). This sounds like it is exactly what I am looking for though. The led on the GS3 is so freaking bright it lights up my whole room when it is charging at night. I *could* turn it over as suggested above but I have two problems with that:
A) We are better than our phones, aren't we? We should be able to get them to bend however we want! Why compromise?
B) I use my phone as my alarm clock and I don't want to fumble around to flip it over before I can silence it while I'm still mostly asleep.
Click to expand...
Click to collapse
Don't know if you are aware or not, but you can turn off the LED while charging using the build in settings. Go to Settings -> LED indicator and uncheck Charging. It shouldn't light up at all until you get some kind of notification.

ADC_112358132134 said:
Thanks for the guide. I will have to give this a try. I tried something else but it didn't seem to have any effect. Any idea where to find the other codes to make the LED turn on differently when you want?
---------- Post added at 06:29 PM ---------- Previous post was at 06:24 PM ----------
Don't know if you are aware or not, but you can turn off the LED while charging using the build in settings. Go to Settings -> LED indicator and uncheck Charging. It shouldn't light up at all until you get some kind of notification.
Click to expand...
Click to collapse
Yea I know. The thing is that I would like it to light up while charging (and change color when charged) just not between 11PM and 7AM

So, I haven't tested it for this (although I am now...) because I just have the charging LED setting turned off. I think this should work fine, although if you've killed the battery full notification you might get the green light coming on once charging completes (which you can probably deal with with an additional profile). Here's a more detailed description of the task setup:
1) Open Tasker and go to the 'Tasks' tab at the top of the screen.
2) Click on the green [+] at the bottom of the page to create a new task. Then name it something (LED kill?) and tap the green check button.
3) Click the [+] in the lower right hand corner to add an Action to your task.
4) Select 'Script', then 'Run Shell' from the Menus that pop up.
5) Under 'Command' type "echo 0 > /sys/devices/virtual/sec/led/led_pattern" without the quotes
6) Check the 'Use Root' box, then click the green check at the bottom of the window.
7) Now you should see the Task Edit window. Click the blue 'play' button at the bottom right of the window to run the task now. If you get a Superuser popup make sure you've checked the box to remember your selection, and accept the SU request. Now tap the green check box to save the task.
* Now you have a task that can turn off the light, but you need a way to trigger it. In tasker you do this by setting up profiles, which you can think of as triggers that will call the task. We want to trigger it to kill the LED whenever the phone turns it on. The phone will turn on or change the light at 2 different times:
A) When you receive a notification
B) When you turn off the screen (This will 'reset' the led if you turn on the screen and then turn it back off without clearing the notification) It will also turn on the led if the phone is charging and you've left that setting checked.
So, lets proceed:
8) Tap the 'Profiles' Tab at the top of the screen.
9) Tap the green [+] to create a new profile. Name it something like "Notification Kill" and click the green check box.
10) Select 'Event', then 'UI', then 'Notification' from the menus that pop up. Click the green check at the bottom of the Notification window that pops up (all the default settings are fine).
10a) At this point I think I was prompted the first time I did this to add Tasker to the accessibility permissions. If this happens, scroll down in the accessibility settings window that pops up and check the box next to Tasker. Then hit the back button to go back to Tasker.
11) Now select the task you just created (LED Kill) from the Task Selection window that pops up
* Now if you leave Tasker you should be blocking all notification LED lights. But you only want to turn them off at night! So you need to add another Context to this profile.
12) Long press on the Context (left hand side of the profile you just created where it says 'Notification *,*' and has a Orange ! triangle)
13) Select 'Add' from the popup, then select 'Time'
14) Pick the time range that you want the LED turned *OFF*. In your case you should pick From: 23:00 and To: 07:00.
15) Click the green Check and you're done with this profile.
* Now you've taken care of the (A) reason for the light coming on. But you need to take care of (B) as well, in case you check your phone during the 'night' hours, or if it's plugged in.
16) Repeat step (9), but name it 'ScreenOffLEDKill' or something easier to type.
17) Select 'State', then 'Display', then 'Display State' from the popup menus.
18) Make sure 'Off' is selected from the 'Is' dropdown menu, and click the green check box.
19) Select the task you created earlier again (LED Kill)
20) Repeat Steps 12-15 for this profile (Long press on 'Display State Off'...)
Now you should be set! If this still isn't working let me know and I'll try and troubleshoot it with you.
Relentless D said:
Yea I know. The thing is that I would like it to light up while charging (and change color when charged) just not between 11PM and 7AM
Click to expand...
Click to collapse

ADC_112358132134 said:
Thanks for the guide. I will have to give this a try. I tried something else but it didn't seem to have any effect. Any idea where to find the other codes to make the LED turn on differently when you want?
Click to expand...
Click to collapse
Just try different numbers. You can test it out and actually make the lights come on with the screen on from terminal emulator/adb or play with the tasker shell options. Try the following commands after getting superuser rights (by typing 'su' in the terminal emulator):
echo 7 > /sys/devices/virtual/sec/led/led_pattern
You get a slightly pulsing blue led. Substitute other numbers for the 7 and play around. You can turn off the LED by setting it to 0. You can also try echoing a value to led_b, led_g, or led_r, which will turn on the blue, green, and red leds (probably 255 is the maximum value). From what I've seen, whatever you set last overwrites whatever else you've done. So, if you set pattern to 7, then led_b to 255, the led will switch to solid blue from the pulsing light. If you then set led_r to 100, it will switch to dim red, but it won't maintain the led_b setting. I don't really have any interest in further customizing the led so I haven't played around with it much more. I haven't really figured out how to use led_blink either. If you find out more post here!
Josh

joshindc said:
Now you should be set! If this still isn't working let me know and I'll try and troubleshoot it with you.
Click to expand...
Click to collapse
Beautiful! I'll punch this in tomorrow at work. Thank you so much for helping me out!

Thank you so much for this post. Your method works perfectly. This is exactly something that I was trying to do but couldn't figure out. Great job! :good:
Just FYI, when Tasker updates from the market, it appears that sometimes the update disables the tasker accessibility service. If that happens this technique will no longer work. So, make sure to check that the accessibility service is still enabled after a Tasker update.

Thought I add a mapping of the colors to save some time to the next person...
Code:
0 = Disabled
1 = Static Red
2 = Blinking red (fast)
3 = Blinking blue (slow)
4 = Blinking red (slow)
5 = Green
6 = Static blue
7 = Static pulsing blue

Awesome, informative thread! Giving it a bump for those who want more, better information. Could anybody post the XML code in color-coded format? It helps me understand how to set it up exactly. Thanks to you for the hard work!

joshindc said:
I haven't really figured out how to use led_blink either. If you find out more post here!
Click to expand...
Click to collapse
This is a bit off topic, but since you went there I'll share some of my findings on led_blink. It turns out you can use it to create any color, but I haven't figured out how to make it... uh... blink.
At first, since led_blink usually contains 0 0 0, I thought it was simply the rgb colors with values up to 255 (just like with led_r, led_g, led_b). But, after a lot of trial-and-error, I found that it's actually hex. But that's not all. You also have to send led_blink additional information. Let me try to explain.
If you echo a string of numbers to led_blink, it seems to ignore the first two. The next two are red, then green, then blue (spaces are interpreted as zero, it seems). So, if you sent:
echo 00ff0000 > /sys/devices/virtual/sec/led/led_blink
you'd get a solid bright red light. But, here's the thing... led_blink would only contain "ff 0 0", since the first two numbers don't seem to stick. If you tried to send green the way you would intuitively think ("0 255 0"), you'd get led_blink set to "25 50 0" - which, to be fair, is still mostly green. Using the hex values plus the leading two digits, you can make the led any solid color you want.
So, what's left to figure out is:
What do the first two numbers mean, if anything? It doesn't seem to matter what they are.
How do you make it blink?
I swear, at one point when I was messing around with numbers (I wrote a Tasker task to make it easier to write to and read from led_blink) that I saw it rapidly blinking, but I don't know how I got there.
If someone can figure out how to get it blinking, Tasker would become a serious Light Flow alternative.

LightFlow can handle this and all notification aspects so much easier and with 1 button click (versus Tasker).
I use the hell out of Tasker, but I use LightFlow for ALL notifications - lights, sounds, vibrations, pop-up windows, etc. And you can set it to kill any notifications of any type you set by time of day. At 10:30pm all my lights stop flashing and come back on at 6:30am for example.

Does it work on any device? Or it is only for Galaxy S3
Sent from my GT-I9300 using Tapatalk 2

iirc led control from the play store has "night time" setting that will disable the led during times you specify

I'm using this command to turn off the led for specific Whatsapp groups, using specific contexts.
Sent from my GT-I9300 using Tapatalk 2

joshindc said:
So, I haven't tested it for this (although I am now...) because I just have the charging LED setting turned off. I think this should work fine, although if you've killed the battery full notification you might get the green light coming on once charging completes (which you can probably deal with with an additional profile). Here's a more detailed description of the task setup:
1) Open Tasker and go to the 'Tasks' tab at the top of the screen.
2) Click on the green [+] at the bottom of the page to create a new task. Then name it something (LED kill?) and tap the green check button.
3) Click the [+] in the lower right hand corner to add an Action to your task.
4) Select 'Script', then 'Run Shell' from the Menus that pop up.
5) Under 'Command' type "echo 0 > /sys/devices/virtual/sec/led/led_pattern" without the quotes
6) Check the 'Use Root' box, then click the green check at the bottom of the window.
7) Now you should see the Task Edit window. Click the blue 'play' button at the bottom right of the window to run the task now. If you get a Superuser popup make sure you've checked the box to remember your selection, and accept the SU request. Now tap the green check box to save the task.
* Now you have a task that can turn off the light, but you need a way to trigger it. In tasker you do this by setting up profiles, which you can think of as triggers that will call the task. We want to trigger it to kill the LED whenever the phone turns it on. The phone will turn on or change the light at 2 different times:
A) When you receive a notification
B) When you turn off the screen (This will 'reset' the led if you turn on the screen and then turn it back off without clearing the notification) It will also turn on the led if the phone is charging and you've left that setting checked.
So, lets proceed:
8) Tap the 'Profiles' Tab at the top of the screen.
9) Tap the green [+] to create a new profile. Name it something like "Notification Kill" and click the green check box.
10) Select 'Event', then 'UI', then 'Notification' from the menus that pop up. Click the green check at the bottom of the Notification window that pops up (all the default settings are fine).
10a) At this point I think I was prompted the first time I did this to add Tasker to the accessibility permissions. If this happens, scroll down in the accessibility settings window that pops up and check the box next to Tasker. Then hit the back button to go back to Tasker.
11) Now select the task you just created (LED Kill) from the Task Selection window that pops up
* Now if you leave Tasker you should be blocking all notification LED lights. But you only want to turn them off at night! So you need to add another Context to this profile.
12) Long press on the Context (left hand side of the profile you just created where it says 'Notification *,*' and has a Orange ! triangle)
13) Select 'Add' from the popup, then select 'Time'
14) Pick the time range that you want the LED turned *OFF*. In your case you should pick From: 23:00 and To: 07:00.
15) Click the green Check and you're done with this profile.
* Now you've taken care of the (A) reason for the light coming on. But you need to take care of (B) as well, in case you check your phone during the 'night' hours, or if it's plugged in.
16) Repeat step (9), but name it 'ScreenOffLEDKill' or something easier to type.
17) Select 'State', then 'Display', then 'Display State' from the popup menus.
18) Make sure 'Off' is selected from the 'Is' dropdown menu, and click the green check box.
19) Select the task you created earlier again (LED Kill)
20) Repeat Steps 12-15 for this profile (Long press on 'Display State Off'...)
Now you should be set! If this still isn't working let me know and I'll try and troubleshoot it with you.
Click to expand...
Click to collapse
I have à Sony xperia Z with jelly bean.
Do you know where i can find the folder there?
In the folder sys/devices/virtual there is no folder sec....
I can't find where i can turn off the charging led at night.

Thanks @joshindc! You are the man. I've been looking for something like this forever. This LED Profile works great! Thanks again. :highfive:
Cheers.
joshindc said:
So, I haven't tested it for this (although I am now...) because I just have the charging LED setting turned off. I think this should work fine, although if you've killed the battery full notification you might get the green light coming on once charging completes (which you can probably deal with with an additional profile). Here's a more detailed description of the task setup:
1) Open Tasker and go to the 'Tasks' tab at the top of the screen.
2) Click on the green [+] at the bottom of the page to create a new task. Then name it something (LED kill?) and tap the green check button.
3) Click the [+] in the lower right hand corner to add an Action to your task.
4) Select 'Script', then 'Run Shell' from the Menus that pop up.
5) Under 'Command' type "echo 0 > /sys/devices/virtual/sec/led/led_pattern" without the quotes
6) Check the 'Use Root' box, then click the green check at the bottom of the window.
7) Now you should see the Task Edit window. Click the blue 'play' button at the bottom right of the window to run the task now. If you get a Superuser popup make sure you've checked the box to remember your selection, and accept the SU request. Now tap the green check box to save the task.
* Now you have a task that can turn off the light, but you need a way to trigger it. In tasker you do this by setting up profiles, which you can think of as triggers that will call the task. We want to trigger it to kill the LED whenever the phone turns it on. The phone will turn on or change the light at 2 different times:
A) When you receive a notification
B) When you turn off the screen (This will 'reset' the led if you turn on the screen and then turn it back off without clearing the notification) It will also turn on the led if the phone is charging and you've left that setting checked.
So, lets proceed:
8) Tap the 'Profiles' Tab at the top of the screen.
9) Tap the green [+] to create a new profile. Name it something like "Notification Kill" and click the green check box.
10) Select 'Event', then 'UI', then 'Notification' from the menus that pop up. Click the green check at the bottom of the Notification window that pops up (all the default settings are fine).
10a) At this point I think I was prompted the first time I did this to add Tasker to the accessibility permissions. If this happens, scroll down in the accessibility settings window that pops up and check the box next to Tasker. Then hit the back button to go back to Tasker.
11) Now select the task you just created (LED Kill) from the Task Selection window that pops up
* Now if you leave Tasker you should be blocking all notification LED lights. But you only want to turn them off at night! So you need to add another Context to this profile.
12) Long press on the Context (left hand side of the profile you just created where it says 'Notification *,*' and has a Orange ! triangle)
13) Select 'Add' from the popup, then select 'Time'
14) Pick the time range that you want the LED turned *OFF*. In your case you should pick From: 23:00 and To: 07:00.
15) Click the green Check and you're done with this profile.
* Now you've taken care of the (A) reason for the light coming on. But you need to take care of (B) as well, in case you check your phone during the 'night' hours, or if it's plugged in.
16) Repeat step (9), but name it 'ScreenOffLEDKill' or something easier to type.
17) Select 'State', then 'Display', then 'Display State' from the popup menus.
18) Make sure 'Off' is selected from the 'Is' dropdown menu, and click the green check box.
19) Select the task you created earlier again (LED Kill)
20) Repeat Steps 12-15 for this profile (Long press on 'Display State Off'...)
Now you should be set! If this still isn't working let me know and I'll try and troubleshoot it with you.
Click to expand...
Click to collapse

Seems cool. Will try out

I stumbled upon a Tasker plugin from BlackDino that lets you change the Galaxy S3 LED settings. It might be a bit easier to use and gives some extra functionality.
http://forum.xda-developers.com/showthread.php?t=2117829

Related

[TUT][TASKER] Clear SMS Popup Notifications when Using Texter

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.

How to: disable USB charging

Hi,
**Ommit this**
I would like to share with you how to disable USB charging on Photon Q, which might be useful when you often connect your phone to PC just for seconds to send some music, get latest photo etc. Everybody repeat words of big companies that today's batteries can be charged freely and don't have "memory effect", but I know what I know, I had a few phones, and battery in every of them worked for days even after years with careful charging. Furthermore, 30-second charging won't give you any more power, and for sure won't heal your battery - it can only make it worse. Then, there is the trick:
**Read from now on**
There is an activity in HiddenMenu.apk that is called SprintDataUsbChargingApp (full path is com.motorola.hiddenmenuapp.SprintDataUsbChargingApp) - you have to launch it, switch "USB Charging" to "Disabled" and hit "Done".
How to achieve this? Use any of shortcut making applications in Play Store, I particularly used Minimalistic Text, as I use it for cool on screen widgets anyway and it's free (check it out!). Then set your widget/shortcut on homescreen to open an application/activity on click and choose the activity mentioned before. In Minimalistic Text you have to put a widget on homescreen, settings menu appears, choose any of presets, go to "Tap behavior" tab, tick "Start another activity" and "Select an activity or a shortcut" - then find HiddenMenu.apk in the "Activities" tab and expand it, and choose "USB Charging" in the end of the list. Don't forget to hit save button on top bar! Go to your homescreen now, click on the widget you just set up and voila, here you have the switch
Enjoy.
As I cannot delete this post, I can only strike it out and WARN you - it disables charging AT ALL!!! Be careful and switch USB charging back on before your battery dies!
Sorry for this mistake.

Is there a way to lengthen the "time on" for the lockscreens w/o entering password?

Is there a way to lengthen the "time on" for the lockscreens w/o entering password?
Title asks it all 8)
Looking to extend the awake time for the lockscreen while it's waiting for one to enter the password, unlock pattern, etc.
EDIT: Reason being - while using the Xposed Quick Access module it would be nice if the screen didn't off itself after a couple of seconds whilst I'm reading whatever info I have set for Quick Access-ability.
Thanks!
Sooo... I think I've solved this issue with a Tasker task. Tested with an n = 1 data set, but that one was a success. Looking forward to future testings to see if this works and solves the issue.
For those interested - in Tasker, I set up an app profile and triggered screen on, never timeout while that app is open / on-screen. Not the most perfect task since I'll have to actively remove the app from the screen for the phone to operate the lock function as normal, but I think it'll work for what I was hoping to do.
- Using Xposed Notification mod, I can pull down the notification menu down when I receive a new notification (an email for example).
- Or even better, using the Dynamic Notifications app I can open the email straight from the dynamic notification (similar to the function found on the Moto X for those not familiar).
- Then through the Xposed Quick Access mod, the email opens right over the lockscreen without going through the whole unlocking the phone process saving a few motions, clicks, etc.
- Then the Tasker task takes over and keeps the screen on whilst I'm reading / responding to the email, then when I delete the email and the lockscreen appears, the Tasker task ends and the screen goes back into default screen off / timeout mode.
Hopefully this will help someone else out in the future, or give someone else another idea! 8)

How to achieve Silent Mode on Lollipop [LP OB6]

Well as I was going typically crazy to get back the actual Silent mode on LP builds and wasn't able to find anything I stumbled upon this settings, and this setting I think shadows the real Silent mode. I don't know if this how its supposed to be or just a bug, but this is working for me rather well now.
Steps are extremely simple too, follows as,
1- Just make sure all the three options under priority interruptions are untouched, Events, Calls, Messages all of them (because if you enable these the device will vibrate according to the selected notifications)
2- Put the device in Vibrate mode (Sound-Vibrate)
3- Then hit on the Priority Only option in notification toggles, the bloody Green Star will show, and it will say Vibrate(Priority) under Sound tab.
4- If you use Light Manager app control LED like me then put that app under Priority mode [Settings- Device- Sounds and notifications- Application notifications- Scroll down to select Light Manager app and set as Priority] [This step is must, not optional]
5- Now go to Light Manager's Advanced settings, scroll down and you will see an option labelled as Wake Screen (Wake up screen while generating LED notification), you MUST enable/tick this option, IF you want your phone's screen to turn on on every notification. If you don't tick this option the screen won't turn on for notifications, but the LED will keep blinking nevertheless, if you do Step 4 that is.
So Step 4 and Step 5 are MUST.
Done.
Now when you receive a text message your screen will turn on and there will be no vibration, no sound (obviously, still) and even if you miss the screen turning up then the LED will keep blinking. This is how actual Silent mode works, or used to work, all along.
This is just a small video in case, https://www.youtube.com/watch?v=OYsQYV4rRiQ&feature=youtu.be
Do comment if I am wrong in anywhere above, and if it works the same for you.
Cheers,
and Respect Privacy, ALWAYS
Yeah, you mean when I play a song right? Yes, it stays like that. When you control your volume when music is being played then only media volumes are affected, so notification volumes don't change, but that's how it is for pretty long time anyway.
Nice find, no "true" silent mode was a bit annoying. Not a fan of priority mode and waiting for 5.1 to get silent mode while using this half baked silent mode that comes with 0B6 was gonna be troublesome.
OB6 has Silent mode already under the sound button.
Also, why set to Priority only, if you can set to "No interruptions", which is same as unticking all and setting to "Priority only"?
Someguyfromhell said:
OB6 has Silent mode already under the sound button.
Also, why set to Priority only, if you can set to "No interruptions", which is same as unticking all and setting to "Priority only"?
Click to expand...
Click to collapse
Yeah but that isn't "true" silent mode, screen doesn't wake on notifications and no LED.
As for no interruptions, that would make everything silent, including alarms, so that is a deal breaker for many.
Those 2 are the reason why this workaround is best for users who want "true" silent mode.
LOL it seems like I have forgotten to mention the most important step, I mean the step which causes the screen to turn on for notifications, and it has nothing to do with the firmware either, its all in the Light Manager app.
I freshly flashed a ROM, so while resetting up stuffs I understood that I have missed to mention the most important step. Added to OP as 5th point, if you don't do this step then the screen will NOT turn on for incoming texts etc., but if you do this step the screen will turn on for anything, even WhatsApp messages and all, which wasn't the case even in KitKat or previous iterations. Thanks to the dev of Light Manager app for adding this great option.

Light Manager

I have never used Light Manager before, but the idea of different colored lights for different types of notifications sounds useful. I have tried to get it to work for the past 3 days, but I can't find a combination of options that will work.
Is anyone using it successfully who might let me know what their configuration is?
I appreciate your time.
Did you remember to turn on the LED in your phone settings? You go to Settings>Notifications>Tap the gear in the upper right. Make sure you turn that switch on.
When you first open light manager it will prompt you to allow notification access which can be found under your phone's settings>apps>little gear at the top right>special access>notification access. Make sure light manager is checked. (It asks you to set that up right when you first open light manager)
After that just it should start working. Go into light manager and start setting up your colors and stuff. You can test each notification you set up (just have to make sure to turn off your screen while the test is going on)
Evo_Shift said:
Did you remember to turn on the LED in your phone settings? You go to Settings>Notifications>Tap the gear in the upper right. Make sure you turn that switch on.
When you first open light manager it will prompt you to allow notification access which can be found under your phone's settings>apps>little gear at the top right>special access>notification access. Make sure light manager is checked. (It asks you to set that up right when you first open light manager)
After that just it should start working. Go into light manager and start setting up your colors and stuff. You can test each notification you set up (just have to make sure to turn off your screen while the test is going on)
Click to expand...
Click to collapse
I just re-installed it and got the notification message, now it's working fine. I don't know how I missed it the first time through. Thanks!
I just gave this a go but ambient display kept coming on every few seconds for no reason.
mdecker79 said:
I just gave this a go but ambient display kept coming on every few seconds for no reason.
Click to expand...
Click to collapse
With light manager? That happened to me when I tried light flow but light manager has been fine.
Evo_Shift said:
With light manager? That happened to me when I tried light flow but light manager has been fine.
Click to expand...
Click to collapse
Yup. I installed the free light manager to test and as soon as I turned the screen off ambient display kept turning on every few seconds.
mdecker79 said:
Yup. I installed the free light manager to test and as soon as I turned the screen off ambient display kept turning on every few seconds.
Click to expand...
Click to collapse
This is a bug the developer is aware of. It only applies to "Alternating Mode". I switched back to normal and it stopped.
HOSer_hut said:
This is a bug the developer is aware of. It only applies to "Alternating Mode". I switched back to normal and it stopped.
Click to expand...
Click to collapse
Oh ok awesome. I didn't try that mode but will give it another try with that mode enabled.
I also had some issues with LF. My gmail functioned as it should, but I could not use sms or other apps. The developer told me how he got things to function properly. I have had no issues sense. Here is what you need to do. Just change out the app you want for notifications.
I'd recommend the following.
1. remove the contact specific notification you have set up and the standard text message notification.
2. get a text message from the contact you want specific notifications for and don't yet read it.
3. go into lightflow, notification settings and press "+" and select from all installed apps and select messenger.
4. Press "+" again and select from an outstanding notification and select the unread text message and select it and click add.
5. Find this notification and click on it (then press the pencil icon in the title to give it a meaningful name)
6. Enable the "notification person matches..." switch
7. Finally in notification settings click on the 3 lines with an arrow button at the top and drag the contact specific notification above the default messenger notification.
This is the setup I use on my 5x and 6p and pixel. It also allows you to do similar for pretty much any app or for example switch when a particular word is in a notification so it's quite customisable.
Cheers
Andrew
chazall1 said:
I also had some issues with LF. My gmail functioned as it should, but I could not use sms or other apps. The developer told me how he got things to function properly. I have had no issues sense. Here is what you need to do. Just change out the app you want for notifications.
I'd recommend the following.
1. remove the contact specific notification you have set up and the standard text message notification.
2. get a text message from the contact you want specific notifications for and don't yet read it.
3. go into lightflow, notification settings and press "+" and select from all installed apps and select messenger.
4. Press "+" again and select from an outstanding notification and select the unread text message and select it and click add.
5. Find this notification and click on it (then press the pencil icon in the title to give it a meaningful name)
6. Enable the "notification person matches..." switch
7. Finally in notification settings click on the 3 lines with an arrow button at the top and drag the contact specific notification above the default messenger notification.
This is the setup I use on my 5x and 6p and pixel. It also allows you to do similar for pretty much any app or for example switch when a particular word is in a notification so it's quite customisable.
Cheers
Andrew
Click to expand...
Click to collapse
This isn't about lightflow. This is about light manager.
lol sorry!!!

Categories

Resources