|
@@ -3,6 +3,7 @@ package eu.kanade.tachiyomi.ui.browse.extension
|
|
import android.app.Application
|
|
import android.app.Application
|
|
import android.os.Bundle
|
|
import android.os.Bundle
|
|
import eu.kanade.tachiyomi.R
|
|
import eu.kanade.tachiyomi.R
|
|
|
|
+import eu.kanade.tachiyomi.data.preference.PreferenceValues
|
|
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
|
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
|
import eu.kanade.tachiyomi.extension.ExtensionManager
|
|
import eu.kanade.tachiyomi.extension.ExtensionManager
|
|
import eu.kanade.tachiyomi.extension.model.Extension
|
|
import eu.kanade.tachiyomi.extension.model.Extension
|
|
@@ -55,14 +56,14 @@ open class ExtensionPresenter(
|
|
private fun toItems(tuple: ExtensionTuple): List<ExtensionItem> {
|
|
private fun toItems(tuple: ExtensionTuple): List<ExtensionItem> {
|
|
val context = Injekt.get<Application>()
|
|
val context = Injekt.get<Application>()
|
|
val activeLangs = preferences.enabledLanguages().get()
|
|
val activeLangs = preferences.enabledLanguages().get()
|
|
- val allowNsfw = preferences.allowNsfwSources()
|
|
|
|
|
|
+ val showNsfwExtensions = preferences.allowNsfwSource().get() != PreferenceValues.NsfwAllowance.BLOCKED
|
|
|
|
|
|
val (installed, untrusted, available) = tuple
|
|
val (installed, untrusted, available) = tuple
|
|
|
|
|
|
val items = mutableListOf<ExtensionItem>()
|
|
val items = mutableListOf<ExtensionItem>()
|
|
|
|
|
|
- val updatesSorted = installed.filter { it.hasUpdate && (allowNsfw || !it.isNsfw) }.sortedBy { it.pkgName }
|
|
|
|
- val installedSorted = installed.filter { !it.hasUpdate && (allowNsfw || !it.isNsfw) }.sortedWith(compareBy({ !it.isObsolete }, { it.pkgName }))
|
|
|
|
|
|
+ val updatesSorted = installed.filter { it.hasUpdate && (showNsfwExtensions || !it.isNsfw) }.sortedBy { it.pkgName }
|
|
|
|
+ val installedSorted = installed.filter { !it.hasUpdate && (showNsfwExtensions || !it.isNsfw) }.sortedWith(compareBy({ !it.isObsolete }, { it.pkgName }))
|
|
val untrustedSorted = untrusted.sortedBy { it.pkgName }
|
|
val untrustedSorted = untrusted.sortedBy { it.pkgName }
|
|
val availableSorted = available
|
|
val availableSorted = available
|
|
// Filter out already installed extensions and disabled languages
|
|
// Filter out already installed extensions and disabled languages
|
|
@@ -70,7 +71,7 @@ open class ExtensionPresenter(
|
|
installed.none { it.pkgName == avail.pkgName } &&
|
|
installed.none { it.pkgName == avail.pkgName } &&
|
|
untrusted.none { it.pkgName == avail.pkgName } &&
|
|
untrusted.none { it.pkgName == avail.pkgName } &&
|
|
(avail.lang in activeLangs || avail.lang == "all") &&
|
|
(avail.lang in activeLangs || avail.lang == "all") &&
|
|
- (allowNsfw || !avail.isNsfw)
|
|
|
|
|
|
+ (showNsfwExtensions || !avail.isNsfw)
|
|
}
|
|
}
|
|
.sortedBy { it.pkgName }
|
|
.sortedBy { it.pkgName }
|
|
|
|
|