Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
Thread Closed

[APP][ROOT][1.6+] ButtonLED v1.6 (05/05/13)

OP GermainZ

27th October 2012, 07:58 PM   |  #1  
GermainZ's Avatar
OP Forum Moderator / Recognized Developer / XDA Portal Team
Thanks Meter: 7,363
 
5,917 posts
Join Date:Joined: Aug 2012
More
Quote:

I'm not planning to update this app anytime soon. You can try alternatives if you want, such as Backlight & Sound Notification. Thanks.
Read the FAQ before asking questions. If you haven't read it, my only reply will be "Does the FAQ help?"

Quote:

You do NOT need a kernel with BLN support to use this app. In fact, I made this because my device has no BLN kernels.
Also, a quick note for those who are gonna read the comments: The attached MDPI/HDPI versions look fine on respective devices. The first version of ButtonLED was only available for MDPI, which should explain the first few comments.

Hey guys,

I've been fiddling around Tasker for the last few weeks and finally decided to create a fully functional app using it.
At this point, some of you will be thinking "another useless, ugly, cluttered Tasker created app that does something nobody needs".
Well, then, I'll try to prove you wrong
You do NOT need Tasker to use the app.

App Description:
ButtonLED is similar to NoLED: It allows you to have led like notifications without actually having the led light. However, NoLED uses uses your screen; ButtonLED only uses the hardware buttons' backlight (your screen stays off). It's customizable to an extent, with more to come depending on feedback and suggestions.

Features:

  • status bar notifications + missed call/unread text support;
  • pause for some user defined time on proximity (e.g. If phone is turned down, or is in your pocket);
  • turn button backlight for x seconds, then off for y seconds;
  • notification exceptions (e.g. To ignore all notification that contain "hello", add *hello* to the exception list);
  • logs;
  • should work on all devices since the user can locate the brightness file;
  • and some more (check the screenshots, install the app).

Compatibility:
It should work on all rooted devices (some devices have a kernel level limitation; read the FAQ). At the moment, you'll also need to have a proximity sensor to run it. It should work without having to do (almost) anything manually for many devices. If auto locate doesn't find anything useful, you'll have to manually locate the brightness file. Please share the results when you do that so i can improve the auto locate feature.

Running The App:
install and open the app. You should be greeted by a popup showing you a list of files. Select the most appropriate (you're looking for something that has a path such as "/sys/devices/platform/bcm21553-leds/leds/button-backlight/brightness). Once you're done, click "enable buttonled in accessibility" and do so. Come back to buttonled and tap the "test buttonled" button. If your capacitive buttons flash, you're good to go. Otherwise, you will need to select a different brightness file (use auto locate or do it manually).
You may also want to customize the options.
Some examples for the brightness file:
Code:
I'll update this list later.
Auto Locate will not follow symlinks as it can cause infinite loops or imprecise results (if it doesn't search deep enough). Usually, /sys/class/leds will have symlinks to all LEDs, backlight included. Check it out.
Screenshots (actual release is slightly different):
Click image for larger version

Name:	SC20121025-223105.png
Views:	36196
Size:	24.6 KB
ID:	1435491Click image for larger version

Name:	SC20121025-223223.png
Views:	31688
Size:	31.7 KB
ID:	1435492Click image for larger version

Name:	SC20121027-202338.png
Views:	32826
Size:	39.8 KB
ID:	1435493Click image for larger version

Name:	SC20121027-202341.png
Views:	41887
Size:	36.8 KB
ID:	1435494Click image for larger version

Name:	SC20121027-202357.png
Views:	24725
Size:	19.1 KB
ID:	1435495Click image for larger version

Name:	SC20121027-202421.png
Views:	23679
Size:	41.8 KB
ID:	1435496Click image for larger version

Name:	SC20121027-202440.png
Views:	22648
Size:	35.8 KB
ID:	1435497

Changelog:
v1.6 (05/05/13):
  • You can now ignore apps as well.
  • The battery tweak can be disabled on devices where ButtonLED was flashing the LEDs once or twice before sleeping forever.
  • You can long press log items to view the full text, for items that didn't fit.
  • Proximity sensor feature is now disabled (it wasn't working anyway due to a Tasker limitation) (the UI option is still listed as "FEATURE DISABLED"). This should have a minor but positive impact on performance/battery.
  • Minor UI changes.
  • Other minor changes.

v1.5 (24/02/13):
  • Wake locks are released while the LEDs are off and ButtonLED is waiting;
  • Sleep timer is fixed. The current value is also displayed when changing the sleep start/end times;
  • Tapping on a log entry will give you the option to add that notification to the exclusion list;
  • ButtonLED will give you the choice to install Busybox if it's not found;
  • File Browser/Auto Locate issues might be fixed for users who were having them (pressing File Browser did nothing at all even if Busybox is installed). Please try it if you were having this issue.
  • Added XHDPI version for everyone. Also added MDPI for JB/CM10 users.
v1.4 (19/01/13):
  • Manual search is now as fast as other file explorers (busybox is required);
  • Sleep start/end added (ButtonLED will not react to notifications during that time);
  • Confirmation added before removing exceptions;
  • Fixed a (rare?) issue where ButtonLED kept blinking the lights after the screen is turned on;
  • Might be more battery efficient if using higher LED Off delays, not sure. But if it is, it will be much better (more testing needed);
v1.3.1 (03/12/12):
  • ButtonLED will stop notifying you about missed calls and unread texts when you turn your screen on, instead of continuing till you view them;
  • Auto Locate will now simply search /sys for the brightness file. That means it will locate more files, across more devices. It's also faster;
  • Fixed the bug where ButtonLED would forget resuming once the battery drops below the threshold then go above it again.
v1.3 (03/11/12):
  • Stop service and exit menu option;
  • Ignore notifications if battery is lower than threshold;
  • Fixed exceptions not taking effect;
  • Changed the path auto locate looks into. Hopefully, this will make it work for more devices;
  • Two versions are now available, one for mdpi devices, the other for hdpi devices (thanks for .xxx. for testing).
v1.2 (27/10/12):
  • Rewrote most of the logic;
  • Better handling of events;
  • Less battery consumption and more accurate logs;
  • Logs now show battery percentage on processed notifications, screen on (if notifications are pending) and device shutdown, which should give users an idea about battery consumption;
  • Fixed logs showing skipped notifications as processed (e.g. Notifications that were issued with the screen turned on were skipped but shown as processed in the logs);
  • Auto Locate brightness file option (beta; need more device specific info to tweak the search);
  • Separated missed call from unread text notifications;
  • Run with higher task priority, should avoid lag (uses the renice linux shell command).
v1.1 (24/10/12):
  • Missed call/unread text notifications support;
  • Optional permanent notification;
  • Option to use flashlight instead of the hard buttons' led light;
  • Test button that will turn on and off the led/flashlight;
  • Other minor modifications and fixes.
(original beta thread)


To Do:
  • Landscape support;
  • Patterns?
  • This list is updated based on your feedback. Want to see a feature? Suggest it!

Bugs:
  • Proximity sensor doesn't have any effect;
  • This list is updated based on your feedback. Thanks for reporting any bug you find.

Downloads:
Don't forget to post your comments!
Get ButtonLED
Jelly Bean/CM10 users, get the "ButtonLED.x.x.XXXX_JB.apk".
Everyone else, download "ButtonLED.x.x.XXXX.apk".
Don't know which APK to grab? Read the FAQ for info on how to determine your resolution (MDPI, HDPI, XHDPI, ..).
You can find previous versions here.

Tasker Project:
You can get the Tasker project if you prefer, it offers the same functionality but will run inside Tasker instead of being a separate app.
You need Tasker (pre-ICS versions only) and the Holo Light IPack icon pack to use this.
Grab the appropriate project file from here.
Place the XML file in your SD Card (e.g. mnt/sdcard/tasker/projects/) and open Tasker. Long tap on an existing project (if you can't see the projects bar, disable beginner mode in Tasker's settings, then swipe down from the "projects"/"tasks"/"scenes"/"variables" bar), select "import", then tap on the file's name (e.g. buttonled.hdpi). You should see a new project appear with ButtonLED's icon. Apply the changes by tapping on the green check mark in the bottom left corner, then open Tasker again.
To open ButtonLED's configuration menu, run the task named "config".

~~~~
Last edited by GermainZ; 2nd October 2013 at 12:18 AM.
The Following 185 Users Say Thank You to GermainZ For This Useful Post: [ View ]
28th October 2012, 10:48 AM   |  #2  
GermainZ's Avatar
OP Forum Moderator / Recognized Developer / XDA Portal Team
Thanks Meter: 7,363
 
5,917 posts
Join Date:Joined: Aug 2012
More
Quote:

FAQ:

Q: It's not detecting my brightness file!
A: Apparently, if you have a kernel with BLN support, you don't have one. Otherwise, try searching manually or asking on your device's forum. And to make sure auto locate didn't miss something, you can run this in a terminal emulator (this will also expand the search so expect some weird results):

Code:
find / | grep brightness
It's worth noting that Auto Locate will not follow symlinks as it can cause infinite loops or imprecise results (if it doesn't search deep enough). Usually, /sys/class/leds will have symlinks to all LEDs, backlight included. Check it out.

Q: The test button works fine, but ButtonLED won't react to my notifications.
A: make sure ButtonLED is enabled in accessibility. Also, check ButtonLED's logs. Is it detecting the notifications? Is it reacting to them, but you fail to see it? If that's the case, try increasing the led on duration.

Q: Can i use this with application xyz (e.g. Whatsapp)?
A: if the application sends notifications, yes. ButtonLED will automatically detect them.

Q: Should i get the MDPI or HDPI APK?
A: if your device's density is ~160, get the MDPI APK. If it's ~240, download the HDPI APK. If you don't know, download an app from the market that will show you (e.g. screen resolution), or grab the MDPI APK and if it looks squished, uninstall it then install the HDPI APK.

Q: Battery usage is too high!
A: ButtonLED will hold a wakelock when it's flashing the LEDs. Configure it to ignore notifications you don't care about (turn the logs on, and use exceptions). See this post.

Q: Auto Locate/File Browser isn't working!
A: Try installing Busybox.
Also make sure ButtonLED has root permissions - check your SU app, and try to revoke permissions then give them back.
If that fails, it might be related to how Tasker checks if your device is rooted:
Quote:

Tasker decides that a device is rooted if /system/app/Superuser.apk is present and su is present in one of the directories of $PATH

Q: Test works, and the logs show that ButtonLED detects and processes my notifications, but it won't light my LEDs!
A: Check this out.

Q: Talkback is talking randomly even when I have it disabled!
A: That's a known Samsung issue. It's not related to ButtonLED.

Q: How do I ask for help?
A: What have you tried? Did you do anything covered in this FAQ but it didn't help? Have you read the last few pages of comments? If you don't answer any of these questions, I'll assume you haven't read this FAQ and my reply will be "Read the FAQ".

~~~~
Last edited by GermainZ; 3rd July 2013 at 06:23 PM.
The Following 17 Users Say Thank You to GermainZ For This Useful Post: [ View ]
28th October 2012, 09:42 PM   |  #3  
GermainZ's Avatar
OP Forum Moderator / Recognized Developer / XDA Portal Team
Thanks Meter: 7,363
 
5,917 posts
Join Date:Joined: Aug 2012
More
Reserved
Last edited by GermainZ; 25th February 2013 at 10:01 AM.
The Following 6 Users Say Thank You to GermainZ For This Useful Post: [ View ]
28th October 2012, 10:42 PM   |  #4  
joaor10's Avatar
Senior Member
Flag Porto
Thanks Meter: 19
 
109 posts
Join Date:Joined: Feb 2012
More
fantastic concept, but the lights flash all the time, without notifications, on my mother's lg p500!

i'll keep watching you for updates, and i'll be testing =)

thanks!
The Following User Says Thank You to joaor10 For This Useful Post: [ View ]
28th October 2012, 11:53 PM   |  #5  
GermainZ's Avatar
OP Forum Moderator / Recognized Developer / XDA Portal Team
Thanks Meter: 7,363
 
5,917 posts
Join Date:Joined: Aug 2012
More
Quote:
Originally Posted by joaor10

fantastic concept, but the lights flash all the time, without notifications, on my mother's lg p500!

i'll keep watching you for updates, and i'll be testing =)

