The check now lives once in emulator-tools. The emulator and its system image leave the list: emu installs those when it creates an AVD. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
git-manager
An Android app for reading and reviewing code on a forge from a phone: accounts, repositories, files, commits, pull requests, and above all a diff viewer and review flow that work on a small screen -- no wrapped lines, pinch to zoom, comments on a line as part of a review.
There is no server. The app talks straight to each forge's own API (Gitea first; the forge layer is kept generic so GitHub can be added).
Status: early. Accounts, the repository list, pull requests and browsing a
repository's files work (features 1 to 3 and 7 of REQUIREMENTS.md, which says
what gets built, in what order and why). The diff viewer is next; a
repository's README and commits are not built yet.
The file browser and syntax highlighter live in the app-common submodule, so
clone with --recurse-submodules.
Building and running
The app is in app/, a Kotlin + Compose Multiplatform Gradle build with a
single :androidApp module.
cd app
./run-android.sh # boot this checkout's emulator, build, install, launch
. ./android-env.sh && ./gradlew :androidApp:assembleDebug # just the APK
run-android.sh needs emu from ~/repos/emulator-tools.