From 6bb05d910b877b882c2d2ca96782b10481aeecf5 Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Sun, 18 May 2025 11:46:56 -0400 Subject: [PATCH 1/2] [1/n] Add seId parameter to withEuiccChannel() Defaults to 0 so that it doesn't break everything else. --- .../java/im/angry/openeuicc/core/DefaultEuiccChannelManager.kt | 2 ++ .../main/java/im/angry/openeuicc/core/EuiccChannelManager.kt | 2 ++ .../src/main/java/im/angry/openeuicc/ui/EuiccInfoActivity.kt | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app-common/src/main/java/im/angry/openeuicc/core/DefaultEuiccChannelManager.kt b/app-common/src/main/java/im/angry/openeuicc/core/DefaultEuiccChannelManager.kt index 6b336cda..1d7a7fbb 100644 --- a/app-common/src/main/java/im/angry/openeuicc/core/DefaultEuiccChannelManager.kt +++ b/app-common/src/main/java/im/angry/openeuicc/core/DefaultEuiccChannelManager.kt @@ -174,6 +174,7 @@ open class DefaultEuiccChannelManager( override suspend fun withEuiccChannel( physicalSlotId: Int, portId: Int, + seId: Int, fn: suspend (EuiccChannel) -> R ): R { val channel = findEuiccChannelByPort(physicalSlotId, portId) @@ -190,6 +191,7 @@ open class DefaultEuiccChannelManager( override suspend fun withEuiccChannel( logicalSlotId: Int, + seId: Int, fn: suspend (EuiccChannel) -> R ): R { val channel = findEuiccChannelByLogicalSlot(logicalSlotId) diff --git a/app-common/src/main/java/im/angry/openeuicc/core/EuiccChannelManager.kt b/app-common/src/main/java/im/angry/openeuicc/core/EuiccChannelManager.kt index 17f3130c..ffa3606f 100644 --- a/app-common/src/main/java/im/angry/openeuicc/core/EuiccChannelManager.kt +++ b/app-common/src/main/java/im/angry/openeuicc/core/EuiccChannelManager.kt @@ -81,6 +81,7 @@ interface EuiccChannelManager { suspend fun withEuiccChannel( physicalSlotId: Int, portId: Int, + seId: Int = 0, fn: suspend (EuiccChannel) -> R ): R @@ -89,6 +90,7 @@ interface EuiccChannelManager { */ suspend fun withEuiccChannel( logicalSlotId: Int, + seId: Int = 0, fn: suspend (EuiccChannel) -> R ): R 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 1d5f37ff..f0bff399 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 @@ -92,7 +92,7 @@ class EuiccInfoActivity : BaseEuiccAccessActivity(), OpenEuiccContextMarker { lifecycleScope.launch { (infoList.adapter!! as EuiccInfoAdapter).euiccInfoItems = - euiccChannelManager.withEuiccChannel(logicalSlotId, ::buildEuiccInfoItems) + euiccChannelManager.withEuiccChannel(logicalSlotId, fn = ::buildEuiccInfoItems) swipeRefresh.isRefreshing = false } From 82f4c6b7d915fe668b0893ce1ebdd9d2e8288641 Mon Sep 17 00:00:00 2001 From: xqdoo00o Date: Mon, 26 May 2025 17:54:17 +0200 Subject: [PATCH 2/2] fix: build warning --- libs/lpac-jni/src/main/jni/lpac-jni/interface-wrapper.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/lpac-jni/src/main/jni/lpac-jni/interface-wrapper.c b/libs/lpac-jni/src/main/jni/lpac-jni/interface-wrapper.c index a61fc967..007e80de 100644 --- a/libs/lpac-jni/src/main/jni/lpac-jni/interface-wrapper.c +++ b/libs/lpac-jni/src/main/jni/lpac-jni/interface-wrapper.c @@ -80,7 +80,7 @@ apdu_interface_transmit(struct euicc_ctx *ctx, uint8_t **rx, uint32_t *rx_len, c LPAC_JNI_EXCEPTION_RETURN; *rx_len = (*env)->GetArrayLength(env, ret); *rx = calloc(*rx_len, sizeof(uint8_t)); - (*env)->GetByteArrayRegion(env, ret, 0, *rx_len, *rx); + (*env)->GetByteArrayRegion(env, ret, 0, *rx_len, (jbyte *) *rx); (*env)->DeleteLocalRef(env, txArr); (*env)->DeleteLocalRef(env, ret); return 0; @@ -113,7 +113,7 @@ http_interface_transmit(struct euicc_ctx *ctx, const char *url, uint32_t *rcode, jbyteArray rxArr = (jbyteArray) (*env)->GetObjectField(env, ret, field_resp_data); *rx_len = (*env)->GetArrayLength(env, rxArr); *rx = calloc(*rx_len, sizeof(uint8_t)); - (*env)->GetByteArrayRegion(env, rxArr, 0, *rx_len, *rx); + (*env)->GetByteArrayRegion(env, rxArr, 0, *rx_len, (jbyte *) *rx); (*env)->DeleteLocalRef(env, txArr); (*env)->DeleteLocalRef(env, rxArr); (*env)->DeleteLocalRef(env, headersArr);