Fix empty lists state with Downloaded filter
This commit is contained in:
@@ -82,17 +82,7 @@ class FavouritesListViewModel @Inject constructor(
|
||||
observeListModeWithTriggers(),
|
||||
refreshTrigger,
|
||||
) { list, filters, mode, _ ->
|
||||
when {
|
||||
list.isEmpty() -> if (filters.isEmpty()) {
|
||||
listOf(getEmptyState(hasFilters = false))
|
||||
} else {
|
||||
listOfNotNull(quickFilter.filterItem(filters), getEmptyState(hasFilters = true))
|
||||
}
|
||||
|
||||
else -> {
|
||||
list.mapList(mode, filters).also { isReady.set(true) }
|
||||
}
|
||||
}
|
||||
list.mapList(mode, filters).also { isReady.set(true) }
|
||||
}.catch {
|
||||
emit(listOf(it.toErrorState(canRetry = false)))
|
||||
}.stateIn(viewModelScope + Dispatchers.Default, SharingStarted.Eagerly, listOf(LoadingState))
|
||||
@@ -145,6 +135,13 @@ class FavouritesListViewModel @Inject constructor(
|
||||
} else {
|
||||
this
|
||||
}
|
||||
if (list.isEmpty()) {
|
||||
return if (filters.isEmpty()) {
|
||||
listOf(getEmptyState(hasFilters = false))
|
||||
} else {
|
||||
listOfNotNull(quickFilter.filterItem(filters), getEmptyState(hasFilters = true))
|
||||
}
|
||||
}
|
||||
val result = ArrayList<ListModel>(list.size + 1)
|
||||
quickFilter.filterItem(filters)?.let(result::add)
|
||||
mangaListMapper.toListModelList(result, list, mode)
|
||||
|
||||
@@ -96,20 +96,7 @@ class HistoryListViewModel @Inject constructor(
|
||||
observeListModeWithTriggers(),
|
||||
settings.observeAsFlow(AppSettings.KEY_INCOGNITO_MODE) { isIncognitoModeEnabled },
|
||||
) { filters, list, grouped, mode, incognito ->
|
||||
when {
|
||||
list.isEmpty() -> {
|
||||
if (filters.isEmpty()) {
|
||||
listOf(getEmptyState(hasFilters = false))
|
||||
} else {
|
||||
listOfNotNull(quickFilter.filterItem(filters), getEmptyState(hasFilters = true))
|
||||
}
|
||||
}
|
||||
|
||||
else -> {
|
||||
isReady.set(true)
|
||||
mapList(list, grouped, mode, filters, incognito)
|
||||
}
|
||||
}
|
||||
mapList(list, grouped, mode, filters, incognito).also { isReady.set(true) }
|
||||
}.onStart {
|
||||
loadingCounter.increment()
|
||||
}.onFirst {
|
||||
@@ -172,6 +159,13 @@ class HistoryListViewModel @Inject constructor(
|
||||
} else {
|
||||
historyList
|
||||
}
|
||||
if (list.isEmpty()) {
|
||||
return if (filters.isEmpty()) {
|
||||
listOf(getEmptyState(hasFilters = false))
|
||||
} else {
|
||||
listOfNotNull(quickFilter.filterItem(filters), getEmptyState(hasFilters = true))
|
||||
}
|
||||
}
|
||||
val result = ArrayList<ListModel>((if (grouped) (list.size * 1.4).toInt() else list.size) + 2)
|
||||
quickFilter.filterItem(filters)?.let(result::add)
|
||||
if (isIncognito) {
|
||||
|
||||
Reference in New Issue
Block a user