thanks!

The logs should be useful in that case. Did you check them out? It might be because of another app that has a permanent notification (e.g. Tasker).

edit: did auto locate work for you? If not, where was your brightness file?
Last edited by GermainZ; 28th October 2012 at 11:56 PM.
The Following 2 Users Say Thank You to GermainZ For This Useful Post: [ View ]
29th October 2012, 02:32 PM   |  #6  
GermainZ's Avatar
OP Forum Moderator / Recognized Developer / XDA Portal Team
Thanks Meter: 7,363
 
5,917 posts
Join Date:Joined: Aug 2012
More
I just noticed the exceptions aren't taking effect (forgot a line ). It's fixed in v1.3, will upload it later.
Regarding resolutions, I'll try checking the XML files later and try adapting it to all resolutions. Don't hold your breath, tho. Worst case scenario, multiple versions will be created, one for each resolution.
If you know where a device's brightness file is located (perhaps you own it, or you just read it somewhere), please share so I can improve the auto locate feature.
Thanks.
The Following User Says Thank You to GermainZ For This Useful Post: [ View ]
29th October 2012, 09:17 PM   |  #7  
Junior Member
Thanks Meter: 0
 
3 posts
Join Date:Joined: Aug 2011
will there ever be a compatible jb version?
Last edited by Exploitlol; 29th October 2012 at 10:28 PM.
29th October 2012, 09:32 PM   |  #8  
polobunny's Avatar
Senior Member
Flag Montreal
Thanks Meter: 2,480
 
6,180 posts
Join Date:Joined: Oct 2011
More
So in other words, it's like Backlight Notification but for all phones?
https://play.google.com/store/apps/d...n.control.free
29th October 2012, 11:09 PM   |  #9  
GermainZ's Avatar
OP Forum Moderator / Recognized Developer / XDA Portal Team
Thanks Meter: 7,363
 
5,917 posts
Join Date:Joined: Aug 2012
More
Quote:
Originally Posted by Exploitlol

will there ever be a compatible jb version?

If anyone has Tasker and can generate JB APKs ("Minimum Android Version: 16" setting) without problems, I'll be happy to pass the project for them to export and send me back, after which I'll upload it.

Quote:
Originally Posted by polobunny

So in other words, it's like Backlight Notification but for all phones?
https://play.google.com/store/apps/d...n.control.free

Pretty much, although it works differently: BLN "redirects" LED notifications to the capacitive buttons, ButtonLED tries to detect all notifications.
It's more like NoLED but with capacitive buttons.
The Following 3 Users Say Thank You to GermainZ For This Useful Post: [ View ]
30th October 2012, 06:29 PM   |  #10  
AkumDX's Avatar
Senior Member
Flag Core of DesireX
Thanks Meter: 117
 
330 posts
Join Date:Joined: Aug 2012
Donate to Me
More
Thanks GermainZ...Working on my Ace-i

The Following User Says Thank You to AkumDX For This Useful Post: [ View ]
Thread Closed Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes