[Streak 5 Android Development] watch_mania:
BLINKING BUTTON NOTIFICATION for 354, 360, and GS2.4b3 Dell Streak ROMs

UPDATE (2011/10/20) v0.999

Uploaded blinking button notification patch version 0.999, for ROM 354, 360, and GingerStreak 2.4 beta 3. Drop support for ODEX-ed ROMs as it seems impossible to update with ODEX-ed framework on ROM 354.

Download the correct version for your ROM below:

Update.zip v0.999 for DEODEX-ed ROM 354 and 360

Update.zip v0.999a for GingerStreak 2.4 beta 3

UPDATE: Confirmed working as tested by zero410

Changelog (0.999)

- Fixed screen turned on during LED blinking. Screen will never turn on neither lit when blinking the notification! :cool:

- The 3 capacitive buttons cannot be used to stop notification anymore. The phone needs to be unlocked with power button to do so.

- Prevent button LED blinking on proximity sensor activation during phone calls.

PS: The most ideal, elegant, and power-friendly solution for enabling backlight buttons for use on notificaiton LEDs are, still, loadable kernel modules. The patch will never reaches version 1.0, unless it is implemented as kernel module, in the future.

UPDATE (2011/10/16) v0.91

Uploaded blinking button notification patch version 0.91, for GingerStreak 2.4 beta 3.

Changelog (0.91)

- Fixed blinking to disable when USB is connected between 8:00 PM to 4:00 AM.

The feature wasn't working before.

ORIGINAL POST v0.9

What is it?

I would like to have a notification LEDs like the ones found on BBs. Unfortunately, Streak didn't came with any (hardware) notification light. I've tried several notification solutions but still not satisfied. Heck, I'm not even satisfied on how Froyo handles notification LEDs! Hence breaking in the Android framework, and the resulting update.zip :)

This update will patch your Streak so it will now blinks the button(s) backlights whenever an application puts *any* notification icon on the status bar. That's right, the patch won't care whether notification asks for light or not. It'll just blink it! The update also (of course, priority requirements!) notifies and blinks missed calls.

How to use

0) Always do nandroid backups! You can just restore the system image if anything goes wrong.

1) You'll need to know whether your ROM version 360 is deodexed or not. If you don't, then most often it's the odexed stock ones. Grab the correct update patch in the attachments.

2) My Streak is rooted. But there is no requirements for root privileges on the updates. So I think it should work on non-rooted phone. Hopefully.

3) Clear /data/dalvik-cache contents before flashing. Sometimes it needs clearing, but sometimes it don't :(

4) Boot into StreakMod and flash the proper Update.zip package.

5) Restart. As usual, on deodexed systems, replacing files will cause some longer boot time as the update is odex-ed during the boot process. Be patience.

6) Lock the screen, let the screen timeout, or whatever.

7) Get notified on any notification icons and missed calls :)

8) Congrats! You can now busy playing with your (better) other phones and keep Streak laying on the desk without even touching it! :D

Features

+ Blinking keypad backlight notification for any applications that provides notifications with icon when the screen is turned off.

+ Missed call notifications, too.

+ One-press power button to clear blinks. You can use any of the three capacitive button, also. Cool!

+ Blinking is disabled when ringer is in vibrate mode. Useful when Streak is in your pocket and blinking it would be useless.

+ Automatically disables blinking when charger is plugged in, after 8:00 PM and before 4:00 AM. Useful when you wanted to hibernate, together with your phone, you phone! :confused:

It should be able to be re-enabled manually through notification icon, but unfortunately the feature isn't working (yet!)

TODOs and glitches

- LCD blinks before the first blink, and keeps awake -- albeit with zero brightness -- while blinking. Cannot solve without custom kernel (or custom drivers?)

- Tapping the notification for "Button blinking disabled" does not clears the notification nor re-enable blinking.

Somehow I can't capture the Intent sent from NotificationManagerService itself. Oh well, probably will be important for people who works midnight and slept in the afternoon!

- Inconsistent behaviour on clearing missed calls notification and other notification types.

If you did not answer call while LCD screen is on, next lock screen will cause missed calls notifications blinking. The notification on the status bar had to be cleared before locking the screen.

- It is not known how much battery drain does leaving the phone blinking all the time costs!

- Can't imagine doing all over again on this on Galaxy Note. Maybe I'll just skip that!

Happy blinking! :D