diff --git a/app-common/src/main/java/im/angry/openeuicc/util/Vendors.kt b/app-common/src/main/java/im/angry/openeuicc/util/Vendors.kt index 8a49797..cc4cc56 100644 --- a/app-common/src/main/java/im/angry/openeuicc/util/Vendors.kt +++ b/app-common/src/main/java/im/angry/openeuicc/util/Vendors.kt @@ -132,16 +132,17 @@ private class Eastcompeace : EuiccVendor { override fun tryParseEuiccVendorInfo(channel: EuiccChannel): EuiccVendorInfo? { if (!channel.lpa.eID.startsWith(EID_PREFIX)) return null - return channel.apduInterface.withLogicalChannel(PRODUCT_AID) { transmit -> - val scid = decodeResponse(transmit(COMMAND))?.let(::SCID) - ?: return@withLogicalChannel null - Log.i(TAG, "Eastcompeace SCID: $scid") - EuiccVendorInfo( - skuName = "Eastcompeace", - serialNumber = scid.uniquelyIdentify.encodeHex(), - bootloaderVersion = scid.bootloaderVersion.encodeHex(), - firmwareVersion = scid.cosVersion.encodeHex(), - ) - } + return channel.apduInterface.withLogicalChannel(PRODUCT_AID, ::parseSCID) + } + + fun parseSCID(transmit: (ByteArray) -> ByteArray): EuiccVendorInfo? { + val scid = decodeResponse(transmit(COMMAND))?.let(::SCID) ?: return null + Log.i(TAG, "Eastcompeace SCID: $scid") + EuiccVendorInfo( + skuName = "Eastcompeace", + serialNumber = scid.uniquelyIdentify.encodeHex(), + bootloaderVersion = scid.bootloaderVersion.encodeHex(), + firmwareVersion = scid.cosVersion.encodeHex(), + ) } } \ No newline at end of file