优化
This commit is contained in:
@@ -4,6 +4,7 @@ import android.annotation.SuppressLint
|
|||||||
import android.content.pm.PackageManager
|
import android.content.pm.PackageManager
|
||||||
import android.provider.Settings
|
import android.provider.Settings
|
||||||
import androidx.annotation.Keep
|
import androidx.annotation.Keep
|
||||||
|
import cn.hutool.crypto.digest.DigestUtil
|
||||||
import io.legado.app.BuildConfig
|
import io.legado.app.BuildConfig
|
||||||
import io.legado.app.model.AppVariant
|
import io.legado.app.model.AppVariant
|
||||||
import splitties.init.appCtx
|
import splitties.init.appCtx
|
||||||
@@ -25,6 +26,11 @@ object AppConst {
|
|||||||
|
|
||||||
const val DEFAULT_WEBDAV_ID = -1L
|
const val DEFAULT_WEBDAV_ID = -1L
|
||||||
|
|
||||||
|
private const val OFFICIAL_SIGNATURE =
|
||||||
|
"8DACBF25EC667C9B1374DB1450C1A866C2AAA1173016E80BF6AD2F06FABDDC08"
|
||||||
|
private const val BETA_SIGNATURE =
|
||||||
|
"93A28468B0F69E8D14C8A99AB45841CEF902BBBA3761BBFEE02E67CBA801563E"
|
||||||
|
|
||||||
val timeFormat: SimpleDateFormat by lazy {
|
val timeFormat: SimpleDateFormat by lazy {
|
||||||
SimpleDateFormat("HH:mm")
|
SimpleDateFormat("HH:mm")
|
||||||
}
|
}
|
||||||
@@ -59,9 +65,11 @@ object AppConst {
|
|||||||
appCtx.packageManager.getPackageInfo(appCtx.packageName, PackageManager.GET_ACTIVITIES)
|
appCtx.packageManager.getPackageInfo(appCtx.packageName, PackageManager.GET_ACTIVITIES)
|
||||||
?.let {
|
?.let {
|
||||||
appInfo.versionName = it.versionName
|
appInfo.versionName = it.versionName
|
||||||
// TODO: 增加测试版还是正式版的检查
|
appInfo.appVariant = when {
|
||||||
if (it.packageName.contains("releaseA")) {
|
it.packageName.contains("releaseA") -> AppVariant.BETA_RELEASEA
|
||||||
appInfo.appVariant = 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) {
|
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.P) {
|
||||||
@@ -74,6 +82,17 @@ object AppConst {
|
|||||||
appInfo
|
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 =
|
val charsets =
|
||||||
arrayListOf("UTF-8", "GB2312", "GB18030", "GBK", "Unicode", "UTF-16", "UTF-16LE", "ASCII")
|
arrayListOf("UTF-8", "GB2312", "GB18030", "GBK", "Unicode", "UTF-16", "UTF-16LE", "ASCII")
|
||||||
|
|
||||||
|
|||||||
@@ -25,12 +25,12 @@ data class GithubRelease(
|
|||||||
val assets: List<Asset>,
|
val assets: List<Asset>,
|
||||||
val body: String,
|
val body: String,
|
||||||
@SerializedName("prerelease")
|
@SerializedName("prerelease")
|
||||||
val isPreLease: Boolean,
|
val isPreRelease: Boolean,
|
||||||
) {
|
) {
|
||||||
fun gitReleaseToAppReleaseInfo(): List<AppReleaseInfo> {
|
fun gitReleaseToAppReleaseInfo(): List<AppReleaseInfo> {
|
||||||
return assets
|
return assets
|
||||||
.filter { it.isValid }
|
.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 instant = Instant.parse(createdAt)
|
||||||
val timestamp: Long = instant.toEpochMilli()
|
val timestamp: Long = instant.toEpochMilli()
|
||||||
|
|
||||||
return when {
|
val appVariant = when {
|
||||||
preRelease && name.contains("releaseA") ->
|
preRelease && name.contains("releaseA") -> AppVariant.BETA_RELEASEA
|
||||||
AppReleaseInfo(
|
preRelease && name.contains("release") -> AppVariant.BETA_RELEASE
|
||||||
AppVariant.BETA_RELEASEA,
|
else -> AppVariant.OFFICIAL
|
||||||
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
|
|
||||||
)
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return AppReleaseInfo(appVariant, timestamp, note, name, apkUrl, url)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1153,8 +1153,8 @@
|
|||||||
<string name="start_from">Comenzar</string>
|
<string name="start_from">Comenzar</string>
|
||||||
<string name="daily_chapters">Cap. al día</string>
|
<string name="daily_chapters">Cap. al día</string>
|
||||||
<string name="start_chapter">Cap. inicio</string>
|
<string name="start_chapter">Cap. inicio</string>
|
||||||
<string name="update_to_bata_title">更新至测试版</string>
|
<string name="update_to_variant_title">检查更新查找版本</string>
|
||||||
<string name="update_to_bata_summary">检查更新时查找最新的测试版本</string>
|
<string name="update_to_variant_summary">检查更新时查找其他签名版本</string>
|
||||||
<string name="default_version">当前</string>
|
<string name="default_version">当前</string>
|
||||||
<string name="official_version">正式版</string>
|
<string name="official_version">正式版</string>
|
||||||
<string name="beta_release_version">测试版</string>
|
<string name="beta_release_version">测试版</string>
|
||||||
|
|||||||
@@ -1156,8 +1156,8 @@
|
|||||||
<string name="start_from">開始日</string>
|
<string name="start_from">開始日</string>
|
||||||
<string name="daily_chapters">日更の章数</string>
|
<string name="daily_chapters">日更の章数</string>
|
||||||
<string name="start_chapter">開始の章</string>
|
<string name="start_chapter">開始の章</string>
|
||||||
<string name="update_to_bata_title">更新至测试版</string>
|
<string name="update_to_variant_title">检查更新查找版本</string>
|
||||||
<string name="update_to_bata_summary">检查更新时查找最新的测试版本</string>
|
<string name="update_to_variant_summary">检查更新时查找其他签名版本</string>
|
||||||
<string name="default_version">当前</string>
|
<string name="default_version">当前</string>
|
||||||
<string name="official_version">正式版</string>
|
<string name="official_version">正式版</string>
|
||||||
<string name="beta_release_version">测试版</string>
|
<string name="beta_release_version">测试版</string>
|
||||||
|
|||||||
@@ -1156,8 +1156,8 @@
|
|||||||
<string name="start_from">Começar</string>
|
<string name="start_from">Começar</string>
|
||||||
<string name="daily_chapters">Cap. por dia</string>
|
<string name="daily_chapters">Cap. por dia</string>
|
||||||
<string name="start_chapter">Início</string>
|
<string name="start_chapter">Início</string>
|
||||||
<string name="update_to_bata_title">更新至测试版</string>
|
<string name="update_to_variant_title">检查更新查找版本</string>
|
||||||
<string name="update_to_bata_summary">检查更新时查找最新的测试版本</string>
|
<string name="update_to_variant_summary">检查更新时查找其他签名版本</string>
|
||||||
<string name="default_version">当前</string>
|
<string name="default_version">当前</string>
|
||||||
<string name="official_version">正式版</string>
|
<string name="official_version">正式版</string>
|
||||||
<string name="beta_release_version">测试版</string>
|
<string name="beta_release_version">测试版</string>
|
||||||
|
|||||||
@@ -1152,8 +1152,8 @@ Còn </string>
|
|||||||
<string name="start_from">Bắt đầu</string>
|
<string name="start_from">Bắt đầu</string>
|
||||||
<string name="daily_chapters">Chương/ngày</string>
|
<string name="daily_chapters">Chương/ngày</string>
|
||||||
<string name="start_chapter">Chương đầu</string>
|
<string name="start_chapter">Chương đầu</string>
|
||||||
<string name="update_to_bata_title">更新至测试版</string>
|
<string name="update_to_variant_title">检查更新查找版本</string>
|
||||||
<string name="update_to_bata_summary">检查更新时查找最新的测试版本</string>
|
<string name="update_to_variant_summary">检查更新时查找其他签名版本</string>
|
||||||
<string name="default_version">当前</string>
|
<string name="default_version">当前</string>
|
||||||
<string name="official_version">正式版</string>
|
<string name="official_version">正式版</string>
|
||||||
<string name="beta_release_version">测试版</string>
|
<string name="beta_release_version">测试版</string>
|
||||||
|
|||||||
@@ -1153,8 +1153,8 @@
|
|||||||
<string name="start_from">起始日期</string>
|
<string name="start_from">起始日期</string>
|
||||||
<string name="daily_chapters">日更章數</string>
|
<string name="daily_chapters">日更章數</string>
|
||||||
<string name="start_chapter">開始篇章</string>
|
<string name="start_chapter">開始篇章</string>
|
||||||
<string name="update_to_bata_title">更新至测试版</string>
|
<string name="update_to_variant_title">检查更新查找版本</string>
|
||||||
<string name="update_to_bata_summary">检查更新时查找最新的测试版本</string>
|
<string name="update_to_variant_summary">检查更新时查找其他签名版本</string>
|
||||||
<string name="default_version">当前</string>
|
<string name="default_version">当前</string>
|
||||||
<string name="official_version">正式版</string>
|
<string name="official_version">正式版</string>
|
||||||
<string name="beta_release_version">测试版</string>
|
<string name="beta_release_version">测试版</string>
|
||||||
|
|||||||
@@ -1155,8 +1155,8 @@
|
|||||||
<string name="start_from">起始日期</string>
|
<string name="start_from">起始日期</string>
|
||||||
<string name="daily_chapters">日更章數</string>
|
<string name="daily_chapters">日更章數</string>
|
||||||
<string name="start_chapter">開始篇章</string>
|
<string name="start_chapter">開始篇章</string>
|
||||||
<string name="update_to_bata_title">更新至测试版</string>
|
<string name="update_to_variant_title">检查更新查找版本</string>
|
||||||
<string name="update_to_bata_summary">检查更新时查找最新的测试版本</string>
|
<string name="update_to_variant_summary">检查更新时查找其他签名版本</string>
|
||||||
<string name="default_version">当前</string>
|
<string name="default_version">当前</string>
|
||||||
<string name="official_version">正式版</string>
|
<string name="official_version">正式版</string>
|
||||||
<string name="beta_release_version">测试版</string>
|
<string name="beta_release_version">测试版</string>
|
||||||
|
|||||||
@@ -1155,8 +1155,8 @@
|
|||||||
<string name="start_from">开始日期</string>
|
<string name="start_from">开始日期</string>
|
||||||
<string name="daily_chapters">日更章数</string>
|
<string name="daily_chapters">日更章数</string>
|
||||||
<string name="start_chapter">起始章节</string>
|
<string name="start_chapter">起始章节</string>
|
||||||
<string name="update_to_bata_title">检查更新查找版本</string>
|
<string name="update_to_variant_title">检查更新查找版本</string>
|
||||||
<string name="update_to_bata_summary">检查更新查找其他签名版本</string>
|
<string name="update_to_variant_summary">检查更新时查找其他签名版本</string>
|
||||||
<string name="default_version">当前</string>
|
<string name="default_version">当前</string>
|
||||||
<string name="official_version">正式版</string>
|
<string name="official_version">正式版</string>
|
||||||
<string name="beta_release_version">测试版</string>
|
<string name="beta_release_version">测试版</string>
|
||||||
|
|||||||
@@ -1156,8 +1156,8 @@
|
|||||||
<string name="start_from">Start from</string>
|
<string name="start_from">Start from</string>
|
||||||
<string name="daily_chapters">Daily Chapters</string>
|
<string name="daily_chapters">Daily Chapters</string>
|
||||||
<string name="start_chapter">Start Chapter</string>
|
<string name="start_chapter">Start Chapter</string>
|
||||||
<string name="update_to_bata_title">更新至测试版</string>
|
<string name="update_to_variant_title">检查更新查找版本</string>
|
||||||
<string name="update_to_bata_summary">检查更新时查找最新的测试版本</string>
|
<string name="update_to_variant_summary">检查更新时查找其他签名版本</string>
|
||||||
<string name="default_version">当前</string>
|
<string name="default_version">当前</string>
|
||||||
<string name="official_version">正式版</string>
|
<string name="official_version">正式版</string>
|
||||||
<string name="beta_release_version">测试版</string>
|
<string name="beta_release_version">测试版</string>
|
||||||
|
|||||||
@@ -149,8 +149,8 @@
|
|||||||
<io.legado.app.lib.prefs.NameListPreference
|
<io.legado.app.lib.prefs.NameListPreference
|
||||||
android:defaultValue="default_version"
|
android:defaultValue="default_version"
|
||||||
android:key="updateToVariant"
|
android:key="updateToVariant"
|
||||||
android:summary="@string/update_to_bata_summary"
|
android:summary="@string/update_to_variant_summary"
|
||||||
android:title="@string/update_to_bata_title"
|
android:title="@string/update_to_variant_title"
|
||||||
app:allowDividerAbove="false"
|
app:allowDividerAbove="false"
|
||||||
app:allowDividerBelow="false"
|
app:allowDividerBelow="false"
|
||||||
app:entries="@array/default_app_variant"
|
app:entries="@array/default_app_variant"
|
||||||
|
|||||||
Reference in New Issue
Block a user