diff --git a/app/src/main/java/com/geeksville/mesh/model/DeviceVersion.kt b/app/src/main/java/com/geeksville/mesh/model/DeviceVersion.kt index e2096f2bf..d23574f48 100644 --- a/app/src/main/java/com/geeksville/mesh/model/DeviceVersion.kt +++ b/app/src/main/java/com/geeksville/mesh/model/DeviceVersion.kt @@ -27,7 +27,7 @@ data class DeviceVersion(val asString: String) : Comparable, Logg Regex("(\\d{1,2}).(\\d{1,2}).(\\d{1,2})").find(s) ?: throw Exception("Can't parse version $s") val (major, minor, build) = match.destructured - return major.toInt() * 1000 + minor.toInt() * 100 + build.toInt() + return major.toInt() * 10000 + minor.toInt() * 100 + build.toInt() } override fun compareTo(other: DeviceVersion): Int = asInt - other.asInt diff --git a/app/src/test/java/com/geeksville/mesh/model/DeviceVersionTest.kt b/app/src/test/java/com/geeksville/mesh/model/DeviceVersionTest.kt new file mode 100644 index 000000000..68434593e --- /dev/null +++ b/app/src/test/java/com/geeksville/mesh/model/DeviceVersionTest.kt @@ -0,0 +1,17 @@ +package com.geeksville.mesh.model + +import android.net.Uri +import org.junit.Assert.* +import org.junit.Test + +class DeviceVersionTest { + /** make sure we match the python and device code behavior */ + @Test + fun canParse() { + + assertEquals(10000, DeviceVersion("1.0.0").asInt) + assertEquals(10101, DeviceVersion("1.1.1").asInt) + assertEquals(12357, DeviceVersion("1.23.57").asInt) + assertEquals(12357, DeviceVersion("1.23.57.abde123").asInt) + } +} \ No newline at end of file