fix: simlink detect

This commit is contained in:
septs 2025-02-25 14:41:03 +08:00
parent 4a6d381b9e
commit fd40cdd6ad
Signed by: septs
SSH key fingerprint: SHA256:ElK0p6DNkbsqYUdJ3I9QHDVf21SQD0c2r+hd7s/r5Co
2 changed files with 6 additions and 8 deletions

View file

@ -24,7 +24,7 @@ import im.angry.openeuicc.core.EuiccChannel
import im.angry.openeuicc.core.EuiccChannelManager
import im.angry.openeuicc.util.*
import im.angry.openeuicc.vendored.getESTKmeInfo
import im.angry.openeuicc.vendored.getNineVersion
import im.angry.openeuicc.vendored.getSIMLinkVersion
import kotlinx.coroutines.launch
import net.typeblog.lpac_jni.impl.PKID_GSMA_LIVE_CI
import net.typeblog.lpac_jni.impl.PKID_GSMA_TEST_CI
@ -114,7 +114,7 @@ class EuiccInfoActivity : BaseEuiccAccessActivity(), OpenEuiccContextMarker {
add(Item(R.string.euicc_info_bl_ver, it.bootloaderVersion))
add(Item(R.string.euicc_info_fw_ver, it.firmwareVersion))
}
getNineVersion(channel.lpa.eID, channel.lpa.euiccInfo2)?.let {
getSIMLinkVersion(channel.lpa.eID, channel.lpa.euiccInfo2?.euiccFirmwareVersion)?.let {
add(Item(R.string.euicc_info_sku, "9eSIM $it"))
}
add(Item(R.string.euicc_info_eid, channel.lpa.eID, copiedToastResId = R.string.toast_eid_copied))

View file

@ -1,21 +1,19 @@
package im.angry.openeuicc.vendored
import net.typeblog.lpac_jni.EuiccInfo2
import net.typeblog.lpac_jni.Version
private val prefix = Regex("^89044045(84|21)67274948")
private val prefix = Regex("^89044045(84|21)67274948\\d+") // SIMLink EID prefix
fun getNineVersion(eid: String, euiccInfo2: EuiccInfo2?): String? {
if (euiccInfo2 == null) return null
fun getSIMLinkVersion(eid: String, version: Version?): String? {
if (version == null) return null
if (!prefix.matches(eid)) return null
val version = euiccInfo2.euiccFirmwareVersion
return when {
// @formatter:off
version >= Version(36, 7, 2) -> "v2"
version >= Version(36, 9, 3) -> "v2.1"
version >= Version(36, 17, 4) -> "v2s"
version >= Version(36, 17, 39) -> "v3 (beta)"
version >= Version(36, 18, 5) -> "v3"
version >= Version(36, 18, 5) -> "v3 (final)"
// @formatter:on
else -> null
}