/packages_apps_PixelParts

Parts application for pixel 6/7 series

Primary LanguageJava

example

About the app

PixelParts began as a simple High Brightness Mode (HBM) tool. Since then, it has evolved to include a detailed battery information panel, a display saturation level adjuster, charging limiter and more. The app now offers a wide range of features, transitioning from its original function as an HBM tool to a hub for device tweaks and stats on customs, with a lot more planned going forward.

Current features

Category Feature Description QS Tile Required kernel changes
Battery Battery info View various battery information N/A N/A
Start/Stop charging Start/stop charging at specific percentages N/A N/A
Display High brightness mode (HBM) Enable peak luminance. Yes N/A
Automatic HBM Enable peak luminance based on sunlight Yes N/A
Saturation Control the saturation level of the display N/A N/A
Leds Torch strength Adjust the brightness of the PixelParts flashlight QS-Tile PixelParts Flashlight QS N/A
Ui-Bench Jitter Calculate rendering jitter. N/A N/A
USB USB 2.0 fast charge Enable CDP mode for faster charging on USB 2.0 ports. Yes Commit 1/1

Including PixelParts

  • Remove HbmSVManager:

Commit 1/2 (vendor)

Commit 2/2 (device tree)

  • Clone this repository to packages/apps/PixelParts directory in your AOSP build tree:
croot && git clone https://github.com/Evolution-X-Devices/packages_apps_PixelParts packages/apps/PixelParts
  • Include the app during compilation by adding the following to device-*.mk:

Commit 1/1 (device tree)

# PixelParts
include packages/apps/PixelParts/device.mk

This line includes the device.mk file from the PixelParts repository, which will add the PixelParts application, its initialization script (init.rc), and the necessary security policies (sepolicies) to your AOSP build during compilation.

Testing changes

  • When testing new changes, it is much faster to compile the application standalone and update it manually rather than running a full AOSP build. Please note that some changes may require you to chmod 0666 sysfs nodes and set selinux to permissive. When compiling a full AOSP build, this is not needed assuming the init cmds and sepolicies have been properly configured.

Lunch your device and run the following cmd:

m PixelParts
  • This also assumes you are already running an AOSP build including PixelParts as a priv-app in /system_ext.

Screenshots

screenshots_1

screenshots_2

Credits

Work Author
Base preference fragment & CustomSeekBar preference Neobuddy89
Original AutoHBMService Hikari no Tenshi & maxwen
ShakeUtils AmeChanRain
First launch warning dialog Ramyski
Leonids particle system Plattysoft
Randomized color particle effect LorD ClockaN