Compare commits
1 commit
6df59833a4
...
09eaf77ffb
Author | SHA1 | Date | |
---|---|---|---|
09eaf77ffb |
1 changed files with 9 additions and 19 deletions
|
@ -2,30 +2,20 @@ package net.typeblog.lpac_jni
|
||||||
|
|
||||||
import android.util.Patterns
|
import android.util.Patterns
|
||||||
|
|
||||||
// example address in GSMA SGP.26, some chips use addresses like this
|
|
||||||
@Suppress("SpellCheckingInspection")
|
|
||||||
private val invalidDPAddresses = setOf(
|
|
||||||
"testrootsmds.gsma.com",
|
|
||||||
"testrootsmds.example.com",
|
|
||||||
)
|
|
||||||
|
|
||||||
data class EuiccConfiguredAddresses(
|
data class EuiccConfiguredAddresses(
|
||||||
val defaultDPAddress: String,
|
val defaultDPAddress: String,
|
||||||
val rootDSAddress: String
|
val rootDSAddress: String
|
||||||
) {
|
) {
|
||||||
val discoverable: Boolean
|
|
||||||
get() = isValidDefaultDPAddress || isValidRootDSAddress
|
|
||||||
|
|
||||||
val isValidDefaultDPAddress: Boolean
|
val isValidDefaultDPAddress: Boolean
|
||||||
get() {
|
get() = isValid(defaultDPAddress)
|
||||||
if (defaultDPAddress.isBlank()) return false
|
|
||||||
return Patterns.DOMAIN_NAME.matcher(defaultDPAddress).matches()
|
|
||||||
}
|
|
||||||
|
|
||||||
val isValidRootDSAddress: Boolean
|
val isValidRootDSAddress: Boolean
|
||||||
get() {
|
get() = isValid(rootDSAddress) || rootDSAddress == "lpa.ds.gsma.com"
|
||||||
if (rootDSAddress.isBlank()) return false
|
}
|
||||||
if (rootDSAddress in invalidDPAddresses) return false
|
|
||||||
return Patterns.DOMAIN_NAME.matcher(rootDSAddress).matches()
|
private fun isValid(address: String): Boolean {
|
||||||
}
|
if (address.isBlank()) return false
|
||||||
|
if (address.endsWith(".gsma.com")) return false
|
||||||
|
if (address.endsWith(".example.com")) return false
|
||||||
|
return Patterns.DOMAIN_NAME.matcher(address).matches()
|
||||||
}
|
}
|
Loading…
Add table
Reference in a new issue