[App] Zevele's Blinker v1.9 [22/12/2011] - HD2 Windows Mobile 6.5 Themes and Apps

version 1.9​
Hi, Following the requests here, I've wrote this application. Basically the application blinks the device LED every few seconds. The idea is to have some notification that the device is still alive. The application blinks differently depending on the status of the device.
Main features:
Including sequences for normal, low battery, no-signal, new message (Voice/SMS/MMS/EMail), Missed calls, appointments, wireless status (bluetooth and wifi), GPS status and charging level.
Almost all sequences can be configured via the settings application.
Sequences may include blinking the green and orange LEDs (in HD2 - may be configured in other devices), the keypad LED, vibration and playing a wav file.
If the radio is turned off or there is no signal, another orange blink occurs (in addition to the regular one).
When the phone is charging the orange LED lights constantly, every few seconds a sequence of green blinks according to the batter level occurs (20-40% - 1 blink, 40-60% - 2 blinks, 60-80% - 3 blinks and 80-100% - 4 blinks). If the battery is fully charged - the green led lights constantly.
Blink interval and length can be set via the registry. Different blink interval for idle mode and when notification exists (new message/missed call).
Running the link once starts the application, on blink sequence occurs. Running the link again runs the settings application from which the service can be closed.
Click to expand...
Click to collapse
Known issues
Custom LED id's are not saved to the registry in ver. 1.5.
It seems that there are some issues running "Dusk taskbar" or "SDKCERTS" along with Blinker.
Sometimes when the device is locked, the application stops working (until the device wakes up). After a soft-reset the application returns to behave as expected. I really don't know what instigates the problem or how to solve it... If anyone has a clue please leave me a message. Not solved, but might be better in ver. 1.1.
Update(16/4/2011): setting [HKCU\Software\Blinker\AllowUnattendedMode] to 0. Solved this issue for some. Also enabling "Don't suspend power" in S2U2 (under the advanced category) seems to help.
Update(14/5/2011): In ver. 1.4 a possibility to periodically wake the device, it seems that this solution might work around the issue.
gpobernardo may have found a solution to the problem.
[*]Non at the moment (I'm sure some will pop soon... )
System Requirements
.Net Compact Framework 3.5
Tested successfully on: HTC HD2 (Leo), HTC TD2 (Topaz), HTC Touch HD (Blackstone), HTC Touch2 (Mega).
But might work on other devices (please let me know if it works on other devices as well...)
ChangeLog
07/12/11 (v1.9) - from post #198
Fixed issue where service could not be started from the settings application.
07/12/11 (v1.8) - from post #196
Added GPS status support.
04/09/11 (v1.7) - from post #180
Fixed issue where Blinker halts at midnight (thanks gpobernardo).
20/08/11 (v1.6) - from post #177
Fixed issue where custom LED id's where not saved.
13/08/11 (v1.5) - from post #173
Added a notifications check when power state changes.
Added 3 more custom LEDs.
Shortcut link now point to the settings application instead of the service itself.
14/05/11 (v1.4) - from post #151
Rewrote the service project in c++ (Now the service requires significantly less memory when running).
Added ability to vibrate (see second post for further information).
Added ability to play a wav file in the sequence (see second post for further information).
Added sequences for "Appointment" and "New MMS".
Blinker now uses only the WM notification method.
Removed the "Use WM Notification" as it is no longer required.
Removed the "SMS Store" setting as it is no longer required.
Fixed issue where in lower resolution devices a scroll bar did not appear in the settings application.
Added "Advanced" tab in the settings application.
Added a "Wakeup notification" - this option will force the device to wake every couple of seconds. This should solve the "unattended issue" - but might affect the battery drain. This feature can be turned on under the "advanced" tab in the settings application.
Hibernates when no blinking is required.
Changed "AllowUnattendedMode" to "ForceUnattendedMode" and added a checkbox to control this value under the "advanced" tab.
06/04/11 (v1.3) - from post #101
Blinker can now use the notification system instead of directly check the Stores (thanks peterpan911 for the tip). This can be configured in the setting, under "Use WM Notifications".
Blinker can be configured to load on startup from the settings window.
Improved performance (thanks p50kombi)
Some minor interface improvement to the settings dialog.
10/02/11 (v1.2) - from post #77
Added possibility to set the green/orange LED id.
Added possibility to set the SMS store name.
Improved error handling in case SMS store is not found.
03/12/10 (v1.1) - from post #62
Added notifications for new message (SMS/EMail/Voice), missed calls and wireless status.
Added possibility to blink the keypad light as-well.
Added separate delay interval on new message or missed call.
Tweaked the unattended mode. The halting problem still exists, but it seems better now.
Added a configuration utility. To run it press the Blinker shortcut again (after blinker is already running).
06/11/10 (v1.0) - Initial release
Downloads
current version
Blinker V1.9
​Previous versions:
Blinker V1.8
Blinker V1.7
Blinker V1.6
Blinker V1.5
Blinker V1.4
Blinker V1.3
Blinker V1.2
Blinker V1.1
Blinker V1.0
namwollem configuration tool (mortscript is required for this tool), more info can be found here
Click to expand...
Click to collapse
Acknowledgements
NetRipper and his LeoExtendedNotifications for the code to control the keypad light.
rwt33 and Pocket PC and SmartPhone 99% .NET MAPI for the code to access the SMS repository.
Power modes (code for unattended mode) from Shake'N'Wake by zzattack
htcjordi and his LedNotifications for the code to control the HD2 LEDs (and p50kombi for reminding me about this project).
lesscro for the logo.
Any suggestions or remarks are welcome
Z.

Configuration
Configuration​
Blink Sequences
The blink sequences for the different situations can be customized. The blink sequences can be edited in the settings application under the "sequences" tab or by directly editing the correspnding registry key. A blink sequence is composed of blocks separated by comas (white space is not allowed). The following commands are allowed:
G<#> Blink the green led for a duration of # msec.
O<#> Blink the orange led for a duration of # msec.
P<#> Blink the pad light for a duration of # msec.
C<x><#> Blink a custom LED (x=a,b or c) for a duration of # msec.
Pl<WAV file> Play the specified WAV file.
V<#> Vibrate for a duration of # msec.
S<#> Sleep for a duration of # msec.
L<#> Loop over the following sequence (until the "E" block or to the end of the sequence) # times.
E Mark the end of the sequence to loop over.
example:
G100,O100,L10,G25,O25,E,S100,O100,Pl\Storage Card\My Documents\SomeFile.wav
This sequence will do the following:
Blink the green LED for 100msec, blink orange one for 100msec, then it will repeatedly (10 times) blink the green LED (25msec) and the orange LED (25msec). then it will pause for 100msec and finally turn the orange LED for 100msec. At the end it will play the file "\Storage Card\My Documents\SomeFile.wav".
Click to expand...
Click to collapse
Configuration
All the configuration can be performed via the settings application. All settings are saved to the registry, under "HKCU\Software\Blinker". The following keys are available:
ForceUnattendedMode (DWORD), (0 = Don't change anything, any non-zero value = force unattended mode), (default = 1)
Allows unattended mode (another try to solve the unattended issue).
GreenLed (DWORD), (default = 1)
The LED id to use for the green LED.
OrangeLed (DWORD), (default = 2)
The LED id to use for the orange LED.
VibrationLed (DWORD) (default = 1)
Sets the ID of the vibration LED.
CustomLed# (DWORD) (default = 0)
Allows to define 3 more LED IDs accessed as Ca, Cb and Cc from the sequences.
WakeupNotification (DWORD), (0 = off , any non-zero value = on), (default = 1)
Periodically wakeup the device (another try to solve the unattended issue).
ACNotifications (DWORD), (0 = disabled, any non-zero value = enabled), (default = 1)
Controls weather Blinker shows notifications when the device is plugged to power source.
BatteryThreshold (DWORD), (default = 50)
Sets the threshold (in percent) for the "low battery" status. When the battery level falls below this value Blinker will use the "LowBatterySequence" (see below). When the battery level is above the threshold the "NormalSequence" (see below) is used.
BlinkByNotification (DWORD), (1 = enabled, any other value = disabled) (default = 0)
Controls weather Blinker should blink according WM notifications, or should check the state of the different stores. When enabled Blinker checks the WM notifications state.
BlinkDelay (DWORD), (default = 10000)
The period between blinks (in msec).
NotificationBlinkDelay (DWORD), (default = 3000)
The period between blinks (in msec) when there's a new notification (unread message/missed call).
AppointmentSequence (STRING), (default = "P500,L4,S100,P100,E,S200")
The blink sequence (see below) to use when there is an active appointment notification.
BluetoothSequence (STRING), (default = "S100,G25")
The blink sequence (see below) to use when the bluetooth is turned on.
FullPowerSequence (STRING), (default = "O25")
The blink sequence (see below) to use when on AC power and battery is full.
GPSSequence (STRING), (default = "S100,O25,G25,O25")
The blink sequence (see below) to use when GPS receiver is turned on.
LowBatterySequence (STRING), (default = "O25")
The blink sequence (see below) to use when the battery is below the BatteryThreshold (see above).
MissedCallsSequence (STRING), (default = "P500,S200")
The blink sequence (see below) to use when after a missed call.
NewMailSequence (STRING), (default = "P500,L1,S100,P100,E,S200")
The blink sequence (see below) to use when there is an unread email message.
NewMMSSequence (STRING), (default = "P500,L2,S100,P100,E,S200")
The blink sequence (see below) to use when there is an unread MMS message.
NewSMSSequence (STRING), (default = "P500,L2,S100,P100,E,S200")
The blink sequence (see below) to use when there is an unread SMS message.
NewVoiceMessageSequence (STRING), (default = "P500,L3,S100,P100,E,S200")
The blink sequence (see below) to use when there is a new voice mail message.
NormalSequence (STRING), (default = "G25")
The blink sequence (see below) to use when the battery is above the BatteryThreshold (see above).
NoSignalSequence (STRING), (default = "S100,O25")
The blink sequence (see below) to use when there is no signal. This sequence is played after the NormalSequence/LowBatterySequence.
OffSequence (STRING), (default = "L5,O25,G25,S25,E,O500")
The blink sequence (see below) to use when the application shuts down.
OnSequence (STRING), (default = "L5,O25,G25,S25,E,G500")
The blink sequence (see below) to use when the application starts.
WifiSequence (STRING), (default = "S100,O25")
The blink sequence (see below) to use when the WIFI is turned on.
Click to expand...
Click to collapse
Z.

fantastic^^

Nice work!
Nice work chap!
I have installed it on my HD2, and so far seems to be running fine!
---------------------------------------------------
If the original author doesn't mind, I have made a small addition for those of us with Mortscript!
PLEASE NOTE: The first version I posted of this script had a small error, which wrote the registry entries as a STRING rather than a DWORD. This caused "Blinker" not to launch - due to an invalid data entry. I APOLOGISE for this - the joys of writing scripts after a long day at work. This is NOW FIXED, and tested on two different HD2s, and working fine.
View attachment Blinker.zip
This .ZIP file contains two files.....
blinker.ini -- a simple settings file that explains where (and how) to adjust the various settings for...
Notifications when connected to AC
LED colour change when battery level falls below a certain threshold %age
Time delay between "blinks"
Length of time of each "blink"
It also allows you to set the various "blink patterns" for...
Low Battery Blink Pattern
Normal Blink Pattern
No Service Pattern
Off Pattern (When "blink" is shut down)
On Pattern (When "blink" is turned on)
blinker_v1.mscr -- a script file that reads data from the .ini file, displays the settings, and writes them to the registry. It then restarts Blinker with your new settings activated!
At present I have assumed that you have installed the app into Device Memory, so you'll have to copy the two files into DEVICE/Program Files/Blinker
Have a play and see what you think!
A very big thank you to Zevele - and I hope you don't mind me making this little MOD for it already!!

Very nice program
If I turned flight-Mudus on / telephone off, another orange blink occurs (in addition to the regular one) as described
But, if there is suddenly no signal, it don't will be shown in anyway
(I simulated it with the death-grip->iPhone4
->....or there is no signal, another orange blink occurs

I have HTD HD2 with Official 1.72 WWE ROM.
I installed this cab and when I tried to launch, it crashed:
Blinker.exe
KeyNotFoundException
at
System.ThrowHelper.ThrowKeyNotFoundException()
at
System.Collections.Generic.Dictionary'1.
get_item(SequenceTypeKey)
at Blinker.CBliner..ctor()
ar Blinker.Program.Main(String args)
Any ideas?

Net Compact Framework 3.5 installed?
I have the 1.72 Vodafone, too...

Yep .net3.5 is installed.
I have checked, and I also have a large number of apps/mods that require .net3.5 to be installed, they all work.

namwollem said:
...and I hope you don't mind me making this little MOD for it already!!
Click to expand...
Click to collapse
Not at all, I'm glad that people show interest. I might add a configuration utility later, similar to the one you made.
Thanks for the mod.
kajos said:
...But, if there is suddenly no signal, it don't will be shown in anyway
(I simulated it with the death-grip->iPhone4
Click to expand...
Click to collapse
I didn't know the HD2 had a "death grip", how do you do it? I could use it to debug this feature.
hgalanos said:
I installed this cab and when I tried to launch, it crashed...
Click to expand...
Click to collapse
Is this the full log? If not, can you please post the full one. At the moment I have no idea why this error occurs, I'll need more clues to solve it...
thanks
Z.

Oops!
namwollem said:
PLEASE NOTE: The last version I posted of this script had a small error, which wrote the registry entries as a STRING rather than a DWORD. This caused "Blinker" not to launch - due to an invalid data entry. I APOLOGISE for this - the joys of writing scripts after a long day at work. This is NOW FIXED, and tested on two different HD2s, and working fine.
Click to expand...
Click to collapse
Mortscript fixed now! Please RE-DOWNLOAD from my original post.
Sorry for anyone who did used and suffered with problems!

Got it working.
I uninstalled, rebooted, reinstall, nothing. Still crashed with the erroe log I posted before.
Anyways, I decided to change my taskbar, so I uninstalled the Dusk taskbar, and SDKSert2015 (this was required for dust taskbar to work).
I rebooted.
I then reinstall 'blinker', launched, perfect. It works.
Very odd, but I don't care.
A job VERY well done, good work which is very handy and as you will see, more and more people will download and use it.
Great job, thank you.

Just though I would share the following:
I change the blink duration to '100', an the blink intervals to '5000'.
I might even change the duration to be '60'.
I found this better as you can't mistake it for an SMS, Email or missed call notification. The longer duration makes it clear that it is simply the phone being alive.
This is not criticism, simple personal taste. Without our your app, none of this would be possible.
Well done V.

hgalanos said:
Anyways, I decided to change my taskbar, so I uninstalled the Dusk taskbar, and SDKSert2015 (this was required for dust taskbar to work).
Click to expand...
Click to collapse
Dusk taskbar looks very nice, why did you ditch it? what are you using now?
I rebooted.
I then reinstall 'blinker', launched, perfect. It works.
Click to expand...
Click to collapse
I'm glad to hear that it works now...
Thanks,
Z.

Yes it is very nice, but luckily just by chance, it fixed this app.
I reverted back to what I had before dusk. Brians Black & White. The text is more legible than dusk.

hgalanos said:
I change the blink duration to '100'...
I might even change the duration to be '60'...
Click to expand...
Click to collapse
The blink duration was left by mistake... It does't affect anything... if you want to change the duration of the blink you need to edit it's sequence, if you want a blink of 60ms, change "NormalSequence" to "G60" and "LowBatterySequence" to "O60".
for detailed explanation on the configuration you can check the second post.
BTW, you can use a more complicated sequences other than just orange and green, this would make it even easier to differentiate from the normal (sms/email/missed calls) notifications...
Thanks,
Z.

zevele said:
The blink duration was left by mistake... It does't affect anything... if you want to change the duration of the blink you need to edit it's sequence, if you want a blink of 60ms, change "NormalSequence" to "G60" and "LowBatterySequence" to "O60".
for detailed explanation on the configuration you can check the second post.
BTW, you can use a more complicated sequences other than just orange and green, this would make it even easier to differentiate from the normal (sms/email/missed calls) notifications...
Thanks,
Z.
Click to expand...
Click to collapse
You are correct (of course) it did nothing when I changed it. I made changes as per post 2. Thank you.

New Version!
I have updated my mortscript so that ALL of the settings can now be changed from the .INI file!
You can now set custom "blink" patterns without having to use the registry! (I appreciate that its not a problem for most of us, but some ppl do not like to trawl thru the registry, so this makes life easier for those folks!)
Please see POST # 4 which has now been updated with a new .INI file, and a new v1.0 of the MORTSCRIPT file!
Enjoy!
And thanks again to Zevele for making this possible!

namwollem said:
I have updated my mortscript...
Click to expand...
Click to collapse
namwollem, thanks for the effort...
Z.

Fantastic addition to my phone,many thanx for this.
One question though,is there a way to have this Auto start rather than having to
go to Start menu and activating it ?

Shortcut
Marct77 said:
Fantastic addition to my phone,many thanx for this.
One question though,is there a way to have this Auto start rather than having to
go to Start menu and activating it ?
Click to expand...
Click to collapse
If you use File Explorer and COPY the executable (blinker.exe) from "PROGRAM FILES/BLINKER" and then PASTE SHORTCUT in "WINDOWS/STARTUP/" this will "autorun" the app each restart!

Related

Missed Calls and New SMS notifications on Treo 750/WM6

History:
I have the Telstra version of WM6 running on my Treo 750 (Australia)
I dont think much of the WM6 vanilla way of handling new SMSs and missed calls. At first you get a notification balloon and beep and vibrate if you set it. Fine, this happens at the initial point and then nothing - there is no follow up, no repeating and no flashing LED. The phone could be sitting in front of you and you would have no idea anyone rang at all. The settings in WM6 for missed call notifications has a 'repeat' option which is greyed out. Useful! whats the story there Palm/Microsoft ?
The next step for me was to get an add-on to give repeating alerts and tried SPB phone suite which works nice. (I wish it would incorporate the flashing LED as a selectable option). The problem then comes with double notification - with a missed call there you have to do multiple presses to acknowledge the standard windows notification and then do the phone suite thing so that the ongoing alerts stop. All in all it was a pain - albeit useful.
After digging up a number of write-ups on registry hacks here's what I worked out for WM6 on my treo;
There are two items to play with; both are in HKEY_CURRENT_USER\ControlPanel\Notifications
The two items are the long strings that start with a bracket;
{283E0018-..... for the new message, and
{A877D660-...... for the missed calls
you can rifle through all the items and look at the default entry which will give you a description of what that item is for.
not sure if these are the same for all WM6 machines.
The string to work with is 'Options' which you will find in each of these two. (You will need a registry editor, by the way, plenty of entries on how to find one)
Previous info I found suggested the options worked in a base 2 summation using;
1 - sound notifiaction
2 - vibrate
4 - LED flash
8 - Message notification
e.g if you wanted sound, vibrate & message then options would be 11 (i.e. 1+2+8)
I tried this on my Treo but it didn't work properly. The solution I was after was to turn off the windows notification so that phone suite would look after it. Whatever I used, I could not stop the windows notification coming up.
Anyway here's what I found worked:
for the missed calls I set the options to Dec 536870919 (Hex 20000007)
this gives the sound and vibrate and NO windows notification for a missed call.
For the New SMS I set options to Dec 15 (Hex F)
This gives me sound, vibrate, message but also flashing LED! I dont no why the LED part wont kick in for missed calls - maybe someone can solve that part for us.
Anyway, I'm no real wizz on different phones so dont start peppering me with why doesn't it work on my xxxxxx phone. Just passing on what I worked out.
Nice tip.
Thanks!
great tip!
it works
thank!
i suggest to download Spb Phone Suite and you will never missed a call, voicemail, Sms, ever again
How to change all the setting for all Notifications
donr said:
Previous info I found suggested the options worked in a base 2 summation using;
1 - sound notifiaction
2 - vibrate
4 - LED flash
8 - Message notification
e.g if you wanted sound, vibrate & message then options would be 11 (i.e. 1+2+8)
Click to expand...
Click to collapse
Thanks for getting me started. I mapped out all the options in the notification area.
I hatted that my brand new Sprint Touch Pro was beeping at me because of an appointment reminder and I needed to dismiss the reminder before it would quite beeping (the Repeat check box is grayed out, but selected for Reminders by default, so it couldn't be unselected). Not anymore
My phone uses MW6.1, so I have only tested these values on this.
First a list of the reminders in the Registry found in HKEY_CURRENT_USER\ControlPanel\Notifications
15F11F90… - Reminder
695F6B37… - RSS-Hub:New Item
85ee47b2… - QuickGPS
8ddf46e7… - Connection established
8ddf46e8… - Connection disconnected
A877D658… - Begin Sync
A877D658… - Beam:Autoretrieve
A877D659… - End Sysnc
A877D65A… - Messaging: New Email
A877D65B… - Messaging: New Text
A877D660… - Missed Call
A877D661… - Voice Mail
DDBD3B44… - Wireless Network Detect
There are two important keys:
AvailableOptions​Options​
The values in these keys will determine what options are avaliable (AvailableOptions) and which options are selected (Options).
The values relate to the following (in the order on the Notifications tab):
1 = Play Sound​16 = Repeat​8 = Display message on screen​4 = Flash light for ...​2 = Vibrate​
Just like donr said, you add the numbers of the notifications you desire. So if you wanted all of them selected you would put 31 in the Options key. If you only wanted a message and vibrate you would put 10.
Next step.
AvailableOptions determine which boxes are available and which are grayed out. (we will leave out Repeat until later). Options determines which are selected, and yes you can select something in Options that is not selected in AvailableOptions, it will appear as a grayed out check box that is selected.
So if AvailableOptions is set to 10 only the Display message on screen and Vibrate check boxes will be available, the rest will be grayed out. If the Options value is 14, the Play Sound will be grayed out, unselected; the Display message will be available and selected; the Flash light will be grayed out, but selected and 5 min (Duration key = 5); Vibrate will be available and selected.
So set the options you want to select and unselect using the Available Options key and use the Options key to specify which are selected. Changing the selection in the Notifications tab will change the value of the Options key, but will not change the AvailableOpions key.
The only values accepted for either are 1-15, 17, 19, 21, 23, 25, 27, 29, 31
Is is because you can't have Repeat (16) without Play sound (1), that's why there are numbers missing. I tested putting 16 in AvailableOptions and 31 in Options and all boxes were selected, but grayed out.
Now for the Repeat checkbox
Things get slightly more complicated when the Repeat box gets involved. The way the AvailableOptions values function do not change. Setting it to 15 will make each box, except the repeat box, available, with the Repeat box grayed out.
It seems that the Repeat box is governed by the Options value first and the AvailableOptions second. So setting AvailableOptions to 31 and Options to 15 would result in Repeat being unselected and grayed out.
The only way to un-gray the Repeat check box is to set AvailableOptions to 31 (it still matters) and set Options value to 1073741824 + (what you want selected).
So 1073741825 (1073741824 + 1) is only Play Sound,​while 1073741855 (1073741824 + 31) will select all of them.​
The only thing I can figure is that 1073741824 is 40000000 in HEX and that is needed to turn on access to the Repeat check box. The values added to that affect what happens to after that.
If you set AvailableOptions to 11 and Options to 107374185, all of the boxes will be checked, but Repeat and Flash light will be grayed out.
I have seen different values listed on the web, but the values I list here are what windows assigned when certain boxes were checked and unchecked. I did us one of the values I found on the web to determine 1073741824 was needed to open access to the Repeat check box.
Have fun setting your Notifications.
--Fred
It's nice to give back after gaining so much from the gifts of others.

[App] BattMonX (Droid X Battery State Monitor via LED Status)

BattMonX is a utility for the Motorola Droid X (also works for other Motorola Droid-class phones) for turning on a phone's LED indicator light (when the screen is off) to represent the battery's current state (charging, charged, discharging, or low-battery). Version 1.8 now allows a rooted Motorola Droid-class phone to have the LED on while the screen is on. This app was originally written for the Motorola Droid X whose LED indicator was not enabled during charging like many other phones do.
Additionally, for phones like the Droid X with a tri-color LED (red/green/blue), a variety of colors may be selected to differentiate the various battery states (OFF, red, green, blue, yellow, orange, deep sky blue, dark violet, dark green, and dark orange). Version 1.8 includes the color "amber" for those phones that support an amber LED indicator. Also, rooted Motorola Droid-class phones can choose "white" as a color option when used with the "LED is Always ON" experimental (and root-only) feature.
PHONE COMPATIBILITY
This app will not work on all phones. For example, the Samsung Vibrant and Captivate do not have LED indicators. Some phones only have a two-color LED (the HTC Eris and Evo 4G both have a green/amber LED; the Epic 4G supports a red/blue LED) which might allow for partial functionality from this app (especially if rooted). Additionally, its clear from testing that some phone's firmware interferes or does not fully implement the standard Android LED notification functionality identically to the Motorola Droid-class of phones.
Extensive logic has been added in version 1.7 and 1.8 in an attempt to support other phones. Version 1.8 now implements a strategy for dynamically finding a phone's battery state files (specifically the "status" and "capacity" files). Additionally, the LED notification directories are identified to determine their location and which color brightness files are supported by your phone's LED. Please contact me at [email protected] for instructions on how to provide debugging information so I can try to support your phone.
USAGE and NOTES
* Launch the BattMonX app and press the "Start Monitoring Battery Status" button. Monitoring will take place in the background and the app may be safely exited via the BACK or HOME keys.
* While monitoring is active/enabled, the app will check the battery state at a user-selectable polling interval and set the LED state as specified.
* To exit the BattMonX UI but continue monitoring, use the BACK or the HOME key--the app's service logic will continue monitoring the battery state in the background.
* To discontinue monitoring, recall or re-launch the app and press the "Stop Monitoring and Exit" button.
* Version 1.6 and higher now allows BattMonX to work alongside SMS text notifications. After viewing the text message or clearing the notification, BattMonX will resume battery state monitoring at the start of the next polling interval. Version 1.8 of the app implements a new strategy to make the app much more responsive (30 seconds or less) to SMS notifications.
* To have the app automatically monitor the battery state after a reboot, enable the "Set on Boot" option in the second menu page.
* Use the "Display Current Settings" menu item to see app's current state and settings.
* Use of the low-battery indicator is optional. If enabled however, it will take precedence over all other settings (i.e., as long as the current battery percentage full is less than or equal to the low-battery threshold, the low-battery action will be taken and used regardless of the other charging or discharging settings).
* This app does NOT require root; requires minimal permissions; uses very little CPU and system resources. Version 1.8 does include some new experimental features that require root such as the "LED Always On" feature to enable turning the LED on while the screen is on (not available on a stock Droid X).
* If you use a task killer, be sure to exclude the BattMonX app.
* You should also be aware that many phones turn OFF the LED when turning the screen on or off. The app should re-light the LED when/if appropriate at the top of the next polling interval. Additionally, Android will suspend non-system app processing when the screen is turned off. This might cause BattMonX to not be able to update the LED status while the screen is off since it (and all other apps) are not being given CPU cycles for processing. When the screen is turned back on or an SMS text message is received, the app should wake-up and resume updating the LED status as normal.
EXPERIMENTAL FEATURES
Version 1.8 brings some new experimental features to BattMonX:
- An "LED is always ON" (for rooted phones only) to light the LED while the screen is on (normally, at least for the Droid X) the LED is only display while the screen is off. This experimental feature bypasses the notification API and updates the LED notification's brightness files directly. If you use this feature with the set-on-boot option, be sure that you tell the SuperUser app to "remember" the "allow" setting so that the app will resume expected monitoring (otherwise, the app will automatically turn off the "LED is always ON" setting). Also, there is currently no "blink" functionality available when the "LED is always ON" setting is used.
- I have included an LED Color Tester to allow you to test your own phone's LED color display ability. Note: use the menu's "Current Settings" option to display which LED colors your phone supports that the app has auto-identified for you (scroll to the bottom in the "Miscellaneous" section). If your phone is not rooted, you'll have to suspend monitoring first and turn your screen off to see the results of your color test. If your phone is rooted and you've enabled the "LED is always ON" setting, you'll be able to see the results of your color test immediately while the screen is on.
- I've included an option "Locate Battery / LED Files" option to explicitly locate and display the battery state directory, LED notification directory, and supported LED colors. For non-Motorola Droid-class phones, this function is performed automatically after first install (and is not necessary (but harmless) for Motorola Droid-class phones).
PERMISSIONS
- BattMonX monitors for the receipt of SMS message notifications (android.permission.RECEIVE_SMS) for the purpose of stepping-aside when an SMS text arrives so that the SMS notification (i.e., blinking green LED) can be displayed. No actual SMS messages are read--the app only receives the SMS broadcast action.
- The app also receives a notification of when the phone has rebooted (android.permission.RECEIVE_BOOT_COMPLETED) for the purpose of restarting the battery state monitoring automatically after a reboot. You can enable or disable this feature in the menu (Preferences / Settings -> Set On Boot (checked or un-checked)).
- BattMonX uses the android.permission.WRITE_EXTERNAL_STORAGE to create a temporary file on the /sdcard containing the list of files in the /sys/devices/platform directory structure in order to automatically identify the battery state (status and capacity) and LED notification (<led-color>/brightness) files.
For screen shots and additional information, please visit https://sites.google.com/site/scaryalienware
Thanks again to everyone for their feedback and suggestions!
Please contact me at [email protected] is you have any issues, questions, comments, or suggestions. Cheers!
Screen Shots
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
QR code:
v1.3 just published: now supports set-on-boot feature!
Just a quick thread bump to let everyone know that I've updated the app to version 1.3 that now includes a set-on-boot / run-on-boot option.
Select this option via the menu (menu -> More -> Set on Boot -> select True or False).
Enjoy!
Nice app - will give it a shot
version 1.4 just uploaded to the Market
All,
Just wanted to let everyone know that v1.4 is out and includes the ability to monitor for a low-battery condition.
You can set a percentage threshold at which the LED will be turned on (or not) to a selected color and optionally have it blink.
I've also added five new colors to select from for setting the LED to the various battery states.
Here's the change log:
version 1.4:
* supported optional low-battery status indicator:
- action: none, LED on, LED blink
- threshold: 10%, 20%, 30%, or 40%
- LED color
* supported new LED colors in addition to the original red, green, blue, yellow, and OFF:
- dark orange
- orange
- dark violet
- dark green
- deep sky blue
Cheers!
Thanks! Good app!
v1.6 just uploaded: now works w/SMS text notifications
All,
Just a quick thread-bump to let everyone know about the latest release of the app: version 1.6 now works with SMS text notifications!
So now, you should be able to run the app all of the time and still get notified when a text message comes in.
The timeliness of the seeing the SMS notification is still dependent on the polling interval you are using, but app steps aside when the SMS notification comes in and then resumes when its been acknowledged (by reading the text) or cleared (by the notification pull-down's Clear button).
Please note that the app doesn't actually control the color or blinking status of the SMS text notification, my app just allows it to come in and been seen--so I cannot change its color or behavior (sorry).
I also added the option / ability to make the LEDs blink (or stay on like before) for the charging / discharging / charged state like the functionality I added for the low-battery condition in v1.4.
Anyway, I hope everyone has a safe and happy holiday!
Enjoy the app and its recent changes--I very much appreciate everyone's feedback and support!
By the way, I am going to try to move all of the configuration stuff currently in the menus to the "shared preferences" settings (that will look like the Settings configuration menu we all know and love).
I wonder if it's at all possible to notify of a possible wake lock?
Swyped from my Cyanogen Evo
cowboyboats said:
I wonder if it's at all possible to notify of a possible wake lock?
Swyped from my Cyanogen Evo
Click to expand...
Click to collapse
Wow! Thanks for melting my brain ... after reading through this (http://source.android.com/porting/power_management.html#androidPowerWakeLocks).
Didn't know too much about wake locks before this (or even afterwards, lol).
Interesting idea...not sure if I could monitor for these (there is no obvious broadcast action event that is sent-out for wake-locks that I could listen for).
Thanks for the suggestion...I'll keep this in mind for the future though.
Sorry, I was thinking if it could notify of low battery then it might be possible to add a feature that would notify high voltage discharge while screen was off. Since roms should under volt while the screen is off. Maybe a feature our something but I may not fully understand it
Swyped from my Cyanogen Evo
v1.7 just uploaded to Market (very useful fixes and improvements)
version 1.7 changes include:
- added strategy to auto-recover from Android auto-killing the app's service; should make the app much more stable and without unwanted shutdowns
- replaced multiple menu settings w/standard Settings/Preferences menu item
- dynamically determine battery status directory (I did this to see if the app would work on more phones (with mixed success); should allow for users that don't see that the app was written for the Droid X to at least see if it will work on their phone (does not appear to work on a stock HTC Evo 4G, HTC Droid Eris))
- re-instituted screen lock to portrait mode to prevent orientation change from causing FCs
- fixed integer parsing issue causing some reported crashes (probably just experienced by non-Droid X phones)
- added option for 3 minute polling-interval
- added larger range for low-battery percentage threshold
- fixed issue where LED would not blink when charging
Anyway, if you have any issues, comments, questions, etc., please contact me at [email protected].
Cheers and have a great New Year!
Is it possible to add an option so the app stops monitoring when the battery is fully charged?
Coderedpl said:
Is it possible to add an option so the app stops monitoring when the battery is fully charged?
Click to expand...
Click to collapse
Sure...but let me make sure I totally understand... Would you want to stop monitoring and exit or stop lighting the LED when charged? (I'd have to keep monitoring to see that its still charged).
By the way, are you rooted? I've been testing a version this past weekend that will light the LED while the screen is on (only for rooted phones, I'm afraid).
edit: sorry, I do see that you are rooted...cool you are going to like the next version.
I'm also testing a "Suspend" checkbox on the main screen so you can pause the display of the LED and monitoring while its checked. This is kind of a preliminary step towards being able to set a scheduled "turn off LED" time and duration (i.e., for at night when you don't want to see the LED lit).
The next version will also be much more responsive towards things like SMS/text notifications (the app won't always have to wait until the top of the next polling interval to "see" when some events like SMS messages coming in or preferences being changed--this will allow you to have longer polling-intervals without loss of functionality).
Let me know...I'm always looking for new ideas.
Cheers!
can't find it on the market any help?
shaggoth said:
can't find it on the market any help?
Click to expand...
Click to collapse
Did you use one "t" or two? It should be available since it theoretically works on 1.5 and up. Let me know if you still can't find it. Cheers!
sorry i didnt saw its just for droids (( my fault
v1.8 just published to the Market
All,
I've just published version 1.8 to the Market and updated the first post with information and screenshots... Lots of new features and improvements. Change log for 1.8 includes:
- supported new experimental features:
* ability to keep LED on while the screen is on (root only)
* support white LED color when used with the "LED is Always ON" experimental (root-only) feature/setting
- updated w/better strategy for dynamically locating battery state and LED notification files to TRY to support non-Motorola Droid phones
- added 'Suspend' feature to turn off LED and pause battery status monitoring until resumed (un-checked)
- added strategy to make app more timely/responsive to SMS text notifications and preference/setting changes
- fixed set-on-boot and charging-color preference mis-match and other minor preference/settings issues (this was causing a few folks issues...if you still have an issue, try an un-install and fresh re-install--this will clear-out the saved preferences)
- supported amber LED color in addition to the original red/green/blue LED colors (for phones that support an amber LED color)
Anyway, this version should be much more stable and responsive than the prior versions (although v1.7 was pretty solid, ).
Enjoy, and please visit https://sites.google.com/site/scaryalienware/battmonx for full details and screen shots. Shoot me an email at [email protected] for any issues, comments, questions, etc.
Cheers!
Nice app.
One small problem, running on a Milestone with CM6, every time I try to access the low battery settings, it force closes.
I've sent a crash log (using the report option when it force closes), hope it helps.
jason600 said:
Nice app.
One small problem, running on a Milestone with CM6, every time I try to access the low battery settings, it force closes.
I've sent a crash log (using the report option when it force closes), hope it helps.
Click to expand...
Click to collapse
Jason,
Thank you very much for both the feedback and the crash report (I'll take a look at it in a sec...).
You are my first Milestone user as far as I know...(cool!).
I don't have any idea what could be up wit the low-battery logic--there's nothing really special w/regard to that.... I'll get back with you as soon as I can.
Cheers!
jason600 said:
Nice app.
One small problem, running on a Milestone with CM6, every time I try to access the low battery settings, it force closes.
I've sent a crash log (using the report option when it force closes), hope it helps.
Click to expand...
Click to collapse
Jason,
I sent you a PM about the crash report--couldn't find anything that directly referenced my code, so I'm thinking that its related to the nested preference menus. Let me know about exactly what you were setting for the low-battery configuration (or if it was just launching or exiting the low-battery settings that caused the issue). If I have to, I'll move that menu option one level back/up and see if that helps (I can send you a test .apk if you are willing).
Cheers!
Thanks for the quick reply Scary Alien.
I go to preferences, click 'set led colours and action', then scroll to bottom, click 'low battery settings' and it immediately force quits.
I'll PM you me email for the .apk
Thanks

Feature Request: Blink left LED with unread sms

Hello,
i own a now a bit aged Vox as second phone.
The point is, that it DOESN'T blink with new SMS arrived!
- the led works but it simply doesn't notify my, if there's a missed SMS/Email!
Any way to fix this?
tried notif blinker from i780, just activates vibration and can't be stopped till uninstalled!
seems to be wrong LED number set by default fpr htc vox. - vibration is listed as LED in i780 too!
im on "offical 6.5"
thanks for help!
Install the AutoKeylock from maniac - it supports many notification types and you can select what shall be notified and how: http://maniac.fschreiner.de/dmdocuments/Keylock_WM5.CAB
Main purpose is to lock the device - as the name says.
There is also "Don't Forget" something specialized on notifications - but I remember it had eaten some more CPU (in early versions - may be), check for yourself: http://magazin.softimage.cz/dontforget/download/

[APP][2.1+][CPU Spy Plus][v0.5.60] CpuSpy Plus by realgpp

Hi people, I've dicided to update the app of storm717 (here) with some more features.
Some of those ideas are mine and others have been suggested by other users.
So if you'd like to add something more feel free to comment this post. Or just to say thanks
If something doesn't work write it here and I gonna try to fix it :good:
Screenshots of the app in the attachments :cyclops:
[ TO ROM DEVELOPER ] If you would like to include the app in your ROM, do it. No problem at all. The only thing I ask is you write me (PM,email) the link of your ROM. That's all
If something doesn't work, before going crazy and cursing me, my suggestions are:
1. clean the app's data from the android application menu and then check if the problem is still there.
2. If it's still there, reinstall the app, clean the app's data and check again.
If the above methods haven't resolved the problem, write it here or send me an meail to [email protected]
Due to the problems in uploading files here :silly:, I'll use my mediafire directory for now on: link to directory
GIT HERE
Changelog
0.5.60 download
(add) Non-compatible devices: deep sleep info NOW available
(add) idle states: more infos (and improved the activity core)
(add) idle states: added buttons to refresh, reset and set timers
(fix) refresh button won't delete the timer if "cable option" is disabled
(fix) other 4 bugs you reported
0.5.54 download
(fix) bug on changelog
(fix) issue on the unplugging event
(fix) update languages translation
(fix) don't delete settings on updates
code lightening
0.5.51 download
(fix) FC changing UI layout
0.5.50
(add) root read function of the time in state file (if it exists it'll be read for sure)
(add-request) "idle states" infos
(add) button long press show quick explanation
(add) sending of error reports can be disabled
(fix) better spacing of layout buttons
(fix) CN and TW strings
(fix) FC on some devices
(fix) random FC in Settings and Test activity
(fix) rare bugs in logging messages
0.5.44 download
(add) milliseconds can be showed in the state rows
(add) option to show millisecods: Preferences -> Layout Option
(add) States percentage: you can now choose the number of digits in floating point
(add) option to choose digits: 0, 1 or 2 (Preferences -> Layout Option)
(fix) some german strings
v0.5.41 download
(fix) read of TIME_IN_STATE file for some (unsupported) devices
(fix) rare android bug about swipe content on some 2.3.x devices
(fix) crash log message in Settings
(fix) crash log message in 'CPU Files'
(fix) arrow in 'unused states' header
v0.5.37 download
Added Simplified and Traditional Chinese Language
bugfix: 'deep sleep' row with timer setted
bugfix: 'set timer' function on some devices
edit:
fixed xda link in preferences
v0.5.34 download
Swipe gestures: horizontal swipe to show the most used settings
Swipe features is disabled by default
Added graphical explanation of the new feature usage (only first start)
bugfix 'current freq' function for some devices
bugfix of 'deep sleep' row with timer setted
languages bugfix
huge code improvements
v0.5.30 download
Bugfix of states update on some devices
Changelog showed on each new installation
Changelog can also be seen through settings
​Other changelogs:
0.5.29 Download
IMPORTANT NOTICE: Due to the last changes and to avoid inconsistent-wrong results, all the settings has been reset to their defaults. Sorry for the inconvenience.
Inverted behaviour of 'Deep Sleep" row: now it's activated by default. You can disable it through settings
Added option to see the current CPU frequency in the 'CPU Info' tab of main layout: enable it through 'CPU and Kernel' in settings
Improved the 'Test App' function
0.5.27 download
added german language (thanks to [user_99])
deep sleep state disabled by default (will be reversed in the next release)
now app can be moved to sd
0.5.26 Download
fixed "cable option" in settings
fixed italian language
0.5.24 DOWNLOAD
Added italian language
Added notification alert to send a report in case of error
v0.5.23 Download
simplified how the app reads files from file system. this should solve read problems on some devices
added activity "App Test", its menu item and an alert when no states are found; the test tries to execute all the file reads necessary to the app
Added 'mail 2 developer' option in settings.
Added 'XDA forum thread' in settings.
little code improvements
v0.5.21
Fixed bug on "CPU Files" activity
v0.5.20
due to some reports from my friends, all with a stock S2, I've changed how the app update the CPU Infos in the main layout.
v0.5.19 beta Donwload and source code in the attachments
Removed the connection related functions (and datas).
Changed preferences layout organization.
Added option to hide both "Cpu Info" and "Kernel Info" layouts. The hidden information are available through the "Misc Info" option when menu button is pressed.
You can now choose the percetage value to hide more states.
Changed "Disable cable events" in "Enable cable events"
Added remaining audio to preference elements
v0.5.18 beta Donwload HERE
fixed random crash related to cable (un)plugging
fixed computing the wifi values of timer section
added some more messages for a better inspection of the log file
v0.5.17 beta Donwload HERE
fixed "information" page crash
v0.5.16 beta Donwload HERE
added email contact ([email protected]) in the Information page
added more log messages to the charger handler
each new installation/update the timer and connection variables will be deleted
v0.5.15 beta Download HERE
introduced the option that let the app create a logfile
v0.5.14 beta Donwload HERE
It's possible to choose in preference the theme with buttons or the orginal one.
v0.5.13 beta Download HERE
fixed layout apparence when time_in_state file doesn't exist
fixed bug of "memory" lost (thanks to hawkerpaul)
v0.5.12 beta Download HERE
fixed behaviour on cable discharging when battery level is equals to 100%
fixed disabling of cable events
different (dis)enabling option for audio of main and preference layout. Screenshots: 1, 2
fixed bug of "memory" lost (thanks to hawkerpaul)
v0.5.11 beta
Added option in Preference to enable/disable UI sounds
Download HERE (today the upload of files doesn't work, at least for me )
v0.5.10 beta Downlaod here.
Screenshots: 1, 2, 3.
(!) changed the algorithm that reacts to charger (un)plugging (!)
restyling of UI: added 4 buttons. See "Information" for a little description of what they do. Removed the corresponding items from menu list.
added expandible menu to "Less than 1% usage states" header
added ui sounds
v0.5.03 beta
fixed wrong warning about connection values
added icons for the menu items ( not visibles on ICS ). Screenshot here.
smarter "Show/Hide 1% used stats" menu item: show only "Show <1% states" and "Hide <1% states", in respect of the relative option/status
all headers are now expandible (coming soon the option in preference to hide them)
added, at the bottom of the main layout, the header showing if "Connection Events" are activated
For a better understanding:
Changed "Disable Cable Events" preference in "Disable Charger Events"
Changed "Timer Activating Threshold" in "Minimum battery level for reset"
Changed "Cpus Files" in "CPU Files"
v0.5.02 beta
"All states <1%" can be hidden/shown by clicking the header "Time In State"
"All states <1%" can be shown on top or bottom of the bar graph through the setting in the preference.
removed submenu of "Less than 1% usage states (i.e. ecc)" because redundant.
added link to this thread in the Information View
v0.5.01 beta
added "All states <1%" row in the bar graph view indacating the total time of those freqs under the 1% of total usage. It's visible only when states<1% are hided.
added minimum cpu infos:
- "Freq range" shows the min-max freqs values your kenerl support;
- "Scaling range" shows the min-max freqs your governor is using;
- "Governor"... well you know, it shows the running governor
fixed bug of overload connection timer values (at least I hope so)
fixed strange reaction to cable events
v0.5.00 beta
drop-down arrow on the expandable line headers
corrected the "information" strings
bugfix about wifi connection timer usage (at least I hope so)
Added a warning near connection usage in case of inconsistent values
Added a "Show information" in the settings
Added a layout "information"
Comulative Previous Changelog
added connection usage stats, both "total" and "since reset" ones
it's possibile to hide this stats by clicking in the relative black header bar ( for example where it says "Total Statistics" )
added 3 more option in the settings menu:
- Disable Cable Events: if checked (un)plugging the cable doesn't affect the timer
- Disable Connection Events: if checked the app doesn't store the connection usage
- Delete Conn Vars: if clicked connection usage stats will be erased
removed the "On/Off Listen Batt Events" option menu
when phone shutdown/restart timer and connection datas are deleted
added confirmation alertbox to the "Delete Connection Datas" preference
Removed "Restart" menu option because it's not useful anymore
Added the total state time and relative %age of the "less than 1%" freqs
It's now possible to choose the min value to activate the timer when a cable is unplugged. If the threshold is 0% the timer is restored anytime the cable is unplugged.
when cable is plugged-in the timer is deleted
Added "Cpu Files" menu item to see the content of the files: time_in_state and affected_cups.
If it's say that the two files doesn't exist for the cpu1 it means that the 2nd core has been switched off and the concerning files have been deleted.
Reserved, maybe it will be useful.
tnx again!
I have test this v.0.5.02...
cable event (set to on) is not working correctly, when unplug ac the timers wasn't reset
First a repost from someone that was said on the original thread: I agree that having an option that (when enabled) turns something OFF is indeed a bit weird (or at least backwards). Having the option to turn it on (or remove the check mark to turn it off) is much more intuitive.
Second I have a few request for the Menu.
Can I assume you're on ICS and therefore don't see any icons in the menu? As you can see in the attached screen shot the icons aren't helping when looking for a certain option. Could you use some that at least vaguely reflect the usage of the entry? There are fitting standard-icons at least for 'refresh'/reload and Settings. I'd suggest a 'list'-like icon for the Cpus File and an eye for the show/hide, but read the next paragraph first.
Also related to the menu is a question of consistency. I understand why the "show/hide 1%" thingy is in the menu (as it was introduced when there were no preferences), but wouldn't it be more consistent now to move it to the preferences? I would also move the option to show the C
I also have a few suggestions for renaming various entries to make it clear what they actually do.
"Cable Events" is not very clear as there are quire a few potentially connected cables (including headphones, some have HDMI-Adapters and so on). How about "Charger (dis)connection". Can it even do anything upon plugging it in? If not I'd recommend a plain "Charger disconnection".
"Timer activation threshold" doesn't mention in any way what it actually does, even if you include the descriptive text of the entry (it does suggest that once a certain threshold is reached, something happens, which isn't the case, and it doesn't mention to what value the threshold is applied). I think it is the minimum threshold for the "Juice Lost/Time Spent" statistic. How about "Minimum battery level for reset" or something along those lines? Expand upon it in the descriptive line like "If this level was reached while charging, unplugging resets the timer and values for 'juice lost'".
"Show/Hide 1% used states" is a bit long (and I can't read the all of it as you can see from the screenshot. In case you don't move it to the preferences, could you make it "Show <1% states" and "Hide <1% states", respectively?
"Cpus Files" is also a bit weirdly capitalized. Why not just "CPU Files"? Why the 's' after 'cpu' and why not capitalize the CPU?
I have to say that I'm no entirely sure what the percentages on wifi/mobile are supposed to show. If you want to give the user a rough idea of how much power they used when they were on that is going to be a horribly skewed result, as it doesn't include the display on/off (which is of course the main power drain on pretty much any android phone).
Finally, would you consider combining "CPU Info" and "Kernel Info" in a retractable section called "Device Info" or something similar? After all, those aren't needed by everyone (or needed very rarely in general, like the kernel info) and it would be nice to be able to hide them.
Changelog v0.5.03
fixed wrong warning about connection values
added icons for the menu items ( not visibles on ICS ). Screenshot here.
smarter "Show/Hide 1% used stats" menu item: show only "Show <1% states" and "Hide <1% states", in respect of the relative option/status
all headers are now expandible (coming soon the option in preference to hide them)
added, at the bottom of the main layout, the header showing if "Connection Events" are activated
For a better understanding:
Changed "Disable Cable Events" preference in "Disable Charger Events"
Changed "Timer Activating Threshold" in "Minimum battery level for reset"
Changed "Cpus Files" in "CPU Files"
TheCreat said:
First a repost from someone that was said on the original thread: I agree that having an option that (when enabled) turns something OFF is indeed a bit weird (or at least backwards). Having the option to turn it on (or remove the check mark to turn it off) is much more intuitive.
Click to expand...
Click to collapse
I need time but it can be done.
Second I have a few request for the Menu... etc etc
I also have a few suggestions for renaming various entries to make it clear what they actually do... etc etc
Click to expand...
Click to collapse
done
I have to say that I'm no entirely sure what the percentages on wifi/mobile are supposed to show. If you want to give the user a rough idea of how much power they used when they were on that is going to be a horribly skewed result, as it doesn't include the display on/off (which is of course the main power drain on pretty much any android phone).
Click to expand...
Click to collapse
I know but it's better this than nothing at all. at least for now :angel:.
Finally, would you consider combining "CPU Info" and "Kernel Info" in a retractable section called "Device Info" or something similar? After all, those aren't needed by everyone (or needed very rarely in general, like the kernel info) and it would be nice to be able to hide them.
Click to expand...
Click to collapse
Added in the TODO list, let's say so
Wow, very good and very fast
Thank you very much!
Tnx you.
Up to now I haven' t plug the ac
So i install this new version
I'm still getting problems with these timers not resetting I'm afraid. Seems to be very hit or miss if they reset or not.
I think it all needs simplifying:
Have a tick box to reset timers on any charger connect/ disconnect. Don't bother with thresholds. You either want the timers to reset automatically or not, so just keep a single tick box to do all this for you, to set this on/off.
hawkerpaul said:
I'm still getting problems with these timers not resetting I'm afraid. Seems to be very hit or miss if they reset or not.
I think it all needs simplifying:
Have a tick box to reset timers on any charger connect/ disconnect. Don't bother with thresholds. You either want the timers to reset automatically or not, so just keep a single tick box to do all this for you, to set this on/off.
Click to expand...
Click to collapse
It works for me with the setting in the attached screenshot. I had once in an update or two back where it did not work. I checked and unchecked the two check boxes and that resolved it.
La test version same problem timers doesn t reset
ironia. said:
La test version same problem timers doesn t reset
Click to expand...
Click to collapse
Try checking the boxes, back key to the main screen, menu, settings, uncheck the boxes, back button to the main screen. Exit the app and try it when you need to charge.
Hope that helps.
This is better! I like it..
Sent from my LG-P500 using xda premium
I hope you all like the ui changes.
Besides I've changed the algorithm that reacts to charger (un)plugging. I hope it works for everyone now.
Here you are.
Downlaod here.
Changelog
v0.5.10 beta
(!) changed the algorithm that reacts to charger (un)plugging (!)
restyling of UI: added 4 buttons. See "Information" for a little description of what they do. Removed the corresponding items from menu list.
added expandible menu to "Less than 1% usage states" header
added ui sounds
Screenshots:
http://i48.tinypic.com/a138so.png
http://i47.tinypic.com/178lf7.png
Meaning of buttons in the Information page
http://i47.tinypic.com/11tn81i.png
404 - Not Found
With v0.5.10 beta :'(
Ciolouse said:
404 - Not Found
With v0.5.10 beta :'(
Click to expand...
Click to collapse
Yeah
Wait a minute please so I upload it on mediafire
Ciolouse said:
404 - Not Found
With v0.5.10 beta :'(
Click to expand...
Click to collapse
+1
I've uploaded the previous post with the link to version 0.5.10 and screeshots.
Pkt_Lnt said:
Try checking the boxes, back key to the main screen, menu, settings, uncheck the boxes, back button to the main screen. Exit the app and try it when you need to charge.
Hope that helps.
Click to expand...
Click to collapse
tnx , this way is working
Is it possible to mute the ui sounds in the newest version?
Thanks a lot!
Skysurfer77 said:
Is it possible to mute the click sound in the newest version?
Click to expand...
Click to collapse
yeah, sure.
The new design...could you describe what which icon does?
Thanks a lot!
Click to expand...
Click to collapse
Meaning of buttons in the Information page
http://i47.tinypic.com/11tn81i.png

[Guide] Turn off notification light at night *Requires Root and Tasker*

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

Categories

Resources