Skip to content

Commit 5fdd276

Browse files
author
SkyD666
committed
[feature]更改检查更新逻辑为根据版本代号判断(version_code)
1 parent cfc9c79 commit 5fdd276

6 files changed

Lines changed: 20 additions & 6 deletions

File tree

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<img src="https://codebeat.co/badges/63fb5d12-bece-4d8f-913e-5bcde2f01242" alt="codebeat badge" />
88
</a>
99
<a href="https://github.com/SkyD666/Imomoe/releases/latest" style="text-decoration:none">
10-
<img src="https://img.shields.io/github/v/release/SkyD666/Imomoe" alt="GitHub release (latest by date)"/>
10+
<img src="https://img.shields.io/github/v/release/SkyD666/Imomoe?display_name=release" alt="GitHub release (latest by date)"/>
1111
</a>
1212
<a href="https://github.com/SkyD666/Imomoe/releases/latest" style="text-decoration:none" >
1313
<img src="https://img.shields.io/github/downloads/SkyD666/Imomoe/total" alt="GitHub all downloads"/>
@@ -25,6 +25,7 @@
2525
</div>
2626

2727

28+
2829
----
2930

3031
## [>>必看使用说明(自定义数据源)<<](doc/customdatasource/README.md)

app/src/main/java/com/skyd/imomoe/model/AppUpdateModel.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import com.skyd.imomoe.App
66
import com.skyd.imomoe.bean.UpdateBean
77
import com.skyd.imomoe.net.RetrofitManager
88
import com.skyd.imomoe.net.service.UpdateService
9-
import com.skyd.imomoe.util.Util.isNewVersion
9+
import com.skyd.imomoe.util.Util.isNewVersionByVersionCode
1010
import com.skyd.imomoe.util.editor
1111
import com.skyd.imomoe.util.sharedPreferences
1212
import com.skyd.imomoe.util.update.AppUpdateHelper
@@ -59,7 +59,8 @@ object AppUpdateModel {
5959
updateBean = response.body()
6060
updateBean?.let {
6161
status.postValue(
62-
if (isNewVersion(updateBean?.tagName ?: "0")) AppUpdateStatus.DATED
62+
if (isNewVersionByVersionCode(updateBean?.tagName ?: "0"))
63+
AppUpdateStatus.DATED
6364
else AppUpdateStatus.VALID
6465
)
6566
return

app/src/main/java/com/skyd/imomoe/util/Util.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,17 @@ object Util {
288288
}
289289
}
290290

291+
fun isNewVersionByVersionCode(version: String): Boolean {
292+
val currentVersion = getAppVersionCode().toString()
293+
return try {
294+
version != currentVersion
295+
} catch (e: Exception) {
296+
e.printStackTrace()
297+
"检查版本号失败,建议手动到Github查看是否有更新\n当前版本代码:$currentVersion".showToast(Toast.LENGTH_LONG)
298+
false
299+
}
300+
}
301+
291302
fun isNewVersion(version: String): Boolean {
292303
val currentVersion = getAppVersionName()
293304
return try {

app/src/main/java/com/skyd/imomoe/util/update/AppUpdateHelper.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class AppUpdateHelper private constructor() {
3838
listOf<Function<Unit>> { checkUpdate() }
3939
val updateBean = AppUpdateModel.updateBean ?: return
4040
MaterialDialog(activity).show {
41-
title(text = "发现新版本:${updateBean.name}")
41+
title(text = "发现新版本\n版本名${updateBean.name}\n版本代号:${updateBean.tagName}")
4242
StringBuffer().apply {
4343
val size = updateBean.assets[0].size
4444
if (size > 0) {

app/src/main/java/com/skyd/imomoe/view/activity/AboutActivity.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import com.skyd.imomoe.config.Const
1111
import com.skyd.imomoe.databinding.ActivityAboutBinding
1212
import com.skyd.imomoe.model.DataSourceManager
1313
import com.skyd.imomoe.util.Util
14+
import com.skyd.imomoe.util.Util.getAppVersionCode
1415
import com.skyd.imomoe.util.Util.getAppVersionName
1516
import com.skyd.imomoe.util.Util.openBrowser
1617
import com.skyd.imomoe.util.visible
@@ -41,7 +42,7 @@ class AboutActivity : BaseActivity<ActivityAboutBinding>() {
4142
ivAboutActivityIconEgg.setImageResource(R.drawable.ic_christmas_hat)
4243
}
4344

44-
tvAboutActivityVersion.text = getAppVersionName()
45+
tvAboutActivityVersion.text = "版本名:${getAppVersionName()}\n版本代号:${getAppVersionCode()}"
4546

4647
rlAboutActivityImomoe.setOnClickListener {
4748
var warningString: String = getString(R.string.jump_to_data_source_website_warning)

version.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
ext.version_code = 18
1+
ext.version_code = 19
22
ext.version_name = "1.2.5_Akarin"
33

44
def build_versions = [:]

0 commit comments

Comments
 (0)