From 8a6873bf6d1e18148ab417a9d662ef361180f2b2 Mon Sep 17 00:00:00 2001 From: septs Date: Wed, 18 Dec 2024 21:17:32 +0800 Subject: [PATCH] feat: show card sgp.22 version in euicc info activity --- .../src/main/java/im/angry/openeuicc/ui/EuiccInfoActivity.kt | 1 + app-common/src/main/res/values/strings.xml | 1 + libs/lpac-jni/src/main/java/net/typeblog/lpac_jni/EuiccInfo2.kt | 1 + libs/lpac-jni/src/main/java/net/typeblog/lpac_jni/LpacJni.kt | 1 + .../java/net/typeblog/lpac_jni/impl/LocalProfileAssistantImpl.kt | 1 + libs/lpac-jni/src/main/jni/lpac-jni/lpac-jni.c | 1 + 6 files changed, 6 insertions(+) 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 aca2572..df206c8 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 @@ -114,6 +114,7 @@ class EuiccInfoActivity : BaseEuiccAccessActivity(), OpenEuiccContextMarker { ) ) channel.lpa.euiccInfo2.let { info -> + add(Item(R.string.euicc_info_sgp22_version, info?.sgp22Version)) add(Item(R.string.euicc_info_firmware_version, info?.euiccFirmwareVersion)) add(Item(R.string.euicc_info_globalplatform_version, info?.globalPlatformVersion)) add(Item(R.string.euicc_info_pp_version, info?.ppVersion)) diff --git a/app-common/src/main/res/values/strings.xml b/app-common/src/main/res/values/strings.xml index 7b0ff69..7fed4f0 100644 --- a/app-common/src/main/res/values/strings.xml +++ b/app-common/src/main/res/values/strings.xml @@ -121,6 +121,7 @@ Access Mode Removable EID + SGP.22 Version eUICC OS Version GlobalPlatform Version SAS Accreditation Number diff --git a/libs/lpac-jni/src/main/java/net/typeblog/lpac_jni/EuiccInfo2.kt b/libs/lpac-jni/src/main/java/net/typeblog/lpac_jni/EuiccInfo2.kt index e69c7ff..6c73051 100644 --- a/libs/lpac-jni/src/main/java/net/typeblog/lpac_jni/EuiccInfo2.kt +++ b/libs/lpac-jni/src/main/java/net/typeblog/lpac_jni/EuiccInfo2.kt @@ -2,6 +2,7 @@ package net.typeblog.lpac_jni /* Corresponds to EuiccInfo2 in SGP.22 */ data class EuiccInfo2( + val sgp22Version: String, val profileVersion: String, val euiccFirmwareVersion: String, val globalPlatformVersion: String, diff --git a/libs/lpac-jni/src/main/java/net/typeblog/lpac_jni/LpacJni.kt b/libs/lpac-jni/src/main/java/net/typeblog/lpac_jni/LpacJni.kt index d50c1c1..370fcab 100644 --- a/libs/lpac-jni/src/main/java/net/typeblog/lpac_jni/LpacJni.kt +++ b/libs/lpac-jni/src/main/java/net/typeblog/lpac_jni/LpacJni.kt @@ -62,6 +62,7 @@ internal object LpacJni { external fun notificationsFree(head: Long) // EuiccInfo2 external fun euiccInfo2Free(info: Long) + external fun euiccInfo2GetSGP22Version(info: Long): String external fun euiccInfo2GetProfileVersion(info: Long): String external fun euiccInfo2GetEuiccFirmwareVersion(info: Long): String external fun euiccInfo2GetGlobalPlatformVersion(info: Long): String diff --git a/libs/lpac-jni/src/main/java/net/typeblog/lpac_jni/impl/LocalProfileAssistantImpl.kt b/libs/lpac-jni/src/main/java/net/typeblog/lpac_jni/impl/LocalProfileAssistantImpl.kt index 0330d82..7310acd 100644 --- a/libs/lpac-jni/src/main/java/net/typeblog/lpac_jni/impl/LocalProfileAssistantImpl.kt +++ b/libs/lpac-jni/src/main/java/net/typeblog/lpac_jni/impl/LocalProfileAssistantImpl.kt @@ -171,6 +171,7 @@ class LocalProfileAssistantImpl( } val ret = EuiccInfo2( + LpacJni.euiccInfo2GetSGP22Version(cInfo), LpacJni.euiccInfo2GetProfileVersion(cInfo), LpacJni.euiccInfo2GetEuiccFirmwareVersion(cInfo), LpacJni.euiccInfo2GetGlobalPlatformVersion(cInfo), diff --git a/libs/lpac-jni/src/main/jni/lpac-jni/lpac-jni.c b/libs/lpac-jni/src/main/jni/lpac-jni/lpac-jni.c index e438107..38d4f3a 100644 --- a/libs/lpac-jni/src/main/jni/lpac-jni/lpac-jni.c +++ b/libs/lpac-jni/src/main/jni/lpac-jni/lpac-jni.c @@ -266,6 +266,7 @@ void lpac_jni_euiccinfo2_free(struct es10c_ex_euiccinfo2 *info) { LPAC_JNI_STRUCT_GETTER_NULL_TERM_LIST_NEXT(char*, stringArr) LPAC_JNI_STRUCT_FREE(struct es10c_ex_euiccinfo2, euiccInfo2, lpac_jni_euiccinfo2_free) +LPAC_JNI_STRUCT_GETTER_STRING(struct es10c_ex_euiccinfo2, euiccInfo2, svn, SGP22Version) LPAC_JNI_STRUCT_GETTER_STRING(struct es10c_ex_euiccinfo2, euiccInfo2, profileVersion, ProfileVersion) LPAC_JNI_STRUCT_GETTER_STRING(struct es10c_ex_euiccinfo2, euiccInfo2, euiccFirmwareVer, EuiccFirmwareVersion) LPAC_JNI_STRUCT_GETTER_STRING(struct es10c_ex_euiccinfo2, euiccInfo2, globalplatformVersion, GlobalPlatformVersion) -- 2.45.3