Skip to content

Charging: Record HyperOS 3 both-direction enforcement evidence in the ledger - #63

Closed
d4rken wants to merge 1 commit into
mainfrom
docs/hyperos3-enforcement-result
Closed

Charging: Record HyperOS 3 both-direction enforcement evidence in the ledger#63
d4rken wants to merge 1 commit into
mainfrom
docs/hyperos3-enforcement-result

Conversation

@d4rken

@d4rken d4rken commented Aug 14, 2026

Copy link
Copy Markdown
Member

What changed

No user-facing behavior change, documentation only. Records the tanzanite contributor's follow-up test run (issue #48) in the qualification ledger: external adb writes of the HyperOS 3 Battery Protection mode moved the charging hardware in both directions (write 2 below the cap held the battery at 80% for ~20 minutes, write 0 mid-hold resumed charging past 80), with the Settings UI following each write.

Technical Context

  • This answers the decisive open question for a future HyperOS 3 adapter: whether Xiaomi's charging daemon enforces externally-written key values, or only changes made through its own UI. The write path used (on-device adb shell, shell UID) is the same one Amply's Shizuku service uses.
  • The ledger entry states the evidence limits honestly: no current reading (sysfs current_now permission-denied), and dumpsys battery exposes no hardware hold signal on HyperOS 3, so a future adapter gets readback-only verification.
  • The device stays diagnostics-only. Shipping support still needs gate design (mode 2 is not HyperOS-3-wide per the marblein data point), the reviewed write-domain widening in ChargingControlUserService, absent-key semantics, and a test-build qualification run.

… ledger

The tanzanite contributor (issue #48) ran the requested protocol via
on-device adb shell (shell UID, same path as the Shizuku service):
external write of mode 2 below the cap activated Battery Protection
with the Settings UI following, the device held 80% for ~20 minutes
under active use, and writing 0 mid-hold resumed charging past 80.
This answers the daemon-enforcement-of-external-writes question for
tanzanite mode 2. No current reading (sysfs denied) and no hardware
hold signal in dumpsys, so a future adapter is readback-only.
Support still needs gate design (mode 2 is not HyperOS-3-wide),
the reviewed write-domain widening, absent-key semantics, and a
test-build qualification run.
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Aug 14, 2026
@d4rken d4rken added device support Request to add charge-control support for a device/OEM ROM: HyperOS Xiaomi / Redmi / POCO api: 36 A16 (Baklava) labels Aug 14, 2026
@d4rken

d4rken commented Aug 14, 2026

Copy link
Copy Markdown
Member Author

Folded into #64: the gate widening and the ledger evidence justifying it belong in one change. This branch's commit is merged into feat/xiaomi-hyperos3.

@d4rken d4rken closed this Aug 14, 2026
@d4rken
d4rken deleted the docs/hyperos3-enforcement-result branch August 14, 2026 08:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api: 36 A16 (Baklava) device support Request to add charge-control support for a device/OEM documentation Improvements or additions to documentation ROM: HyperOS Xiaomi / Redmi / POCO

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant