diff --git a/app-common/src/main/java/im/angry/openeuicc/util/LPAString.kt b/app-common/src/main/java/im/angry/openeuicc/util/LPAString.kt index 30623c6..db5251d 100644 --- a/app-common/src/main/java/im/angry/openeuicc/util/LPAString.kt +++ b/app-common/src/main/java/im/angry/openeuicc/util/LPAString.kt @@ -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"