diff --git a/android/app/src/main/java/com/fabledsword/minstrel/update/data/UpdateRepository.kt b/android/app/src/main/java/com/fabledsword/minstrel/update/data/UpdateRepository.kt index e046d162..7a25ef45 100644 --- a/android/app/src/main/java/com/fabledsword/minstrel/update/data/UpdateRepository.kt +++ b/android/app/src/main/java/com/fabledsword/minstrel/update/data/UpdateRepository.kt @@ -46,16 +46,14 @@ fun isVersionNewer(server: String, installed: String): Boolean { val n = maxOf(svr.size, ins.size) val svrPadded = svr + List(n - svr.size) { 0 } val insPadded = ins + List(n - ins.size) { 0 } - return compareComponentWise(svrPadded, insPadded, n) + return compareComponentWise(svrPadded, insPadded) } private fun parseVersion(v: String): List = v.removePrefix("v").split('.').map { it.toIntOrNull() ?: 0 } -private fun compareComponentWise(svr: List, ins: List, n: Int): Boolean { - for (i in 0 until n) { - if (svr[i] > ins[i]) return true - if (svr[i] < ins[i]) return false - } - return false -} +private fun compareComponentWise(svr: List, ins: List): Boolean = + svr.zip(ins) + .firstOrNull { (a, b) -> a != b } + ?.let { (a, b) -> a > b } + ?: false