From fac255a27c1913b424e0756c49ea350e0d835f55 Mon Sep 17 00:00:00 2001 From: juntao Date: Sat, 21 Aug 2021 15:27:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E6=B8=B8=E6=88=8F=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E7=9B=B8=E5=85=B3=20https://git.ghzs.com/pm/halo-app-?= =?UTF-8?q?issues/-/issues/1392?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/com/gh/common/util/PackageUtils.java | 7 +++++++ app/src/main/java/com/gh/gamecenter/entity/ApkEntity.kt | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/gh/common/util/PackageUtils.java b/app/src/main/java/com/gh/common/util/PackageUtils.java index c7eac0709d..0b9b9c4f58 100644 --- a/app/src/main/java/com/gh/common/util/PackageUtils.java +++ b/app/src/main/java/com/gh/common/util/PackageUtils.java @@ -99,6 +99,8 @@ public class PackageUtils { // ghVersion 不存在即是非插件游戏 if (TextUtils.isEmpty(apkEntity.getGhVersion())) { + int versionCodeFromRequest = apkEntity.getVersionCode(); + int versionCodeFromInstalledApp = getVersionCodeByPackageName(apkEntity.getPackageName()); String versionFromRequest = apkEntity.getVersion(); String versionFromInstalledApp = getVersionNameByPackageName(apkEntity.getPackageName()); @@ -110,6 +112,11 @@ public class PackageUtils { // 根据版本判断是否需要更新 shouldShowUpdate = new Version(versionFromRequest).isHigherThan(versionFromInstalledApp); + // versionName 没法判定的时候尝试使用 versionCode 去判断 + if (!shouldShowUpdate && versionCodeFromRequest != 0) { + shouldShowUpdate = versionCodeFromRequest > versionCodeFromInstalledApp; + } + if (shouldShowUpdate) { GameUpdateEntity updateEntity = new GameUpdateEntity(); updateEntity.setId(gameEntity.getId()); diff --git a/app/src/main/java/com/gh/gamecenter/entity/ApkEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/ApkEntity.kt index fa96d3bf88..d702a22b8a 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/ApkEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/ApkEntity.kt @@ -36,7 +36,7 @@ data class ApkEntity(@SerializedName("package") @SerializedName("sign") var signature: String? = "", @SerializedName("version_code") - var versionCode: Int? = 0, + var versionCode: Int = 0, // 以下是历史版本用的字段,其它地方可能会没有 @SerializedName("update_time")