How achar0/tv-vibehack works
tv-vibehack combines a native Android TV launcher with host-side tools for inspecting and managing TV packages. In the launcher workflow, the TV user enters the home screen, which assembles the app dock and Stremio shelf; the user can then navigate overlays, launch apps, and adjust ambient presentation. Separately, an operator connects from a computer to inspect a TV or apply and reverse package-disable lists. The launcher sources shown support several internal calls; other launcher capabilities are documented in the README, so their implementation links are left out where not evidenced.
Main entry points: MainActivity.java Home screen · TvAccessibilityService.java Remote shortcuts · AppAdapter.java App tiles · b64push.py Chunked upload
Components 17
TV launcher
- Home screen
launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java - App tiles
launcher/app/src/main/java/com/gathin/tvhome/AppAdapter.java - Settings and calendar
launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java - Remote shortcuts
launcher/app/src/main/java/com/gathin/tvhome/TvAccessibilityService.java - Stremio app
- Poster images
Ambient presentation
- Focus glass
launcher/app/src/main/java/com/gathin/tvhome/GlassView.java - Dock styling
launcher/app/src/main/java/com/gathin/tvhome/DockDecoration.java - Clock screensaver
launcher/app/src/main/java/com/gathin/tvhome/ClockDream.java
TV management
- ADB client
tools/tv.py - Chunked upload
tools/b64push.py - Disable packages
tools/disable.sh - Restore packages
tools/restore.sh
Device profiles
- TV package lists
examples
Other components
- TV user
- TV operator
- Android TV
Connections 22
- TV user → Home screen: opens home
README.md - Home screen → App tiles: builds tiles
launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java - Home screen → Focus glass: positions focus
launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java - Home screen → Dock styling: adds decoration
launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java - TV user → Settings and calendar: opens overlays
README.md - Home screen → Settings and calendar: hosts overlays
README.md - App tiles → Stremio app: launches app
launcher/app/src/main/java/com/gathin/tvhome/AppAdapter.java - App tiles → Poster images: fetches posters
launcher/app/src/main/java/com/gathin/tvhome/AppAdapter.java - TV user → Remote shortcuts: presses media key
README.md - Remote shortcuts → Stremio app: opens app
launcher/app/src/main/java/com/gathin/tvhome/TvAccessibilityService.java - Remote shortcuts → Home screen: redirects home
launcher/app/src/main/java/com/gathin/tvhome/TvAccessibilityService.java - Home screen → Remote shortcuts: allows settings
launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java - TV user → Clock screensaver: uses screensaver
README.md - TV operator → ADB client: runs commands
README.md - ADB client → Android TV: connects by ADB
tools/tv.py - TV operator → Disable packages: applies list
README.md - TV operator → Restore packages: restores packages
README.md - Disable packages → TV package lists: reads list
README.md - Restore packages → TV package lists: reads list
README.md - TV operator → Chunked upload: uploads large files
README.md - Chunked upload → ADB client: uses connection
tools/b64push.py - Chunked upload → Android TV: transfers chunks
tools/b64push.py