Skip to content

Phone page: the phone in Android, with Fastboot Studio Companion - #19

Merged
ifoknr merged 10 commits into
masterfrom
phone-page
Oct 11, 2026
Merged

ifoknr merged 10 commits into
masterfrom
phone-page

Conversation

@ifoknr

@ifoknr ifoknr commented Oct 11, 2026

Copy link
Copy Markdown
Owner

A new Phone page (under Device), built from the mockup in the Companion handoff.

Without root (one adb shell command): model, chip, Android/SDK, patch level, slot (A/B, dynamic), battery health and cycles, kernel and KMI, bootloader state, SELinux, AVB from the properties, and the Companion's backups in /sdcard/FastbootStudio/Backups.

With Fastboot Studio Companion (through su, fbs info + fbs modules):

  • the module's version (Beta badge)
  • the AVB state as the bootloader reported it, with a warning when a hiding module changed ro.boot.verifiedbootstate
  • the root manager and storage wear
  • every conflict between modules: the same file, a replaced folder, a property set twice

Without the module, the page explains what it adds and links to it. If root is refused, it offers a retry.

Backups: each backup shows its kind (full, critical or boot, from its file names), size and date. Copy and verify pulls a backup into the Backup page's folder without root, then checks it against SHA256SUMS.

Header: reboot to bootloader, fastbootd or recovery.

Tests and screenshots

  • Core: PhoneReport with 18 tests, written against real fbs output from the Companion's test phone. One test runs the actual shell command in sh.
  • FakeAdb plays the module for the screenshot run. That run:
    • captures the page with the Companion;
    • copies the boot backup and checks its hashes;
    • captures the page without the module;
    • captures the Arabic and light-theme pages.

🤖 Generated with Claude Code

https://claude.ai/code/session_018ZnrQUTw6hd6BgdooEqhkR


Generated by Claude Code

claude and others added 10 commits October 11, 2026 11:47
A new page reads a phone running Android over adb while it is open: model,
chip, Android, patch level, slot, battery, kernel and KMI, bootloader state,
SELinux and AVB, without root. With the Companion module installed it asks
fbs info and fbs modules through su and shows the bootloader's own AVB state
(pointing out a hiding module that changed the property), the root manager,
storage wear and every conflict between modules; without it the page says
what the module adds and links to it.

The Companion's backups in /sdcard/FastbootStudio/Backups are listed with
their kind, size and date, and one click copies a backup to the Backup page's
folder and checks it against SHA256SUMS. Reboot to bootloader, fastbootd or
recovery from the header.

PhoneReport (Core) parses both reads and is tested against the Companion's
own test phone output; FakeAdb plays the module for the screenshot run, which
copies and checks a backup and captures the page with and without the module,
in Arabic and in the light theme.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ZnrQUTw6hd6BgdooEqhkR
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ZnrQUTw6hd6BgdooEqhkR
On a small window (the CI runner's 1024x720) the three cards left the
backups table about 100 px, and the list only creates the rows it shows.
The page now scrolls as a whole, the table holds every backup, and the
mouse wheel over the table scrolls the page.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ZnrQUTw6hd6BgdooEqhkR
At 1024 px the three cards were about 230 px wide: titles hid under their
chips and kernel strings broke over four lines. Below about 1100 px of page
the Companion card now goes across the page under the other two, card titles
wrap, and the backups header puts its chips and buttons under the title.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ZnrQUTw6hd6BgdooEqhkR
A value with Arabic words in it (battery, slot, storage) keeps the page's
direction and font instead of being forced left to right, and the backups
table fits a 1024 px window without scrolling sideways.

Version 2.5.0, with its changelog and the README notes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ZnrQUTw6hd6BgdooEqhkR
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ZnrQUTw6hd6BgdooEqhkR
@ifoknr
ifoknr merged commit e8b8578 into master Oct 11, 2026
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