From d20fab5459ee6052af3386b1df3080677fc47d70 Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Wed, 27 May 2026 18:14:56 -0400 Subject: [PATCH] fix(android) detekt: compareComponentWise via zip+firstOrNull (single return) Co-Authored-By: Claude Opus 4.7 (1M context) --- .../minstrel/update/data/UpdateRepository.kt | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) 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