Skip to content

feat(system): charging status island - #424

Merged
D4vidDf merged 2 commits into
D4vidDf:dev/0_6_0from
noelpatata:feat/charging-system-island
Oct 17, 2026
Merged

D4vidDf merged 2 commits into
D4vidDf:dev/0_6_0from
noelpatata:feat/charging-system-island

Conversation

@noelpatata

@noelpatata noelpatata commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Charging island from the system islands list in #422. It works like the VPN one (owns its own notification, no source to bridge): shows while the phone is plugged in, with the percentage ring in the small island, watts + % in the big one, and "Charging · 74% · 10 W · Full in 45 min" when expanded. It goes away when unplugged, never floats on its own (HyperOS already animates the plug-in), and it's off by default under System integrations.

Watts come from CURRENT_NOW × voltage. Some kernels report mA instead of µA and the sign varies, so it tries both and hides the number if it isn't believable. Tested on my Note 15 Pro: 2 W on a laptop port, 7–11 W on the charger, and full / held at 80% / wireless / unplug via dumpsys battery. EN + ES strings, 610 tests pass.

Happy to change the layout or add a settings screen if you'd rather pick speed vs percentage, it's your call :)

🤖 Generated with Claude Code

Controller-owned island like the VPN one: follows the battery broadcast,
shows percentage, charging speed (W) and time to full while plugged in,
and goes away when unplugged. Off by default, toggled from System
integrations.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@D4vidDf

D4vidDf commented Oct 16, 2026

Copy link
Copy Markdown
Owner

We could add an option to showcase also on lockscreen following the discovery #267 (comment)

We would need to post a new notification with island property 0. But would make users appreciate the island even more.

HyperOS hides islands on the keyguard. With the new "Show on lock screen"
setting (Charging settings, off by default) the controller posts a separate
notification with islandProperty 0 while locked, which SystemUI keeps at the
cutout (D4vidDf#267). It is posted on SCREEN_ON since adding it with the screen off
leaves it hidden, and the regular island is withdrawn meanwhile because
SystemUI otherwise keeps that one first and shows nothing. On unlock they
swap back. Checked on HyperOS 3 (OS3.0.303).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@noelpatata

Copy link
Copy Markdown
Contributor Author

Done! Added a Show on lock screen toggle in the Charging settings. It posts a property 0 copy while locked and hides the normal one until unlock, otherwise HyperOS showed nothing. Works on HyperOS 3 too :)

@D4vidDf
D4vidDf merged commit f9d35f7 into D4vidDf:dev/0_6_0 Oct 17, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants