Replace extension NSFW flag with content warning app-wide (#3951)

This commit is contained in:
AntsyLich
2026-09-14 21:00:06 +06:00
committed by GitHub
parent cbafe9bf3f
commit 0fbaa1ecec
14 changed files with 202 additions and 68 deletions
@@ -8,6 +8,7 @@ import mihon.data.extension.model.NetworkExtensionStore.ContentWarning
import mihon.data.extension.model.NetworkExtensionStore.ExtensionList
import mihon.domain.extension.model.ExtensionStore
import eu.kanade.tachiyomi.extension.model.Extension as TachiyomiExtension
import mihon.domain.extension.model.ContentWarning as DomainContentWarning
@SuppressLint("UnsafeOptInUsageError")
@Serializable
@@ -104,7 +105,12 @@ fun ExtensionList.toAvailableExtensions(store: ExtensionStore): List<TachiyomiEx
versionCode = extension.versionCode,
versionName = extension.versionName,
lang = if (lang.size == 1) lang.first() else "all",
isNsfw = extension.contentWarning >= ContentWarning.MIXED,
contentWarning = when (extension.contentWarning) {
ContentWarning.SAFE -> DomainContentWarning.SAFE
ContentWarning.MIXED -> DomainContentWarning.MIXED
ContentWarning.NSFW -> DomainContentWarning.NSFW
else -> DomainContentWarning.SAFE
},
sources = extension.sources.map { source ->
TachiyomiExtension.Available.Source(
id = source.id,
@@ -3,6 +3,7 @@ package mihon.data.extension.model
import android.annotation.SuppressLint
import eu.kanade.tachiyomi.extension.model.Extension
import kotlinx.serialization.Serializable
import mihon.domain.extension.model.ContentWarning
import mihon.domain.extension.model.ExtensionStore
@SuppressLint("UnsafeOptInUsageError")
@@ -35,7 +36,7 @@ data class NetworkLegacyExtension(
versionCode = code,
versionName = version,
lang = lang,
isNsfw = nsfw == 1,
contentWarning = if (nsfw == 1) ContentWarning.NSFW else ContentWarning.SAFE,
sources = if (sources.isNullOrEmpty()) {
listOf(
Extension.Available.Source(