From 466000ccd2ba3bfed4f50a29740b4d91383e8ef6 Mon Sep 17 00:00:00 2001 From: SkyD666 <1161046314@qq.com> Date: Mon, 13 Sep 2021 23:37:41 +0800 Subject: [PATCH] =?UTF-8?q?[fix]=E6=9B=B4=E6=94=B9=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E6=95=B0=E6=8D=AE=E6=BA=90=E4=BE=8B=E7=A4=BA=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=EF=BC=8C=E6=9C=89=E6=96=B0=E7=89=88=E6=9C=ACJar?= =?UTF-8?q?=E5=8C=85=EF=BC=9B=E6=9B=B4=E6=94=B9theme.xml=E5=90=8D=E4=B8=BA?= =?UTF-8?q?theme=5Fskin.xml=EF=BC=9B=E4=BF=AE=E5=A4=8D=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=97=B6=E9=97=B4=E6=97=A98=E5=B0=8F?= =?UTF-8?q?=E6=97=B6=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../skyd/imomoe/model/DataSourceManager.kt | 5 ++-- .../imomoe/util/update/AppUpdateHelper.kt | 1 + app/src/main/res/values-night/colors.xml | 9 ++++++ .../values/{themes.xml => themes_skin.xml} | 0 doc/customdatasource/README.md | 2 +- .../sample/custom/CustomConst.kt | 4 +-- .../sample/custom/CustomDataSource.jar | Bin 30719 -> 31032 bytes .../sample/custom/CustomPlayModel.kt | 26 +++++++++++++++--- 8 files changed, 37 insertions(+), 10 deletions(-) create mode 100644 app/src/main/res/values-night/colors.xml rename app/src/main/res/values/{themes.xml => themes_skin.xml} (100%) diff --git a/app/src/main/java/com/skyd/imomoe/model/DataSourceManager.kt b/app/src/main/java/com/skyd/imomoe/model/DataSourceManager.kt index 5e0d8adf..be95d866 100644 --- a/app/src/main/java/com/skyd/imomoe/model/DataSourceManager.kt +++ b/app/src/main/java/com/skyd/imomoe/model/DataSourceManager.kt @@ -3,11 +3,10 @@ package com.skyd.imomoe.model import android.util.Log import android.util.LruCache import com.skyd.imomoe.App -import com.skyd.imomoe.R +import com.skyd.imomoe.BuildConfig import com.skyd.imomoe.model.interfaces.IConst import com.skyd.imomoe.model.interfaces.IRouteProcessor import com.skyd.imomoe.model.interfaces.IUtil -import com.skyd.imomoe.util.Util.showToastOnIOThread import com.skyd.imomoe.util.editor import com.skyd.imomoe.util.sharedPreferences import dalvik.system.DexClassLoader @@ -91,7 +90,7 @@ object DataSourceManager { val jarFile = File(getJarPath()) if (!jarFile.exists() || !jarFile.isFile) { Log.e("DataSourceManager", "useCustomDataSource but jar doesn't exist") - return null + if (!BuildConfig.DEBUG) return null } val optimizedDirectory = File(App.context.getExternalFilesDir(null).toString() + "/DataSourceDex") diff --git a/app/src/main/java/com/skyd/imomoe/util/update/AppUpdateHelper.kt b/app/src/main/java/com/skyd/imomoe/util/update/AppUpdateHelper.kt index 15c59ce3..75e13416 100644 --- a/app/src/main/java/com/skyd/imomoe/util/update/AppUpdateHelper.kt +++ b/app/src/main/java/com/skyd/imomoe/util/update/AppUpdateHelper.kt @@ -49,6 +49,7 @@ class AppUpdateHelper private constructor() { try { val format = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.getDefault()) + format.timeZone = TimeZone.getTimeZone("UTC") val date = format.parse(updatedAt) val s: String = if (date != null) { SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.getDefault()).format(date) diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml new file mode 100644 index 00000000..18364c55 --- /dev/null +++ b/app/src/main/res/values-night/colors.xml @@ -0,0 +1,9 @@ + + + #000000 + #000000 + #B5B5B5 + #B5B5B5 + #B5B5B5 + + \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes_skin.xml similarity index 100% rename from app/src/main/res/values/themes.xml rename to app/src/main/res/values/themes_skin.xml diff --git a/doc/customdatasource/README.md b/doc/customdatasource/README.md index 61622e59..dca54b63 100644 --- a/doc/customdatasource/README.md +++ b/doc/customdatasource/README.md @@ -105,7 +105,7 @@ kotlinx.** 数据源:https://www.yhdmp.net -详细代码和Jar包见下方链接内容。注:此Jar包可直接放入手机相应文件夹(步骤7)供APP使用。 +详细代码和Jar包见下方链接内容。注:此Jar包可直接放入手机相应文件夹(步骤7)供APP使用。**请自行在此仓库检查Jar包更新**。 [自定义数据源示例代码和Jar包](sample/custom) diff --git a/doc/customdatasource/sample/custom/CustomConst.kt b/doc/customdatasource/sample/custom/CustomConst.kt index 3f37510b..b3a3c69b 100644 --- a/doc/customdatasource/sample/custom/CustomConst.kt +++ b/doc/customdatasource/sample/custom/CustomConst.kt @@ -15,9 +15,9 @@ class CustomConst : IConst { override fun MAIN_URL(): String = "https://www.yhdmp.net" - override fun versionName(): String = "1.0.0" + override fun versionName(): String = "1.0.1" - override fun versionCode(): Int = 1 + override fun versionCode(): Int = 2 override fun about(): String { return "数据来源:${MAIN_URL()}" diff --git a/doc/customdatasource/sample/custom/CustomDataSource.jar b/doc/customdatasource/sample/custom/CustomDataSource.jar index 8502efbbbf9cc2ad5a81a0d9017588149490f4bc..ab62930199f73be2622901e71ad193cdcb6421d4 100644 GIT binary patch literal 31032 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%0A*#lbY+V%n%RJbJ-#6 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 literal 30719 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 KdZ^s~TKiu%zA144 diff --git a/doc/customdatasource/sample/custom/CustomPlayModel.kt b/doc/customdatasource/sample/custom/CustomPlayModel.kt index ba3b6d63..47281216 100644 --- a/doc/customdatasource/sample/custom/CustomPlayModel.kt +++ b/doc/customdatasource/sample/custom/CustomPlayModel.kt @@ -14,6 +14,7 @@ import kotlinx.coroutines.suspendCancellableCoroutine import org.jsoup.Jsoup import org.jsoup.select.Elements import java.lang.ref.SoftReference +import java.net.URLDecoder import kotlin.coroutines.resume import kotlin.coroutines.resumeWithException @@ -61,7 +62,7 @@ class CustomPlayModel : IPlayModel { GettingUtil.instance.activity(activity) .url(url).start(object : GettingCallback { override fun onGettingSuccess(webView: View?, html: String) { - GettingUtil.instance.release() + GettingUtil.instance.release() val document = Jsoup.parse(html) val children: Elements = document.body().children() for (i in children.indices) { @@ -70,7 +71,22 @@ class CustomPlayModel : IPlayModel { var iframeSrc = children[i] .select("[class=bofang]") .select("iframe")[0].attr("src") - if (iframeSrc.startsWith("/")) iframeSrc = + if (iframeSrc.startsWith("/yxsf/player/ckx1")) { + val videoUrl = URLDecoder.decode( + iframeSrc.substringAfter("url=") + .substringBefore("&"), "UTF-8" + ) + animeEpisodeDataBean.videoUrl = videoUrl + resultVideoUrl = true + if (resultData) cancellableContinuation.resume( + Triple( + playBeanDataList, + episodesList, + playBean + ) + ) + continue + } else if (iframeSrc.startsWith("/")) iframeSrc = MAIN_URL + iframeSrc getVideoUrl(iframeSrc, object : GettingCallback { override fun onGettingSuccess( @@ -230,7 +246,7 @@ class CustomPlayModel : IPlayModel { GettingUtil.instance.activity(activity) .url(url).start(object : GettingCallback { override fun onGettingSuccess(webView: View?, html: String) { - GettingUtil.instance.release() + GettingUtil.instance.release() val document = Jsoup.parse(html) val children: Elements = document.body().children() for (i in children.indices) { @@ -348,7 +364,9 @@ class CustomPlayModel : IPlayModel { webView: View?, url: String?, errorCode: Int ) { GettingUtil.instance.release() - cancellableContinuation.resumeWithException(Exception("onGettingError,url:$url,errorCode:$errorCode")) + cancellableContinuation.resumeWithException( + Exception("onGettingError,url:$url,errorCode:$errorCode") + ) } })