# 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.
