Native Android app that assists MLBB Draft Mode players. Sprint 0.1 hardens the previously working Foundation: live screen capture with user consent, in a foreground service, with real-time debug preview, strict lifecycle accounting and bounded/stale-free state handling.
Maintainer-reported device smoke: Sprint 0 capture and preview were used on a physical Android device and confirmed working. Device/version details and expanded matrix results are listed in docs/TESTING_PHYSICAL_DEVICE.md as pending.**
- MediaProjection consent flow (
ActivityResultContracts.CreateScreenCaptureIntent) - Foreground service (
mediaProjectiontype) with persistent notification + Stop action - Frame acquisition at 2 FPS default, configurable 334–2000 ms (hard cap 3 FPS)
- Live frame preview in the debug screen, frame count / resolution / latency / timestamp
- Pause / resume, rotation & resize handling, clean resource teardown on stop/revoke
- Explicit
NotImplementeddetection seams — no fake results anywhere
ML hero recognition, recommendation engine, counter/synergy/role scoring, floating overlays,
API sync, player profiling, builds. See tasks/plan.md and docs/ARCHITECTURE.md.
Requires JDK 17 and Android SDK platform 35, build-tools 35.
./gradlew test # JVM unit tests
./gradlew lint # Android lint
./gradlew assembleDebug # produces app/build/outputs/apk/debug/*.apkGitHub Actions (.github/workflows/build.yml) runs exactly those steps on push/PR and uploads
the APK artifact. This authoring environment is aarch64 and the SDK's aapt2/build-tools are
x86_64-only, so no APK was assembled locally — the CI run is the build of record. See
Implementation Report in this repo's history / final message for what was and was not executed.
- Install APK on a physical device (emulator validates compile, not MediaProjection reliability).
- Tap Start Capture → grant the system screen-capture consent dialog.
- MLBB (or any app) — the debug screen shows live frames.
- Stop Capture, or the notification's Stop, or revoke consent in Settings to exercise teardown.
docs/ARCHITECTURE.md— module layout, state machine, data flowdocs/SCREEN_CAPTURE.md— MediaProjection lifecycle, Android 14+ rules, limitsdocs/DATA_SOURCES.md— Rone Arena vs MLBBDex audit (verified live 2026-11-04)docs/PRIVACY.md— consent, no-upload, game-internals rulesdocs/decisions/ADR-001-android-native.md— why native, single-module, and version pinsdocs/IMPLEMENTATION_REPORT.md— executed verification, limitations, next tasks