46 lines
1.0 KiB
Markdown
46 lines
1.0 KiB
Markdown
# Blastoise Native Android
|
|
|
|
Native Kotlin listener app for the Blastoise/MusicRoom server.
|
|
|
|
## Build
|
|
|
|
From this directory:
|
|
|
|
```bat
|
|
gradlew.bat :app:assembleDebug
|
|
```
|
|
|
|
The debug APK is written to:
|
|
|
|
```text
|
|
app\build\outputs\apk\debug\app-debug.apk
|
|
```
|
|
|
|
## Run
|
|
|
|
Use the root Android helper:
|
|
|
|
```bat
|
|
..\run.bat
|
|
```
|
|
|
|
Or install manually:
|
|
|
|
```bat
|
|
gradlew.bat :app:installDebug
|
|
adb shell am start -n com.peterino.blastoise/.MainActivity
|
|
```
|
|
|
|
## MVP scope
|
|
|
|
- Defaults to `https://tunes.peterino.com/` and auto-connects on launch.
|
|
- Saves a server URL locally.
|
|
- Uses `/api/channels` to establish an authenticated or guest session.
|
|
- Supports `/api/auth/login` for named users.
|
|
- Connects to `/api/channels/:id/ws`.
|
|
- Plays `/api/tracks/:id` through AndroidX Media3.
|
|
- Corrects playback drift when the server timestamp differs by 2 seconds or more.
|
|
- Shows channel switching, queue preview, sync health, drift, session state, and recent WebSocket events on the main screen.
|
|
|
|
Offline track caching is intentionally not included yet.
|