Minor cleanup

This commit is contained in:
arkon 2020-08-09 12:05:04 -04:00
parent cce919750a
commit b6a1e89535
2 changed files with 14 additions and 9 deletions

View file

@ -26,6 +26,9 @@ import uy.kohesive.injekt.injectLazy
internal object ExtensionLoader { internal object ExtensionLoader {
private val preferences: PreferencesHelper by injectLazy() private val preferences: PreferencesHelper by injectLazy()
private val allowNsfwSource by lazy {
preferences.allowNsfwSource().get()
}
private const val EXTENSION_FEATURE = "tachiyomi.extension" private const val EXTENSION_FEATURE = "tachiyomi.extension"
private const val METADATA_SOURCE_CLASS = "tachiyomi.extension.class" private const val METADATA_SOURCE_CLASS = "tachiyomi.extension.class"
@ -129,7 +132,7 @@ internal object ExtensionLoader {
} }
val isNsfw = appInfo.metaData.getInt(METADATA_NSFW) == 1 val isNsfw = appInfo.metaData.getInt(METADATA_NSFW) == 1
if (preferences.allowNsfwSource().get() == PreferenceValues.NsfwAllowance.BLOCKED && isNsfw) { if (allowNsfwSource == PreferenceValues.NsfwAllowance.BLOCKED && isNsfw) {
return LoadResult.Error("NSFW extension $pkgName not allowed") return LoadResult.Error("NSFW extension $pkgName not allowed")
} }
@ -157,7 +160,7 @@ internal object ExtensionLoader {
return LoadResult.Error(e) return LoadResult.Error(e)
} }
} }
.filter { preferences.allowNsfwSource().get() == PreferenceValues.NsfwAllowance.ALLOWED || !isSourceNsfw(it) } .filter { allowNsfwSource == PreferenceValues.NsfwAllowance.ALLOWED || !isSourceNsfw(it) }
val langs = sources.filterIsInstance<CatalogueSource>() val langs = sources.filterIsInstance<CatalogueSource>()
.map { it.lang } .map { it.lang }

View file

@ -182,13 +182,15 @@ open class GlobalSearchPresenter(
.map { result -> .map { result ->
items items
.map { item -> if (item.source == result.source) result else item } .map { item -> if (item.source == result.source) result else item }
.sortedWith(compareBy( .sortedWith(
// Bubble up sources that actually have results compareBy(
{ it.results.isNullOrEmpty() }, // Bubble up sources that actually have results
// Same as initial sort, i.e. pinned first then alphabetically { it.results.isNullOrEmpty() },
{ it.source.id.toString() !in pinnedSourceIds }, // Same as initial sort, i.e. pinned first then alphabetically
{ "${it.source.name} (${it.source.lang})" } { it.source.id.toString() !in pinnedSourceIds },
)) { "${it.source.name} (${it.source.lang})" }
)
)
} }
// Update current state // Update current state
.doOnNext { items = it } .doOnNext { items = it }