Fix exclusion in library search
This commit is contained in:
parent
ced8dc750a
commit
bdaf0f7492
@ -199,24 +199,24 @@ class LibraryCategoryAdapter(view: LibraryCategoryView, val controller: LibraryC
|
|||||||
val query = queryComponent.asQuery()
|
val query = queryComponent.asQuery()
|
||||||
query.isBlank() || (
|
query.isBlank() || (
|
||||||
(!manga.title.contains(query, true)) &&
|
(!manga.title.contains(query, true)) &&
|
||||||
(manga.author == null || (manga.author?.contains(query, true) == false)) &&
|
(!(manga.author ?: "").contains(query, true)) &&
|
||||||
(manga.artist == null || (manga.artist?.contains(query, true) == false)) &&
|
(!(manga.artist ?: "").contains(query, true)) &&
|
||||||
(source == null || !source.name.contains(query, true)) &&
|
(!(source?.name ?: "").contains(query, true)) &&
|
||||||
(hasLoggedServices && tracks != null && !filterTracks(query, tracks)) &&
|
(!hasLoggedServices || hasLoggedServices && tracks == null || tracks != null && !filterTracks(query, tracks)) &&
|
||||||
(genre == null || genre.all { !it.contains(query, true) }) &&
|
((genre ?: emptyList()).all { !it.contains(query, true) }) &&
|
||||||
(searchTags == null || searchTags.all { !it.name.contains(query, true) }) ||
|
((searchTags ?: emptyList()).all { !it.name.contains(query, true) }) &&
|
||||||
(searchTitles == null || searchTitles.all { !it.title.contains(query, true) })
|
((searchTitles ?: emptyList()).all { !it.title.contains(query, true) })
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
is Namespace -> {
|
is Namespace -> {
|
||||||
val tag = queryComponent.tag?.asQuery()
|
val searchedTag = queryComponent.tag?.asQuery()
|
||||||
searchTags == null || searchTags.all {
|
searchTags == null || searchTags.all { mangaTag ->
|
||||||
if (tag == null || tag.isBlank()) {
|
if (searchedTag == null || searchedTag.isBlank()) {
|
||||||
it.namespace == null || !it.namespace.contains(queryComponent.namespace, true)
|
mangaTag.namespace == null || !mangaTag.namespace.contains(queryComponent.namespace, true)
|
||||||
} else if (it.namespace == null) {
|
} else if (mangaTag.namespace == null) {
|
||||||
true
|
true
|
||||||
} else {
|
} else {
|
||||||
!(it.name.contains(tag, true) && it.namespace.contains(queryComponent.namespace, true))
|
!(mangaTag.name.contains(searchedTag, true) && mangaTag.namespace.contains(queryComponent.namespace, true))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user