Compare commits

..

1 commit

Author SHA1 Message Date
bb5417d37f
chore: improve lpa string parsing 2025-03-16 16:15:16 +08:00

View file

@ -9,12 +9,11 @@ data class LPAString(
companion object {
fun parse(input: String): LPAString {
var token = input
if (token.startsWith("LPA:", true)) token = token.drop(4)
if (token.startsWith("LPA:", ignoreCase = true)) token = token.drop(4)
val components = token.split('$').map { it.trim().ifBlank { null } }
check(components.size > 1) { "Invalid activation code format" }
check(components[0] == "1") { "Invalid AC_Format" }
check(components.getOrNull(0) == "1") { "Invalid AC_Format" }
return LPAString(
checkNotNull(components[1]) { "SM-DP+ is required" },
checkNotNull(components.getOrNull(1)) { "SM-DP+ is required" },
components.getOrNull(2),
components.getOrNull(3),
components.getOrNull(4) == "1"