@@ -23,6 +23,8 @@ import im.angry.openeuicc.common.R
23
23
import im.angry.openeuicc.core.EuiccChannel
24
24
import im.angry.openeuicc.core.EuiccChannelManager
25
25
import im.angry.openeuicc.util.*
26
+ import im.angry.openeuicc.vendored.getESTKmeInfo
27
+ import im.angry.openeuicc.vendored.getSIMLinkVersion
26
28
import kotlinx.coroutines.launch
27
29
import net.typeblog.lpac_jni.impl.PKID_GSMA_LIVE_CI
28
30
import net.typeblog.lpac_jni.impl.PKID_GSMA_TEST_CI
@@ -100,24 +102,22 @@ class EuiccInfoActivity : BaseEuiccAccessActivity(), OpenEuiccContextMarker {
100
102
101
103
private fun buildEuiccInfoItems (channel : EuiccChannel ) = buildList {
102
104
add(Item (R .string.euicc_info_access_mode, channel.type))
103
- add(
104
- Item (
105
- R .string.euicc_info_removable,
106
- formatByBoolean(channel.port.card.isRemovable, YES_NO )
107
- )
108
- )
109
- add(
110
- Item (
111
- R .string.euicc_info_eid,
112
- channel.lpa.eID,
113
- copiedToastResId = R .string.toast_eid_copied
114
- )
115
- )
105
+ add(Item (R .string.euicc_info_removable, formatByBoolean(channel.port.card.isRemovable, YES_NO )))
106
+ add(Item (R .string.euicc_info_eid, channel.lpa.eID, copiedToastResId = R .string.toast_eid_copied))
107
+ getESTKmeInfo(channel.apduInterface)?.let {
108
+ add(Item (R .string.euicc_info_sku, it.skuName))
109
+ add(Item (R .string.euicc_info_sn, it.serialNumber, copiedToastResId = R .string.toast_sn_copied))
110
+ add(Item (R .string.euicc_info_bl_ver, it.bootloaderVersion))
111
+ add(Item (R .string.euicc_info_fw_ver, it.firmwareVersion))
112
+ }
113
+ getSIMLinkVersion(channel.lpa.eID, channel.lpa.euiccInfo2?.euiccFirmwareVersion)?.let {
114
+ add(Item (R .string.euicc_info_sku, " 9eSIM $it " ))
115
+ }
116
116
channel.lpa.euiccInfo2.let { info ->
117
- add(Item (R .string.euicc_info_sgp22_version, info?.sgp22Version))
118
- add(Item (R .string.euicc_info_firmware_version, info?.euiccFirmwareVersion))
119
- add(Item (R .string.euicc_info_globalplatform_version, info?.globalPlatformVersion))
120
- add(Item (R .string.euicc_info_pp_version, info?.ppVersion))
117
+ add(Item (R .string.euicc_info_sgp22_version, info?.sgp22Version.toString() ))
118
+ add(Item (R .string.euicc_info_firmware_version, info?.euiccFirmwareVersion.toString() ))
119
+ add(Item (R .string.euicc_info_globalplatform_version, info?.globalPlatformVersion.toString() ))
120
+ add(Item (R .string.euicc_info_pp_version, info?.ppVersion.toString() ))
121
121
add(Item (R .string.euicc_info_sas_accreditation_number, info?.sasAccreditationNumber))
122
122
add(Item (R .string.euicc_info_free_nvram, info?.freeNvram?.let (::formatFreeSpace)))
123
123
}
@@ -134,13 +134,8 @@ class EuiccInfoActivity : BaseEuiccAccessActivity(), OpenEuiccContextMarker {
134
134
}
135
135
add(Item (R .string.euicc_info_ci_type, getString(resId)))
136
136
}
137
- add(
138
- Item (
139
- R .string.euicc_info_atr,
140
- channel.atr?.encodeHex() ? : getString(R .string.information_unavailable),
141
- copiedToastResId = R .string.toast_atr_copied,
142
- )
143
- )
137
+ val atr = channel.atr?.encodeHex() ? : getString(R .string.information_unavailable)
138
+ add(Item (R .string.euicc_info_atr, atr, copiedToastResId = R .string.toast_atr_copied))
144
139
}
145
140
146
141
private fun formatByBoolean (b : Boolean , res : Pair <Int , Int >): String =
0 commit comments