Custom Android TV launcher for Sony BRAVIA / Android TV. It provides a compact app drawer, Plex widgets, Spotify controls, and a MilkDrop-style visualizer preview.
- Leanback launcher/home activity for Android TV
- Editable app grid with hidden-app preferences
- Plex continue-watching and recommendation widgets
- Spotify local media-session controls
- Full-screen Butterchurn/MilkDrop-style WebGL visualizer with Canvas fallback
- DreamService screensaver fallback using the Canvas visualizer
Private values are not committed. Copy secrets.example.properties to secrets.properties and fill in your own values:
PLEX_SERVER_URL_TV=http://YOUR_PLEX_SERVER_IP:32400
PLEX_SERVER_URL_EMULATOR=http://10.0.2.2:32400
PLEX_TOKEN=YOUR_PLEX_TOKEN
SPOTIFY_CLIENT_ID=YOUR_SPOTIFY_CLIENT_IDSpotify local media-session controls can work without the Web API client ID, but browser-based Spotify API auth needs SPOTIFY_CLIENT_ID.
Open the project in Android Studio or build from PowerShell:
$env:JAVA_HOME='C:\Program Files\Android\Android Studio\jbr'
.\gradlew.bat assembleDebugInstall to a connected TV:
adb install -r app\build\outputs\apk\debug\app-debug.apkGrant audio capture permission if testing the visualizer:
adb shell pm grant com.svjkr.sonytvlauncher android.permission.RECORD_AUDIOThe Winamp AVS/EEL interpreter can be checked locally without Android Studio:
node tools\test-avs-eel.jsScan installed Winamp AVS presets for supported effect stacks and EEL parser compatibility:
node tools\scan-avs-presets.js "C:\Program Files (x86)\Winamp\Plugins\AVS"