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

Status
Not open for further replies.
Search This thread
S

shadowch31

Guest
Deleted as read above.

By the way working great on my HTC One S thanks.
 
Last edited:

GermainZ

Inactive Recognized Developer / Retired Forum Mod
Aug 3, 2012
6,170
8,805

k1llacanon

Senior Member
Jun 3, 2012
1,268
177
Does the test button work? If not, you haven't located the brightness file.

Either way, which device and ROM are you using?

I've got it working now but how come once u unlock the phone... Don't open text message then lock the phone the lights stop flashing but notification light is still working

--------------
If you are new to xda please watch this video it'll help you out :))
https://www.youtube.com/watch?v=JmvCpR45LKA&feature=youtube_gdata_player
 

GermainZ

Inactive Recognized Developer / Retired Forum Mod
Aug 3, 2012
6,170
8,805
How did you create the app? please make a tutorial, maybe other users are interested too.
THX

I'll try making a tutorial in one or two weeks, once I'm done with the exams.
My last Tasker tutorial, despite being quite detailed, didn't really go that well (it barely got one comment if you exclude my own), so all I ask in return is for you to post some feedback. ;)

I've got it working now but how come once u unlock the phone... Don't open text message then lock the phone the lights stop flashing but notification light is still working
For unread texts/missed calls, ButtonLED checks if there are any and flashes your phone's lights, no matter if you turned the screen on or not. You must open the text/call log for them to be marked as seen, making ButtonLED stop.
For normal notifications, turning the screen on is enough.
I actually preferred this behavior and didn't bother changing it. If you guys find it would be best if it acted like normal notifications, let me know. :)
 

GermainZ

Inactive Recognized Developer / Retired Forum Mod
Aug 3, 2012
6,170
8,805
Yeah I'd prefer if it acted like a normal notification how long would it take to adjust though if too long don't worry about It

--------------
If you are new to xda please watch this video it'll help you out :))
https://www.youtube.com/watch?v=JmvCpR45LKA&feature=youtube_gdata_player

It's bound to introduce some bugs as there is no way to clearly identify an unread text event. Instead it's a state, so I'll need to compare notifications' titles which could sometimes fail as they're not always the most precise (e.g. you get one unread text from "Dude" and turn on your screen; if at that point, ButtonLED pauses, and "Dude" send you another text you don't read, ButtonLED won't detect it as a new unread text).

I could probably get around it tho, using a combination of the "Received Text" event, the "Unread Text" state and some simple flags.

That was the hard part. Implementing it shouldn't take more than a few minutes. Thanks for the suggestion, keep them coming! :D
Don't expect a release before my exams are over, tho (that would be in two weeks). I might do it, but don't expect it.
 

k1llacanon

Senior Member
Jun 3, 2012
1,268
177

GermainZ

Inactive Recognized Developer / Retired Forum Mod
Aug 3, 2012
6,170
8,805
Actually could u make it like the notifications light where when u lock the screen it will still blink because it really doesn't work with whatsapp very well

--------------
If you are new to xda please watch this video it'll help you out :))
https://www.youtube.com/watch?v=JmvCpR45LKA&feature=youtube_gdata_player

You mean that ButtonLED will keep blinking as long as you didn't look at your whatsapp notification?
That's impossible because of android limitations (apps can't detect which notifications have been clicked unless the notifications are issued by them).
 

GermainZ

Inactive Recognized Developer / Retired Forum Mod
Aug 3, 2012
6,170
8,805
Can't u make it work exactly like the notification light?

--------------
If you are new to xda please watch this video it'll help you out :))
https://www.youtube.com/watch?v=JmvCpR45LKA&feature=youtube_gdata_player

It's only possible with a modified kernel that supports BLN and there's already an app if you have that.

It's impossible for an app to detect when a notification has been clicked / cleared (unless that particular notification has been sent by that app).
 

k1llacanon

Senior Member
Jun 3, 2012
1,268
177
It's only possible with a modified kernel that supports BLN and there's already an app if you have that.

