From 8f685ed8ea2ac092b24ae6d39e5679c51abb4076 Mon Sep 17 00:00:00 2001 From: Bnyro Date: Sat, 1 Mar 2025 12:56:26 +0100 Subject: [PATCH] fix: update checker doesn't detect new releases properly --- .../github/libretube/util/UpdateChecker.kt | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/github/libretube/util/UpdateChecker.kt b/app/src/main/java/com/github/libretube/util/UpdateChecker.kt index 3b1bf38bc..6d8cf0341 100644 --- a/app/src/main/java/com/github/libretube/util/UpdateChecker.kt +++ b/app/src/main/java/com/github/libretube/util/UpdateChecker.kt @@ -18,14 +18,14 @@ import java.util.Locale class UpdateChecker(private val context: Context) { suspend fun checkUpdate(isManualCheck: Boolean = false) { - val currentAppVersion = BuildConfig.VERSION_NAME.replace(".", "").toInt() + val currentAppVersion = BuildConfig.VERSION_NAME.filter { it.isDigit() }.toInt() try { val response = RetrofitInstance.externalApi.getLatestRelease() // version would be in the format "0.21.1" - val update = response.name.replace(".", "").toIntOrNull() + val update = response.name.filter { it.isDigit() }.toInt() - if (update != null && currentAppVersion < update) { + if (currentAppVersion != update) { withContext(Dispatchers.Main) { showUpdateAvailableDialog(response.body, response.htmlUrl) } @@ -56,15 +56,15 @@ class UpdateChecker(private val context: Context) { } private fun sanitizeChangelog(changelog: String): String { - val removeBloat = changelog.substringBeforeLast("**Full Changelog**") - val removeLinks = removeBloat.replace(Regex("in https://github\\.com/\\S+"), "") - val uppercaseChangeType = - removeLinks.lines().joinToString("\n") { line -> + return changelog.substringBeforeLast("**Full Changelog**") + .replace(Regex("in https://github\\.com/\\S+"), "") + .lines().joinToString("\n") { line -> if (line.startsWith("##")) line.uppercase(Locale.ROOT) + " :" else line } - val removeHashes = uppercaseChangeType.replace("## ", "") - val cleanPrefix = removeHashes.replace("*", "•") - - return cleanPrefix.trim() + .replace("## ", "") + .replace(">", "") + .replace("*", "•") + .lines() + .joinToString("\n") { it.trim() } } }