fix: Ignore prod build for nightly app

This commit is contained in:
Ahmad Ansori Palembani 2024-05-21 13:43:24 +07:00
parent 08446de7f3
commit 16c7e3c571
Signed by: null2264
GPG key ID: BA64F8B60AF3EFB6

View file

@ -91,11 +91,11 @@ class AppUpdateChecker {
val newPreReleaseVer = newVersion.split("-") val newPreReleaseVer = newVersion.split("-")
val oldPreReleaseVer = oldVersion.split("-") val oldPreReleaseVer = oldVersion.split("-")
val newSemVer = newPreReleaseVer.first().split(".").map { it.toInt() } val newSemVer = newPreReleaseVer.first().split(".").map { it.toInt() }
val isNightly = newSemVer.size == 1 val isNewVersionNightly = newSemVer.size == 1
val oldSemVer = oldPreReleaseVer.first().split(".").map { it.toInt() } val oldSemVer = oldPreReleaseVer.first().split(".").map { it.toInt() }
oldSemVer.mapIndexed { index, i -> oldSemVer.mapIndexed { index, i ->
if (!isNightly && newSemVer.getOrElse(index) { i } > i) { if (!isNewVersionNightly && newSemVer.getOrElse(index) { i } > i) {
return true return true
} else if (newSemVer.getOrElse(index) { i } < i) { } else if (newSemVer.getOrElse(index) { i } < i) {
return false return false
@ -104,7 +104,7 @@ class AppUpdateChecker {
// For cases of extreme patch versions (new: 1.2.3.1 vs old: 1.2.3, return true) // For cases of extreme patch versions (new: 1.2.3.1 vs old: 1.2.3, return true)
return if (newSemVer.size > oldSemVer.size) { return if (newSemVer.size > oldSemVer.size) {
true true
} else if (newSemVer.size < oldSemVer.size && !isNightly) { } else if (newSemVer.size < oldSemVer.size && !isNewVersionNightly) {
false false
} else { } else {
// If the version numbers match, check the beta versions // If the version numbers match, check the beta versions
@ -113,11 +113,14 @@ class AppUpdateChecker {
val oldPreVersion = val oldPreVersion =
oldPreReleaseVer.getOrNull(1)?.replace("[^\\d.-]".toRegex(), "")?.toIntOrNull() oldPreReleaseVer.getOrNull(1)?.replace("[^\\d.-]".toRegex(), "")?.toIntOrNull()
when { when {
oldPreVersion == null || newPreVersion == null -> false // FIXME: Check if the app is Nightly or Beta
/*
// For prod, don't bother with betas (current: 1.2.3 vs new: 1.2.3-b1) // For prod, don't bother with betas (current: 1.2.3 vs new: 1.2.3-b1)
oldPreVersion == null -> false oldPreVersion == null -> false
// For betas, always use prod builds (current: 1.2.3-b1 vs new: 1.2.3) // For betas, always use prod builds (current: 1.2.3-b1 vs new: 1.2.3)
newPreVersion == null -> true newPreVersion == null -> true
// For betas, higher beta ver is newer (current: 1.2.3-b1 vs new: 1.2.3-b2) */
// For nightly, higher beta ver is newer (current: 1.2.3-b1 vs new: 1.2.3-b2 or r2)
else -> (oldPreVersion < newPreVersion) else -> (oldPreVersion < newPreVersion)
} }
} }