From 9222c4b73b943dba8f04a98a26e3e5b7f080863b Mon Sep 17 00:00:00 2001 From: kunfei Date: Fri, 15 May 2020 17:45:53 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 - app/src/main/assets/18PlusList.txt | 2 ++ .../java/io/legado/app/help/SourceHelp.kt | 20 +++++++++++-------- 3 files changed, 14 insertions(+), 9 deletions(-) create mode 100644 app/src/main/assets/18PlusList.txt 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 }