[Razer Phone 2 Themes, Apps, and Mods] CurtisMJ:
Reserved

Changelog:

v1.0:

- Initial release

v1.0.1:

- Improved service coordination

- Code cleanup

- Added passive effects

v1.0.2

- Bug fixes and code cleanup

- Service co-ordination improvements

v1.0.3

- Moved to Room DB for persistence

- Support libraries migrated to AndroidX

- Various threading and coordination improvements

v1.0.4

- Main service is now a proper state machine, allowing for functionality to be more easily added in future

- Notification listener caches settings in RAM for better performance and efficiency

- Various bug fixes

v1.0.5

- Tweaked microcode to be more efficient, as a result, 6 colors can now be displayed at once for app notifications.

- State machine paths improved

- Separation of concerns in state machine, allowing for more possible backends for controlling the lights (such as stock ROM system services)

- Phone ring animation! Complete with specific colors per contact!

Disclaimer:

This build contains dormant code for both the rootless mode and music visualizer, 'cause using feature branches would mean I have my life together. I'll activate them when they're stable enough to actually use.

v1.0.6

- Pocket mode! When the screen is switched off, the app will query various sensors for a few seconds afterwards and if it is determined the device is placed in a pocket or bag, the lights will be disabled, which can save battery.

- Some explanations added for the 2 toggles in the passive effect screen

- Service worker wakelock renamed to more accurately describe its source

- Code cleanup

v1.0.7

- First stable release

- New icon

- Automation integration (Tasker) first phase

- In order for automation to work, the "Allow Automation" switch must be turned on from the main drawer

- New "Roll" passive effect

- Code cleanup and optimization

v1.0.8

- Charging animation

- Various improvements to state machine

- Now asks for exemption from battery optimization

- Sped up fadeout effect

v1.0.9

- Dependency updates (newer libsuperuser)

- Added custom effects!

NOTE: Custom effect programs must be compiled with Texas Instruments' Lysti compiler which can be found on the support page of the LP5523 controller.

See my Chroma research thread on XDA for details:

https://xdaforums.com/razer-phone-2/development/research-oss-chroma-service-t3890290

v1.0.10

- Limit of 6 apps on LEDs at once has been reduced to 4 in order to generate higher quality microcode, as there was an issue with timing before which could make it unclear what color the logo is flashing

- Now uses E164 format phone numbers internally for comparison. This should make number identification for ring animation more reliable.

- Notification preference for apps now previews the color on the logo while picking

v1.0.11

- Music Visualizer! Toggle the visualizer switch in the drawer and then play some music!

Side note: I'm pretty sure this is bad for the LEDs. Use sparingly :P

v1.0.12

Now asks for recording permissions!

Also BitDefender didn't mark it as malicious! I have literally no idea!

v1.0.13

Added ability to control visualizer state from automation plugin! (Tasker, Locale)

You may wish to disable the toggle for automatic visualization state control in the main UI as this may interfere with your custom logic in your automation application of choice.