Repository navigation
Conversation
The old .NET Framework/WinForms app is removed (it remains in history). docs/PLAN.md holds the reviewed rewrite plan: a Rust core with a JSON C ABI and native UIs (SwiftUI, WinUI 3, GTK4/libadwaita). design/ holds the shared design language, tokens, icon map and a Devices screen mockup. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0117v8buDuPb1HHuxdbtPBzG
adbm-core: native ADB host-protocol client (track-devices, transport, shell v1/v2, sync LIST/STAT/SEND/RECV, reboot, connect), fastboot via platform-tools, APK manifest (AXML) reader, device registry that keeps a row per device across adb/fastboot/reboots, and a job engine with per-device fan-out, concurrency limit, progress, cancellation and routines (including the old TWRP flow as a template). adbm-ffi: seven-function C ABI with JSON messages for the Swift and C# apps, header in include/adbm.h, and a contract test that drives it the way the apps do. Tested against an in-process fake adb server and, opt-in, a real one. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0117v8buDuPb1HHuxdbtPBzG
Links adbm-core directly and pumps its events on the GLib main loop. Implements the shared design: device table with multi-select targets, state chips, inspector, empty and adb-missing states; Apps (install with drag and drop, package list, uninstall), Files (browse, push, pull, new folder, delete), Shell (per-device output), Routines (templates with file pickers), Activity (per-device progress, cancel, log) and Preferences. Uses the Bridge teal tokens in light and dark. Also: a runnable fake_adb example for UI work without hardware, per-device models in the fake server, clearer routine step titles. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0117v8buDuPb1HHuxdbtPBzG
macOS: Swift package linking the core's static library through a module map over adbm.h. Implements the design with NavigationSplitView, Table multi-select, inspector, toolbar, banners and all sections. Windows: WinUI 3 unpackaged app built in C# (no XAML markup), so the whole app type-checks on any OS. UI-independent logic lives in AdbManager.Core (bridge, models, view models) with a smoke test. scripts/check-bridges.sh runs the Swift and C# bridges against the real core and the fake adb server; CI builds all three apps on their own OS. README states what has and has not been run on each platform. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0117v8buDuPb1HHuxdbtPBzG
dotnet publish failed on the WinUI PRI resource task, which ships only with Visual Studio's MSBuild, not the .NET CLI SDK. Build with msbuild (setup-msbuild) instead, and update the README's Windows instructions to match. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0117v8buDuPb1HHuxdbtPBzG
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replaces the Windows-only WinForms app (it stays in git history) with a cross-platform desktop companion for Android devices.
What's in it
crates/adbm-core, Rust): talks the adb host protocol directly (device tracking, shell with exit codes, file sync, reboot, connect) and drivesfastboot. Reads APK manifests itself, withoutaapt. Every action runs as a cancellable job across the selected devices in parallel, with a concurrency limit and a result per device. A device that reboots keeps its row and name.crates/adbm-ffi): seven functions, JSON in and out (include/adbm.h), used by the Swift and C# apps.AdbManager.Core.design/has the design language, colour tokens (all WCAG AA), an icon map and a mockup. The reviewed plan and its trade-offs are indocs/PLAN.md.Testing
scripts/check-bridges.shruns the Swift and C# bridges against the real core.docs/screenshots/).Notes for review
dotnet buildalone is missing WinUI's resource tasks.🤖 Generated with Claude Code
https://claude.ai/code/session_0117v8buDuPb1HHuxdbtPBzG