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.
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.
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.
- 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);
- should work on all devices since the user can locate the brightness file;
- and some more (check the screenshots, install the app).
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:
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.
- 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.
- 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.
- 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);
- 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.
- 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).
- 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).
- 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.
- Landscape support;
- This list is updated based on your feedback. Want to see a feature? Suggest it!
- Proximity sensor doesn't have any effect;
- This list is updated based on your feedback. Thanks for reporting any bug you find.
Don't forget to post your comments!
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.
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".