blastoise/android/BlastoiseNative
peterino2 25d37ec9dd kotlin based android app 2026-06-03 19:40:03 -07:00
..
app kotlin based android app 2026-06-03 19:40:03 -07:00
gradle/wrapper kotlin based android app 2026-06-03 19:40:03 -07:00
.gitignore kotlin based android app 2026-06-03 19:40:03 -07:00
DESIGN.md kotlin based android app 2026-06-03 19:40:03 -07:00
README.md kotlin based android app 2026-06-03 19:40:03 -07:00
build.gradle.kts kotlin based android app 2026-06-03 19:40:03 -07:00
gradle.properties kotlin based android app 2026-06-03 19:40:03 -07:00
gradlew kotlin based android app 2026-06-03 19:40:03 -07:00
gradlew.bat kotlin based android app 2026-06-03 19:40:03 -07:00
settings.gradle.kts kotlin based android app 2026-06-03 19:40:03 -07:00

README.md

Blastoise Native Android

Native Kotlin listener app for the Blastoise/MusicRoom server.

Build

From this directory:

gradlew.bat :app:assembleDebug

The debug APK is written to:

app\build\outputs\apk\debug\app-debug.apk

Run

Use the root Android helper:

..\run.bat

Or install manually:

gradlew.bat :app:installDebug
adb shell am start -n com.peterino.blastoise/.MainActivity

MVP scope

  • Defaults to http://mhsgroove.peterino.com:3001 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.