mirror of
https://github.com/tapframe/NuvioStreaming.git
synced 2026-05-17 07:21:58 +00:00
ref: adjust catalog loading to gradually emit while each addon resloves
This commit is contained in:
parent
2abaa33612
commit
4ac2cb0ee1
1 changed files with 18 additions and 21 deletions
|
|
@ -202,24 +202,20 @@ fun HomeScreen(
|
||||||
nextUpItemsBySeries = effectivNextUpItems,
|
nextUpItemsBySeries = effectivNextUpItems,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
val allManifestsSettled = addonsUiState.addons.isNotEmpty() &&
|
val availableManifests = remember(addonsUiState.addons) {
|
||||||
addonsUiState.addons.none { it.isRefreshing }
|
addonsUiState.addons.mapNotNull { addon -> addon.manifest }
|
||||||
|
|
||||||
val metaProviderKey = remember(addonsUiState.addons, allManifestsSettled) {
|
|
||||||
if (!allManifestsSettled) return@remember emptyList<String>()
|
|
||||||
addonsUiState.addons
|
|
||||||
.mapNotNull { addon ->
|
|
||||||
addon.manifest?.takeIf { manifest ->
|
|
||||||
manifest.resources.any { resource -> resource.name == "meta" }
|
|
||||||
}?.transportUrl
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val metaProviderKey = remember(availableManifests) {
|
||||||
|
availableManifests
|
||||||
|
.filter { manifest -> manifest.resources.any { resource -> resource.name == "meta" } }
|
||||||
|
.map { manifest -> manifest.transportUrl }
|
||||||
.sorted()
|
.sorted()
|
||||||
}
|
}
|
||||||
|
|
||||||
val catalogRefreshKey = remember(addonsUiState.addons, allManifestsSettled) {
|
val catalogRefreshKey = remember(availableManifests) {
|
||||||
if (!allManifestsSettled) return@remember emptyList<String>()
|
availableManifests
|
||||||
addonsUiState.addons.mapNotNull { addon ->
|
.map { manifest ->
|
||||||
val manifest = addon.manifest ?: return@mapNotNull null
|
|
||||||
buildString {
|
buildString {
|
||||||
append(manifest.transportUrl)
|
append(manifest.transportUrl)
|
||||||
append(':')
|
append(':')
|
||||||
|
|
@ -228,6 +224,7 @@ fun HomeScreen(
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.sorted()
|
||||||
}
|
}
|
||||||
|
|
||||||
LaunchedEffect(catalogRefreshKey) {
|
LaunchedEffect(catalogRefreshKey) {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue