From 791246726a7eba13e468006664b075bebfc3a739 Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Thu, 25 Jul 2024 14:54:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/legado/app/constant/AppConst.kt | 25 +++++++++-- .../main/java/io/legado/app/help/AppUpdate.kt | 2 +- .../io/legado/app/help/AppUpdateGitHub.kt | 2 +- .../io/legado/app/model/AppReleaseInfo.kt | 41 ++++--------------- .../io/legado/app/ui/about/UpdateDialog.kt | 2 +- app/src/main/res/values-es-rES/strings.xml | 4 +- app/src/main/res/values-ja-rJP/strings.xml | 4 +- app/src/main/res/values-pt-rBR/strings.xml | 4 +- app/src/main/res/values-vi/strings.xml | 4 +- app/src/main/res/values-zh-rHK/strings.xml | 4 +- app/src/main/res/values-zh-rTW/strings.xml | 4 +- app/src/main/res/values-zh/strings.xml | 4 +- app/src/main/res/values/strings.xml | 4 +- app/src/main/res/xml/pref_config_other.xml | 4 +- 14 files changed, 51 insertions(+), 57 deletions(-) diff --git a/app/src/main/java/io/legado/app/constant/AppConst.kt b/app/src/main/java/io/legado/app/constant/AppConst.kt index 8d627b8af..96be75388 100644 --- a/app/src/main/java/io/legado/app/constant/AppConst.kt +++ b/app/src/main/java/io/legado/app/constant/AppConst.kt @@ -4,6 +4,7 @@ import android.annotation.SuppressLint import android.content.pm.PackageManager import android.provider.Settings import androidx.annotation.Keep +import cn.hutool.crypto.digest.DigestUtil import io.legado.app.BuildConfig import io.legado.app.model.AppVariant import splitties.init.appCtx @@ -25,6 +26,11 @@ object AppConst { const val DEFAULT_WEBDAV_ID = -1L + private const val OFFICIAL_SIGNATURE = + "8DACBF25EC667C9B1374DB1450C1A866C2AAA1173016E80BF6AD2F06FABDDC08" + private const val BETA_SIGNATURE = + "93A28468B0F69E8D14C8A99AB45841CEF902BBBA3761BBFEE02E67CBA801563E" + val timeFormat: SimpleDateFormat by lazy { SimpleDateFormat("HH:mm") } @@ -59,9 +65,11 @@ object AppConst { appCtx.packageManager.getPackageInfo(appCtx.packageName, PackageManager.GET_ACTIVITIES) ?.let { appInfo.versionName = it.versionName - // TODO: 增加测试版还是正式版的检查 - if (it.packageName.contains("releaseA")) { - appInfo.appVariant = AppVariant.BETA_RELEASEA + appInfo.appVariant = when { + it.packageName.contains("releaseA") -> AppVariant.BETA_RELEASEA + isBeta -> AppVariant.BETA_RELEASE + isOfficial -> AppVariant.OFFICIAL + else -> AppVariant.UNKNOWN } if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.P) { @@ -74,6 +82,17 @@ object AppConst { appInfo } + @Suppress("DEPRECATION") + private val sha256Signature: String by lazy { + val packageInfo = + appCtx.packageManager.getPackageInfo(appCtx.packageName, PackageManager.GET_SIGNATURES) + DigestUtil.sha256Hex(packageInfo.signatures[0].toByteArray()).uppercase() + } + + private val isOfficial = sha256Signature == OFFICIAL_SIGNATURE + + private val isBeta = sha256Signature == BETA_SIGNATURE || BuildConfig.DEBUG + val charsets = arrayListOf("UTF-8", "GB2312", "GB18030", "GBK", "Unicode", "UTF-16", "UTF-16LE", "ASCII") diff --git a/app/src/main/java/io/legado/app/help/AppUpdate.kt b/app/src/main/java/io/legado/app/help/AppUpdate.kt index af9b572f8..6a5cd3031 100644 --- a/app/src/main/java/io/legado/app/help/AppUpdate.kt +++ b/app/src/main/java/io/legado/app/help/AppUpdate.kt @@ -25,4 +25,4 @@ object AppUpdate { } -} \ No newline at end of file +} diff --git a/app/src/main/java/io/legado/app/help/AppUpdateGitHub.kt b/app/src/main/java/io/legado/app/help/AppUpdateGitHub.kt index 7bc860713..38082d15e 100644 --- a/app/src/main/java/io/legado/app/help/AppUpdateGitHub.kt +++ b/app/src/main/java/io/legado/app/help/AppUpdateGitHub.kt @@ -64,4 +64,4 @@ object AppUpdateGitHub : AppUpdate.AppUpdateInterface { ?: throw NoStackTraceException("已是最新版本") }.timeout(10000) } -} \ No newline at end of file +} diff --git a/app/src/main/java/io/legado/app/model/AppReleaseInfo.kt b/app/src/main/java/io/legado/app/model/AppReleaseInfo.kt index eefa68a07..c4fc6e912 100644 --- a/app/src/main/java/io/legado/app/model/AppReleaseInfo.kt +++ b/app/src/main/java/io/legado/app/model/AppReleaseInfo.kt @@ -25,12 +25,12 @@ data class GithubRelease( val assets: List, val body: String, @SerializedName("prerelease") - val isPreLease: Boolean, + val isPreRelease: Boolean, ) { fun gitReleaseToAppReleaseInfo(): List { return assets .filter { it.isValid } - .map { it.assetToAppReleaseInfo(isPreLease, body) } + .map { it.assetToAppReleaseInfo(isPreRelease, body) } } } @@ -55,37 +55,12 @@ data class Asset( val instant = Instant.parse(createdAt) val timestamp: Long = instant.toEpochMilli() - return when { - preRelease && name.contains("releaseA") -> - AppReleaseInfo( - AppVariant.BETA_RELEASEA, - timestamp, - note, - name, - apkUrl, - url - ) - - preRelease && name.contains("release") -> - AppReleaseInfo( - AppVariant.BETA_RELEASE, - timestamp, - note, - name, - apkUrl, - url - ) - - else -> - AppReleaseInfo( - AppVariant.OFFICIAL, - timestamp, - note, - name, - apkUrl, - url - ) - + val appVariant = when { + preRelease && name.contains("releaseA") -> AppVariant.BETA_RELEASEA + preRelease && name.contains("release") -> AppVariant.BETA_RELEASE + else -> AppVariant.OFFICIAL } + + return AppReleaseInfo(appVariant, timestamp, note, name, apkUrl, url) } } diff --git a/app/src/main/java/io/legado/app/ui/about/UpdateDialog.kt b/app/src/main/java/io/legado/app/ui/about/UpdateDialog.kt index 3c40a0743..d71e876cd 100644 --- a/app/src/main/java/io/legado/app/ui/about/UpdateDialog.kt +++ b/app/src/main/java/io/legado/app/ui/about/UpdateDialog.kt @@ -68,4 +68,4 @@ class UpdateDialog() : BaseDialogFragment(R.layout.dialog_update) { } } -} \ No newline at end of file +} diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index 44aaf4d31..2b81312ed 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -1153,8 +1153,8 @@ Comenzar Cap. al día Cap. inicio - 更新至测试版 - 检查更新时查找最新的测试版本 + 检查更新查找版本 + 检查更新时查找其他签名版本 当前 正式版 测试版 diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml index 068b8bb4c..8a4d6f682 100644 --- a/app/src/main/res/values-ja-rJP/strings.xml +++ b/app/src/main/res/values-ja-rJP/strings.xml @@ -1156,8 +1156,8 @@ 開始日 日更の章数 開始の章 - 更新至测试版 - 检查更新时查找最新的测试版本 + 检查更新查找版本 + 检查更新时查找其他签名版本 当前 正式版 测试版 diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 77b7fe71c..aae0273c5 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -1156,8 +1156,8 @@ Começar Cap. por dia Início - 更新至测试版 - 检查更新时查找最新的测试版本 + 检查更新查找版本 + 检查更新时查找其他签名版本 当前 正式版 测试版 diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 9510deecb..756aba31a 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -1152,8 +1152,8 @@ Còn Bắt đầu Chương/ngày Chương đầu - 更新至测试版 - 检查更新时查找最新的测试版本 + 检查更新查找版本 + 检查更新时查找其他签名版本 当前 正式版 测试版 diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 075c75f24..13adece3f 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -1153,8 +1153,8 @@ 起始日期 日更章數 開始篇章 - 更新至测试版 - 检查更新时查找最新的测试版本 + 检查更新查找版本 + 检查更新时查找其他签名版本 当前 正式版 测试版 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index cddf82c8b..029498d86 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -1155,8 +1155,8 @@ 起始日期 日更章數 開始篇章 - 更新至测试版 - 检查更新时查找最新的测试版本 + 检查更新查找版本 + 检查更新时查找其他签名版本 当前 正式版 测试版 diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 764d8dce9..c44f90dc1 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -1155,8 +1155,8 @@ 开始日期 日更章数 起始章节 - 检查更新查找版本 - 检查更新查找其他签名版本 + 检查更新查找版本 + 检查更新时查找其他签名版本 当前 正式版 测试版 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index fe8fea950..2b890e34b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1156,8 +1156,8 @@ Start from Daily Chapters Start Chapter - 更新至测试版 - 检查更新时查找最新的测试版本 + 检查更新查找版本 + 检查更新时查找其他签名版本 当前 正式版 测试版 diff --git a/app/src/main/res/xml/pref_config_other.xml b/app/src/main/res/xml/pref_config_other.xml index cf3a05dbe..94cedff3f 100644 --- a/app/src/main/res/xml/pref_config_other.xml +++ b/app/src/main/res/xml/pref_config_other.xml @@ -149,8 +149,8 @@