# SyncGames Android (Kotlin + Compose) Light UI for Path 3 session ops against MinIO over Cloudflare HTTPS. ## Features - Settings (endpoint, keys in EncryptedSharedPreferences, device id, games JSON) - Game list → Start / End / Status / History / Restore - Doctor probe (PUT/GET/DELETE) to validate NGINX/Cloudflare - Implements the same protocol as the Python agent (`docs/protocol.md`) ## Build Open `android/` in Android Studio, sync Gradle, run on a device/emulator. ```bash cd android ./gradlew :app:assembleDebug # after generating the Gradle wrapper in Android Studio once ``` Sideload `app/build/outputs/apk/debug/app-debug.apk`. ## First-run config 1. Settings → set `https://syncgames-s3.` 2. MinIO access/secret keys 3. `device_id` e.g. `phone-android` 4. Edit games JSON `nativePath` to the absolute Eden/Yuzu save folder on the device ## Note on Storage Access Framework v1 accepts absolute paths in games JSON for devices where the save tree is readable. A SAF folder picker can be added without changing the protocol layer.