frameworks/base: Battery and Notification Lights
A reworked implementation based on code in the
commits listed further below.
Key changes from the original implementation:
*) Settings observation and most lineage lights
feature specific code has been moved to the
lineage-sdk.
*) Battery and notification frameworks services
call out to the sdk to allow our features
to make changes to lights values.
Original commits:
Author: DvTonder <david.vantonder@gmail.com>
Date: Sun Jul 15 10:28:15 2012 -0400
Framework: Port CM9 features to CM10
This commit includes:
- Power menu Reboot
- Power menu screenshot
- Profiles
- Lock screen Calendar
- Lock screen Weather
- Notification light customization
- Battery light customization
- IME Selector notification toggle
- and a few more things to support Settings
Change-Id: Ibd63116df90b06f6ce6adb8a0343059bbb999bfb
Author: Pawit Pornkitprasan <p.pawit@gmail.com>
Date: Sun Dec 8 15:24:41 2013 +0700
BatteryService: fix FC on boot until battery stat is present
updateLightsLocked() can be called from CM's added SettingsObserver
when battery stat is not present, causing an FC and a loop until
battery stat is present.
I/SystemServer( 502): Battery Service
E/System ( 502): ******************************************
E/System ( 502): ************ Failure starting core service
E/System ( 502): java.lang.NullPointerException
E/System ( 502): at com.android.server.BatteryService$Led.updateLightsLocked(BatteryService.java:735)
E/System ( 502): at com.android.server.BatteryService.updateLedPulse(BatteryService.java:709)
E/System ( 502): at com.android.server.BatteryService.access$1600(BatteryService.java:86)
E/System ( 502): at com.android.server.BatteryService$SettingsObserver.update(BatteryService.java:860)
E/System ( 502): at com.android.server.BatteryService$SettingsObserver.observe(BatteryService.java:822)
E/System ( 502): at com.android.server.BatteryService.<init>(BatteryService.java:187)
E/System ( 502): at com.android.server.ServerThread.initAndLoop(SystemServer.java:328)
E/System ( 502): at com.android.server.SystemServer.main(SystemServer.java:1309)
E/System ( 502): at java.lang.reflect.Method.invokeNative(Native Method)
E/System ( 502): at java.lang.reflect.Method.invoke(Method.java:515)
E/System ( 502): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:781)
E/System ( 502): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
E/System ( 502): at dalvik.system.NativeStart.main(Native Method)
Change-Id: Ic4438fe50e98f1aa05ae1d0d26240bf9410fd92f
Author: Sam Mortimer <sam@mortimer.me.uk>
Date: Tue Dec 31 16:22:05 2013 -0800
[2/2] Framework: instant led test
Adds support a new notification extra boolean
EXTRA_FORCE_SHOW_LIGHTS. Used by settings
notification light picker to force lights on
when the screen is on.
Change-Id: If0a42d32b28fe8c02ef5f7dd148db7eb478fac17
Author: Michael Bestas <mikeioannina@gmail.com>
Date: Mon Aug 18 04:56:28 2014 +0300
Add support for single color notification LED (1/2)
Change-Id: I367af77036da9e87c6dd0df552ce4c56d945a44d
Author: Danesh M <daneshm90@gmail.com>
Date: Thu Nov 12 10:52:11 2015 -0800
Framework : Move System settings to CMSettings
Change-Id: I4e9fb06db7b9ba05e4a7bbe11916bb2271af4727
Author: Adnan Begovic <adnan@cyngn.com>
Date: Mon Nov 9 16:26:00 2015 -0800
fw: Move battery light settings to CMSettings.
Change-Id: I28e60473356b2a9af152df82d34ad7abc9918682
Author: Steve Kondik <steve@cyngn.com>
Date: Thu Sep 24 11:27:59 2015 -0700
lights: Automatically generate an LED color for notifications
* When an app doesn't specify a color for the LED, as is the usual
case, we currently just show the default color. This is boring.
It's also a pain in the ass to manually map all your apps to
colors.
* Use our new helpers to generate this color based on the application's
icon color. Keep a cache to avoid wasting cycles.
Change-Id: I7288e52499819a6a6c75ed9d9ba7cfa1b13c5669
Author: Steve Kondik <steve@cyngn.com>
Date: Mon May 2 13:08:35 2016 -0700
nms: Only generate LED colors if the device has a multicolored LED
* Check the overlay value before doing any of this stuff.
Change-Id: Iedfceba6bfc86b2761d8af57ecab51026bfa4c19
Author: Adrian DC <radian.dc@gmail.com>
Date: Sat Oct 14 23:08:47 2017 +0200
fw: Rebrand to LineageOS and cleanup for Android Oreo
Change-Id: I21d424433bb52a17eea7974c4ea29a3a16fe1be5
Author: AdrianDC <radian.dc@gmail.com>
Date: Sat Jul 18 12:20:51 2015 +0200
Lights with Screen On [1/2]: Optional allowment of lights
Implement a setting allowing lights to be activated
for new notifications even if the screen is on.
Lights with screen on and Custom values are separated
in an advanced section for a cleaner overview.
This setting gives the user an oportunity to activate lights
with the screen on and also during DayDream screensaver.
The option is not activated by default.
Changes include :
frameworks/base
packages/Apps/Settings
Screenshot of the Settings :
http://i1285.photobucket.com/albums/a583/adriandc/Screenshot_2015-07-20-23-47-13_zpstpmemwwn.png~original
Change-Id: I2071147d8ddab80ba0e1e7310e785ac3e03b3c7c
Signed-off-by:
AdrianDC <radian.dc@gmail.com>
Author: Altaf-Mahdi <altaf.mahdi@gmail.com>
Date: Mon Aug 31 22:51:09 2015 +0100
Lights with screen on: Don't disable leds after the lockscreen
- If lights with screen on is enabled, do not disable leds
when user passes through the lockscreen.
Change-Id: If8f5b867a34be09fb061bb7ad040b16730f4e263
Signed-off-by:
AdrianDC <radian.dc@gmail.com>
Author: Michael W <baddaemon87@gmail.com>
Date: Mon Oct 9 22:04:00 2017 +0200
Core: Battery warning levels are inclusive, not exclusive
Change-Id: Ib35b154b6117f7e26b4a3a5aee9254dda3adda12
Author: Adrian DC <radian.dc@gmail.com>
Date: Sat Oct 14 23:08:47 2017 +0200
fw: Rebrand to LineageOS and cleanup for Android Oreo
Change-Id: I845f866891386aee808a4e7e80f4ab7c3ad48830
Author: Sam Mortimer <sam@mortimer.me.uk>
Date: Tue Nov 21 23:18:16 2017 -0800
frameworks/base: Improve interface to LineageNotificationLights
Change-Id: I43af52dd236e802d232a4cf96ccd6f69af6b26b7
Author: Sam Mortimer <sam@mortimer.me.uk>
Date: Wed Dec 13 11:54:23 2017 -0800
frameworks/base: prevent lights service calls when battery led does not exist
Change-Id: I9eefff1f587c978c0aa2b31d03e664dc7ccf42de
Author: Sam Mortimer <sam@mortimer.me.uk>
Date: Fri Feb 9 14:04:35 2018 -0800
frameworks/base: disable warning about mLineageBatteryLights not being ready
Change-Id: I96852f83a739924ac47260de511ddbea81465c52
Author: Luca Stefani <luca.stefani.ge1@gmail.com>
Date: Sat Jul 14 10:34:53 2018 -0700
fw/b lights: Allow black notification color
* Color 0 is used to mean "lineage-sdk should pick a default"
* Explictly requesting black made the led blue (eg lineageparts light picker), fix that
Change-Id: Ia03f898c1b6cd0f77af8bb155139b587664f47af
Author: Sam Mortimer <sam@mortimer.me.uk>
Date: Fri Feb 16 00:51:38 2018 -0800
frameworks/base lights: Let Lineage lights decide if notification led is on/off
*) Allows us to cater for the case where the notification led is turned off
and yet the user wants to adjust battery light settings (which requires
posting led notifications to illustrate the change).
Change-Id: Iea52feb907f99ecf7925aff1fc1baf008642f7d7
Author: Sam Mortimer <sam@mortimer.me.uk>
Date: Sat Feb 10 22:33:51 2018 -0800
frameworks/base lights: Always allow LineageNotificationLights set the default color
*) Oreo sdk onwards deprecates notification DEFAULT_LIGHTS. However,
LineageNotificationLights currently uses this flag to determine
if we should generate an app specific color.
*) Use a light color of 0 to indicate that the app (or channel) has not
set an explicit preference and that lineage lights should set a
default.
Change-Id: I1f655aa17cb97c5a042a424ad1e8bd9d5ddec9a2
Author: Alexander Martinz <amartinz@shiftphones.com>
Date: Tue Mar 19 19:06:11 2019 +0100
NotificationManagerService: do not use flashing API for staying always on
We allow to let the user set, that the notification light should stay
always on instead of flashing.
For that we are setting on duration to 1 and off duration to 0.
This can confuse some light HALs and/or kernel drivers.
Instead of using setFlashing, use setColor if duration is 1:0, like
we are already using for battery lights.
Change-Id: I4953592c72e0d095178757211dce2e206d8adb3c
Signed-off-by:
Alexander Martinz <amartinz@shiftphones.com>
Change-Id: I564fdb6ca6c5bbcf890afa4b9a2f9fa7bf8b9604
Loading
Please register or sign in to comment