46 lines
1.6 KiB
Markdown
46 lines
1.6 KiB
Markdown
# Correctif V8 - LIVE plus rapide avec cache
|
|
|
|
Version : `2.0.8-live-fast-cache`
|
|
|
|
## Problème constaté
|
|
Après le correctif V7, l'écran LIVE chargeait correctement, mais plus lentement.
|
|
|
|
La V7 avait rendu le chargement plus sûr en lançant les opérations dans l'ordre :
|
|
1. catégories LIVE ;
|
|
2. chaînes LIVE.
|
|
|
|
Sur de gros catalogues, surtout avec `All`, cela ajoutait une attente visible.
|
|
|
|
## Correctif V8
|
|
|
|
### 1. Chargement LIVE en parallèle sécurisé
|
|
L'écran LIVE relance maintenant :
|
|
- catégories LIVE ;
|
|
- chaînes LIVE ;
|
|
|
|
en parallèle, mais avec des verrous/cache dans le repository pour éviter le bug d'écran vide.
|
|
|
|
### 2. Cache mémoire Xtream
|
|
`LiveRepository` garde en mémoire :
|
|
- les catégories LIVE Xtream ;
|
|
- les chaînes LIVE par catégorie ;
|
|
- les chaînes LIVE `All`.
|
|
|
|
Résultat : revenir sur LIVE ne recharge plus inutilement le catalogue.
|
|
|
|
### 3. Cache M3U disque court
|
|
`M3uRepository` garde maintenant une copie locale du fichier M3U pendant 6 heures.
|
|
|
|
Résultat : après un premier chargement, l'ouverture LIVE suivante peut parser le fichier local au lieu de retélécharger toute la playlist.
|
|
|
|
### 4. Invalidation propre
|
|
À la déconnexion, les caches LIVE/M3U sont vidés.
|
|
|
|
## Fichiers modifiés
|
|
- `app/build.gradle.kts`
|
|
- `app/src/main/java/ma/tkgraph/xtreamtv/AppContainer.kt`
|
|
- `app/src/main/java/ma/tkgraph/xtreamtv/data/repository/LiveRepository.kt`
|
|
- `app/src/main/java/ma/tkgraph/xtreamtv/data/repository/M3uParser.kt`
|
|
- `app/src/main/java/ma/tkgraph/xtreamtv/data/repository/M3uRepository.kt`
|
|
- `app/src/main/java/ma/tkgraph/xtreamtv/ui/viewmodels/HomeViewModel.kt`
|