---
feature: "Service"
description: "Autostart služba – spuštění při startu Kodi, migrace settings, VIP kontrola"
files:
  - service.py
parent: true
children:
  - "Autostart"
  - "Settings Migrace"
  - "VIP Kontrola"
created: "2026-04-04"
updated: "2026-04-04"
status: "complete"
---

# Service

Background služba běžící při startu Kodi. Deklarovaná v `addon.xml` jako `xbmc.service` s `start="startup"`. Spouští tři hlavní úlohy: volitelný autostart pluginu/MyTV/MyCinema, jednorázovou migraci settings na nové defaulty a kontrolu VIP expirace Webshare účtu.

## Soubory

| Soubor | Velikost | Účel |
|--------|----------|------|
| `service.py` | 9 KB | Celá service logika |

## Child funkce

### Autostart

- **Co dělá**: Při startu Kodi automaticky spustí jednu z akcí podle nastavení: otevření pluginu, MyTV dialogu nebo MyCinema dialogu. Konfigurovatelné zpoždění (v sekundách) a volitelné notifikace. Neblokuje start Kodi – čeká v background threadu.
- **Klíčové metody**: `main()` – hlavní funkce service
- **Vstupy**: Addon settings
- **Výstupy**: `xbmc.executebuiltin('RunAddon/RunPlugin(...)')` pro spuštění akce
- **Závislosti**: žádné přímé (spouští plugin přes Kodi builtin)
- **Settings**: `auto_start_enabled` (bool), `auto_start_action` (0=plugin, 1=MyTV, 2=MyCinema), `auto_start_delay_seconds`, `auto_start_show_notifications`

### Settings Migrace

- **Co dělá**: Jednorázová migrace všech non-credential settings na nové výchozí hodnoty. Spouští se pouze jednou – po dokončení se nastaví flag `settings_migration_v2=done`. Definuje ~120 settings s jejich defaulty (viz `DEFAULT_SETTINGS` seznam v service.py). Účel: při přidání nových settings nebo změně defaultů zajistit konzistentní stav.
- **Klíčové metody**: `run_settings_migration(addon)` – iterace přes DEFAULT_SETTINGS
- **Vstupy**: Addon instance
- **Výstupy**: Všechny settings nastaveny na defaulty
- **Závislosti**: žádné
- **Settings**: `settings_migration_v2` (flag), plus všechny migrované settings

### VIP Kontrola

- **Co dělá**: Kontroluje expiraci VIP účtu na Webshare při každém startu Kodi. Pokud VIP brzy vyprší nebo je neplatný, zobrazí varování. Používá existující funkci `refresh_vip_info()` z WebshareClient.
- **Klíčové metody**: `check_vip_expiration(addon)`
- **Vstupy**: Addon instance
- **Výstupy**: Varování notifikace pokud VIP expiruje
- **Závislosti**: [009-webshare.md](009-webshare.md) (WebshareClient.refresh_vip_info)
- **Settings**: žádné přímé (čte stav z Webshare)
