From c61ad996dbc6fbb425d40a571e3072bcdd74de0d Mon Sep 17 00:00:00 2001 From: vvb2060 Date: Thu, 24 Jun 2021 15:58:59 +0800 Subject: [PATCH] [app] Check version code (#771) --- app/src/main/java/org/lsposed/manager/App.java | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/org/lsposed/manager/App.java b/app/src/main/java/org/lsposed/manager/App.java index 91e09c2f..2626d114 100644 --- a/app/src/main/java/org/lsposed/manager/App.java +++ b/app/src/main/java/org/lsposed/manager/App.java @@ -43,7 +43,6 @@ import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; import java.time.Instant; -import java.time.LocalDateTime; import java.time.ZoneOffset; import java.util.Locale; @@ -165,10 +164,10 @@ public class App extends Application { if (body == null) return; try { var info = JsonParser.parseReader(body.charStream()).getAsJsonObject(); - var published = info.get("published_at").getAsString(); - var time = LocalDateTime.parse(published).toInstant(ZoneOffset.UTC).getEpochSecond(); + var name = info.getAsJsonArray("assets").get(0).getAsJsonObject().get("name").getAsString(); + var code = Integer.parseInt(name.split("-", 4)[2]); var now = Instant.now().getEpochSecond(); - pref.edit().putLong("latest_release", time).putLong("latest_check", now).apply(); + pref.edit().putInt("latest_version", code).putLong("latest_check", now).apply(); } catch (Throwable t) { Log.e(App.TAG, t.getMessage(), t); } @@ -190,11 +189,8 @@ public class App extends Application { var checkTime = Instant.ofEpochSecond(check); if (checkTime.atOffset(ZoneOffset.UTC).plusDays(30).toInstant().isBefore(now)) return true; - var release = getPreferences().getLong("latest_release", 0); - if (release > 0) { - var releaseTime = Instant.ofEpochSecond(release); - return releaseTime.atOffset(ZoneOffset.UTC).minusDays(1).toInstant().isAfter(buildTime); - } + var code = getPreferences().getInt("latest_version", 0); + return code > BuildConfig.VERSION_CODE; } return buildTime.atOffset(ZoneOffset.UTC).plusDays(30).toInstant().isBefore(now); }