stremio/apps/android-tv
Jos Vooges | STH 04d6a38234 Tighten TV back navigation, continue-watching actions, and detail focus.
Long-press continue items to mark watched or hide, scroll-back before exit, confirm quit on home, and focus Play by default.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 00:25:43 +02:00
..
app Tighten TV back navigation, continue-watching actions, and detail focus. 2026-09-01 00:25:43 +02:00
gradle/wrapper Add viewer accounts, device linking, and Android TV client foundation. 2026-08-31 01:12:06 +02:00
.gitignore Add viewer accounts, device linking, and Android TV client foundation. 2026-08-31 01:12:06 +02:00
build.gradle.kts Rename to VMC and polish TV nav, spotlight, Netflix player. 2026-08-31 22:18:37 +02:00
gradle.properties Make VMC icon and TV banner high-contrast red for Shield. 2026-08-31 23:14:28 +02:00
gradlew Add viewer accounts, device linking, and Android TV client foundation. 2026-08-31 01:12:06 +02:00
gradlew.bat Add viewer accounts, device linking, and Android TV client foundation. 2026-08-31 01:12:06 +02:00
README.md Add viewer accounts, device linking, and Android TV client foundation. 2026-08-31 01:12:06 +02:00
settings.gradle.kts Rename to VMC and polish TV nav, spotlight, Netflix player. 2026-08-31 22:18:37 +02:00

Media Cluster — Android TV / phone client

Native client for the private Media Cluster (alternative to Stremio).

Features (v0.1)

  • Device linking via short code + /link page
  • Home with Verder kijken + configurable shelves
  • Detail → ExoPlayer direct play (no transcoding)
  • Progress sync to master
  • Shelf visibility / order per viewer

Setup

  1. Open apps/android-tv in Android Studio.
  2. Set DEFAULT_API_BASE in app/build.gradle.kts if needed (default https://master.vonas.nl).
  3. On master, set CLIENT_LINK_BASE_URL to your admin UI origin (e.g. https://admin.vonas.nl) so the TV shows the right link URL.
  4. Run migration 20260831010000_viewer_client.
  5. Admin → Kijkers → create a viewer account.
  6. Install APK on TV → enter code at /link.

API used

  • POST /api/v1/client/device/code
  • GET /api/v1/client/device/poll
  • POST /api/v1/link/claim
  • GET /api/v1/client/home
  • POST /api/v1/client/play
  • POST /api/v1/client/progress
  • GET|PUT /api/v1/client/shelves/prefs