Weather Pro with Windy radar, QR phone pairing with ZeddiHub Mobile, long-press menu with Sleep Timer controls, GTV-style tile spacing 220x148, dark rectangle fix, adaptive font sizes for large/largest font scale.
Companion Android TV aplikace pro ZeddiHub Tools. Sleep Timer s plovoucím odpočtem přes všechny apps, Wake-on-LAN, media remote, herní servery a smart home — vše ovládané z gauče přes D-pad.
Stejné jádro jako desktop a mobile. Optimalizováno pro D-pad navigaci a 10-foot UI.
adb connect + adb install.
Auto-update od první verze: po instalaci 0.1.0+ tě aplikace sama upozorní na nové verze.
⬇ ZeddiHub-TV-0.1.15.apkPosledních 5 verzí přímo z GitHub Releases — markdown popisy s expandable detailem.
Weather Pro with Windy radar, QR phone pairing with ZeddiHub Mobile, long-press menu with Sleep Timer controls, GTV-style tile spacing 220x148, dark rectangle fix, adaptive font sizes for large/largest font scale.
Streaming removed, no focus rectangles, bigger back button, Wi-Fi SSID, settings expanded (language/smart-sleep/temp/CC/dyslexia/Run-update/Reset/App-info), favorites via long-press.
Settings → Updates now has explicit Check + Run-update actions with a release-notes preview banner.
Datum: 2026-05-11
Verze: 0.1.12 (versionCode 13)
Status: Pending → Publish přes Admin panel
<unknown ssid>Root cause: Android
Datum: 2026-05-11
Verze: 0.1.12 (versionCode 13)
Status: Pending → Publish přes Admin panel
<unknown ssid>Root cause: Android 10+ blokuje čtení SSID bez ACCESS_FINE_LOCATION permission. WifiManager.connectionInfo.ssid pak vrací řetězec <unknown ssid>, který se zobrazoval doslova na Dashboardu.
Fix v DashboardViewModel.kt:
<unknown ssid>, 0x, <no ssid> → nahrazeno prázdným stringemdBm + výborný/dobrý/slabší/slabý místo prostého čísla| | Před | Po |
|---|---|---|
| background | #080810 (téměř černá) | #000000 (true black) |
| surface | #14141F | #0E0E18 (subtilní elevation) |
| border | #252535 | #1F1F2E (lépe ladí s černou) |
Hero gradient karty teď víc vyniknou. Na OLED panelech (Samsung, Sony) jsou pixely v black pozadí skutečně vypnuté — power saving + perfect contrast.
Když naviguješ z Dashboardu na např. Sleep Timer:
Před: D-pad fokus landoval na „← Domů" pill (a klik OK by tě vrátil). Uživatel musel ručně přejet šipkami dolů na content.
Teď v AppScaffold.kt subScreen():
LaunchedEffect(Unit) automaticky fokusne content area po 140ms (čeká na slide-in transition)5 řad teď přicházejí postupně:
| Soubor | Změna |
|---|---|
| app/src/main/java/com/zeddihub/tv/dashboard/DashboardViewModel.kt | Wi-Fi SSID smart fallback |
| app/src/main/java/com/zeddihub/tv/ui/theme/Theme.kt | True-black bg, darker surface/border |
| app/src/main/java/com/zeddihub/tv/nav/AppScaffold.kt | Auto-focus + fade-up animation v subScreen() |
| app/src/main/java/com/zeddihub/tv/dashboard/DashboardScreen.kt | Stagger wrapper + cascade timing |
| app/build.gradle.kts | versionCode 12→13, versionName 0.1.11→0.1.12 |
ZeddiHub-TV-0.1.12.apk (2.7 MB, signed)1. Wi-Fi info na Dashboardu → ukazuje IP + signál (žádný <unknown ssid>)
2. Pozadí je úplně černé — gradient karty vyniknou
3. Klik na Sleep Timer dlaždici → animace slide-up + D-pad fokus rovnou na content
4. Otevřená podstránka má „← Domů" pill v rohu jako fallback
5. Cascade entrance při prvním otevření Dashboardu — řady postupně přicházejí
Audit ukázal že všech 21 podstránek je plně funkčních (Timer, Schedule, Routine, WakeUp, SmartHome, HomeAssistant, WatchLater, LocalSend, Files, Browser, Alerts, Audio, ConnectionTest, Health, Network, Media, Servers, Accessibility, Parental, Settings + Dashboard). Žádné placeholders.
Známé limitace:
Datum: 2026-05-10
Verze: 0.1.11 (versionCode 12)
Status: Pending → Publish přes Admin panel
Uživatel řekl: „nechci aplikaci jako seznam, ch
Datum: 2026-05-10
Verze: 0.1.11 (versionCode 12)
Status: Pending → Publish přes Admin panel
Uživatel řekl: „nechci aplikaci jako seznam, chci PlayStation nebo Google TV". 0.1.10 přidal horizontální řady na Dashboard, ale sidebar zůstal vedle nich — výsledek vypadal pořád jako settings menu.
Teď v 0.1.11:
AppScaffold. Žádný menu list./api/tv-config.php)Navigace:
NavController.navigate() → podstránkaUživatel řekl: „když jsem dal přeskočit, chci aby se zobrazoval znovu při dalším spuštění dokud to nevyplním".
Bug: SetupWizardViewModel.persist() ukládalo prefs A ZÁROVEŇ flipla wizardCompleted = true. Skip volal persist() → wizard se navždy schoval.
Fix:
persist() rozdělen na 2 metody:saveValues() — uloží jen filled-in hodnoty (jazyk, téma, počasí…). Žádný completion flag.complete() — uloží hodnoty + flag wizardCompleted = truesaveValues() → wizard se schová pro TENTO session, ale příští cold start ho zobrazí znovucomplete() → wizard je hotový natrvalosaveValues() uchovává cokoli uživatel vyplnil — žádný data loss při SkipcollectAsState(initial = true) → initial = false — předtím se na first-run cold start na zlomek vteřiny ukázal AppScaffold než DataStore odpověděl. Teď wizard zobrazí okamžitě.| Soubor | Změna |
|---|---|
| app/src/main/java/com/zeddihub/tv/nav/AppScaffold.kt | Úplný přepis — side rail PRYČ, NavHost full width s overscan padding, subScreen() wrapper s HomePill |
| app/src/main/java/com/zeddihub/tv/setup/SetupWizardViewModel.kt | persist() rozdělen na saveValues() + complete() |
| app/src/main/java/com/zeddihub/tv/setup/SetupWizard.kt | Skip button volá saveValues() místo persist() |
| app/src/main/java/com/zeddihub/tv/MainActivity.kt | initial = false v collectAsState |
| app/build.gradle.kts | versionCode 11→12, versionName 0.1.10→0.1.11 |
ZeddiHub-TV-0.1.11.apk (2.7 MB, signed)Můj fix funguje JEN po deploye na PROD. Pokud máš starší APK nainstalovanou v TV:
1. Nahraj ZeddiHub-TV-0.1.11.apk do /downloads/ na zeddihub.eu (přes FTP/SFTP/cPanel)
2. Nahraj nový app_releases.php + staged_releases.json (nebo deploy celý repo)
3. V admin panelu: TV releases → 0.1.11 → Test APK → Publikovat
4. Na TV: otevři aplikaci. Update dialog by se měl objevit. Klik → Stáhnout a nainstalovat → app se restartuje s novým GTV-style layoutem
5. Test: zkus stisknout dlaždici — měla by tě navést na sub-screen. Stiskni Back na ovladači — vrátí tě na Dashboard
Pokud po deploye stále vidíš side rail / starý layout — pravděpodobně TV cachuje starou APK. Ručně odinstaluj a nainstaluj 0.1.11 přímo (přes ADB nebo Downloader app).
Stejný účet jako desktop. Game servery, ping, IP lookup a admin panel přímo z mobilu.