Session-gated MinIO save sync with AppImage GUI, CLI edit/session flow, and Gitea release helper. Co-authored-by: Cursor <[email protected]>
33 lines
1.0 KiB
Markdown
33 lines
1.0 KiB
Markdown
# 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.<your-domain>`
|
|
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.
|