Android TV client for Emby (Kotlin, Compose for TV) and the Memby gateway (Go, Postgres, Redis) that fronts it. Client: - Setup, profiles, home rows, Media3 playback, system screensaver (Dream) - Backend chosen at build time: gateway when memby.gatewayUrl is set, otherwise direct to Emby. Both paths stay working. - Server-composed home rows, rendered verbatim so new row types ship without an app release - Full-screen animated maintenance state, row engagement telemetry Gateway: - One request per TV screen; auth, caching, search and row shaping - Library import from Emby into Postgres (manual, then hourly incremental) - Recommendations from viewing history (recency-weighted genre affinity) - Admin page for imports, an offline switch, and per-row analytics - Video always direct-plays from Emby; only metadata passes through Identity is com.ponzischeme89.memby throughout, replacing com.mattcohen.embyclientsname. A changed applicationId installs as a new app: TVs need a fresh sign-in and the old package uninstalled. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
22 lines
826 B
Properties
22 lines
826 B
Properties
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
|
|
org.gradle.parallel=true
|
|
org.gradle.caching=true
|
|
|
|
android.useAndroidX=true
|
|
android.nonTransitiveRClass=true
|
|
|
|
kotlin.code.style=official
|
|
|
|
# The Emby server every build of Memby signs in to. Users never see or type it.
|
|
# Leave blank to fall back to asking for the address on the setup screen.
|
|
# Override per-machine in ~/.gradle/gradle.properties, or per-build with
|
|
# .\gradlew.bat assembleDebug -Pmemby.serverUrl=http://10.0.0.5:8096
|
|
memby.serverUrl=https://molise.bounceme.net
|
|
|
|
# The Memby gateway container (server/). When set, the app talks to it instead of Emby
|
|
# and the address above is only used as the fallback path. Blank = talk to Emby directly.
|
|
memby.gatewayUrl=https://memby.bounceme.net
|
|
|
|
# Enabled parallel sync for Gradle 9.4+
|
|
org.gradle.tooling.parallel=true
|