It's impossible for an app to detect when a notification has been clicked / cleared (unless that particular notification has been sent by that app).

Argh there isn't a bln kernal for one S is there?

--------------
If you are new to xda please watch this video it'll help you out :))
https://www.youtube.com/watch?v=JmvCpR45LKA&feature=youtube_gdata_player
 

tehjesus

Member
Oct 14, 2012
7
0
Has anyone mentioned that on a stock Tmobile HTC One S rooted/unlocked, installing the apk then enabling ButtonLED in settings kills Google text to speech engine somehow, causing it to forever force close? Uninstalling and then using titanium to restore doesn't fix it either.

I've literally been restoring from recovery, check TTS works, install, check tts is broken. Any clues?
 

GermainZ

Inactive Recognized Developer / Retired Forum Mod
Aug 3, 2012
6,170
8,805
Has anyone mentioned that on a stock Tmobile HTC One S rooted/unlocked, installing the apk then enabling ButtonLED in settings kills Google text to speech engine somehow, causing it to forever force close? Uninstalling and then using titanium to restore doesn't fix it either.

I've literally been restoring from recovery, check TTS works, install, check tts is broken. Any clues?

No idea, and seeing that I didn't develop this in Java, I can't really do anything. I might actually reprogram it in Java without using Tasker, but I'll have to learn Java first (which shouldn't take that long considering I know C++; but time is a problem).
It's probably a Google/Tasker bug. Does Tasker also cause this? Do other Accessibility apps cause the same issues? Also, do the logcats show something useful?
 
Status
Not open for further replies.

Top Liked Posts

  • There are no posts matching your filters.
  • 183
    I'm not planning to update this app anytime soon. You can try alternatives if you want, such as Backlight & Sound Notification. Thanks. :D
    Read the FAQ before asking questions. If you haven't read it, my only reply will be "Does the FAQ help?"
    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):
    SC20121025-223105.pngSC20121025-223223.pngSC20121027-202338.pngSC20121027-202341.pngSC20121027-202357.pngSC20121027-202421.pngSC20121027-202440.png

    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".
    ~~~~
    17
    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:
    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".
    ~~~~
    5
    Ah, thanks for the hint! Maybe that is my problem: I thought it would only notify me about missed calls (and messages if on), but in fact it is turned on with every single task (even if it's without notification). So I use LUX for brightness control and ButtonLED reacted with the lux brightness check (stupid, but lux does this check even if the screen is off, can only be seen in ButtonLED logs... :silly: )... I now configured it as exception, hope it will help battery drain :)

    How can i configure sleep hours? Can't find this option in ButtonLED...
    It's not implemented yet. I just finished adding it and trying to test it for a bit.

    1.3.1 hdpi is working without issue on my HTC EVO 4G LTE, running super jelly 4.1.2 jb. This is pretty awesome!

    Sent from my HTC EVO LTE
    Just to know, are you using the normal APK or the one posted in the beginning of the post?

    This app is incredibly useful and i could uninstall all my other apps , but not this one .
    it runs perfect on my Galaxy gio AOSP ics
    All :good: for you
    Glad you like it :D



    V1.4 Current Changes (just a teaser; I'll try uploading it in the next few hours):
    • Manual search is as fast as other file explorers now; busybox must be installed.
    • Sleep start/end added (ButtonLED will not react to notifications during that time).
    • Confirmation added before removing exceptions.
    • Sometimes ButtonLED used to keep blinking the lights after the screen is turned on. Fixed.

    I tried focusing on urgent issues.
    4
    Added v1.5. Changelog:
    • 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.

    I've updated the FAQ as well, regarding Accessibility/Talkback issues.
    Also, APKs are now uploaded to dropbox because I've reached the file number limit on XDA. :D

    For those who were having issues with ButtonLED never waking up again, I'm not sure why that's happening. I'll try to look into it. Meanwhile, an easy fix would be to grab the Tasker project, and edit the "Wait" task (tap the Preferences icon, then "Keep Device Awake").