From fd40cdd6ad735f8041fa9c11a2fed30d8b6daa57 Mon Sep 17 00:00:00 2001 From: septs Date: Tue, 25 Feb 2025 14:41:03 +0800 Subject: [PATCH] fix: simlink detect --- .../java/im/angry/openeuicc/ui/EuiccInfoActivity.kt | 4 ++-- .../main/java/im/angry/openeuicc/vendored/simlink.kt | 10 ++++------ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/app-common/src/main/java/im/angry/openeuicc/ui/EuiccInfoActivity.kt b/app-common/src/main/java/im/angry/openeuicc/ui/EuiccInfoActivity.kt index f9ff6f1..68277aa 100644 --- a/app-common/src/main/java/im/angry/openeuicc/ui/EuiccInfoActivity.kt +++ b/app-common/src/main/java/im/angry/openeuicc/ui/EuiccInfoActivity.kt @@ -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)) diff --git a/app-common/src/main/java/im/angry/openeuicc/vendored/simlink.kt b/app-common/src/main/java/im/angry/openeuicc/vendored/simlink.kt index e0d2679..f783ea9 100644 --- a/app-common/src/main/java/im/angry/openeuicc/vendored/simlink.kt +++ b/app-common/src/main/java/im/angry/openeuicc/vendored/simlink.kt @@ -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 }