diff --git a/.gitignore b/.gitignore index d32290ef4..700c700fe 100644 --- a/.gitignore +++ b/.gitignore @@ -13,4 +13,3 @@ node_modules/ /app/google /app/gradle.properties package-lock.json -18PlusList.txt diff --git a/app/src/main/assets/18PlusList.txt b/app/src/main/assets/18PlusList.txt new file mode 100644 index 000000000..7776c3b14 --- /dev/null +++ b/app/src/main/assets/18PlusList.txt @@ -0,0 +1,2 @@ +OGN5dS5jb20= +c2cwMC54eXo= \ No newline at end of file diff --git a/app/src/main/java/io/legado/app/help/SourceHelp.kt b/app/src/main/java/io/legado/app/help/SourceHelp.kt index 4cd1ca831..bdb883b10 100644 --- a/app/src/main/java/io/legado/app/help/SourceHelp.kt +++ b/app/src/main/java/io/legado/app/help/SourceHelp.kt @@ -3,8 +3,9 @@ package io.legado.app.help import android.os.Handler import android.os.Looper import io.legado.app.App -import io.legado.app.data.entities.BookSource import io.legado.app.data.entities.RssSource +import io.legado.app.utils.EncoderUtils +import io.legado.app.utils.NetworkUtils import io.legado.app.utils.splitNotBlank import org.jetbrains.anko.toast @@ -32,17 +33,20 @@ object SourceHelp { } } - fun insertBookSource(vararg bookSources: BookSource) { - App.db.bookSourceDao().insert(*bookSources) - } - private fun is18Plus(url: String?): Boolean { url ?: return false if (AppConfig.isGooglePlay) return false - list18Plus.forEach { - if (url.contains(it)) { - return true + val baseUrl = NetworkUtils.getBaseUrl(url) + baseUrl ?: return false + try { + val host = baseUrl.split("//", ".") + val base64Url = EncoderUtils.base64Encode("${host[host.lastIndex - 1]}.${host.last()}") + list18Plus.forEach { + if (base64Url == it) { + return true + } } + } catch (e: Exception) { } return false }