From 20cdb99a7b52f4c6ebc674f106fdeba4e56928e8 Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Sun, 16 Jun 2024 17:09:19 -0400 Subject: [PATCH] lpac-jni: Expose refresh flag to Kotlin --- .../java/net/typeblog/lpac_jni/LocalProfileAssistant.kt | 4 ++-- .../src/main/java/net/typeblog/lpac_jni/LpacJni.kt | 4 ++-- .../typeblog/lpac_jni/impl/LocalProfileAssistantImpl.kt | 8 ++++---- libs/lpac-jni/src/main/jni/lpac-jni/lpac-jni.c | 8 ++++---- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/libs/lpac-jni/src/main/java/net/typeblog/lpac_jni/LocalProfileAssistant.kt b/libs/lpac-jni/src/main/java/net/typeblog/lpac_jni/LocalProfileAssistant.kt index 16a91e7..89df38d 100644 --- a/libs/lpac-jni/src/main/java/net/typeblog/lpac_jni/LocalProfileAssistant.kt +++ b/libs/lpac-jni/src/main/java/net/typeblog/lpac_jni/LocalProfileAssistant.kt @@ -10,8 +10,8 @@ interface LocalProfileAssistant { // All blocking functions in this class assume that they are executed on non-Main threads // The IO context in Kotlin's coroutine library is recommended. - fun enableProfile(iccid: String): Boolean - fun disableProfile(iccid: String): Boolean + fun enableProfile(iccid: String, refresh: Boolean = false): Boolean + fun disableProfile(iccid: String, refresh: Boolean = false): Boolean fun deleteProfile(iccid: String): Boolean fun downloadProfile(smdp: String, matchingId: String?, imei: 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 836332e..5a706b9 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 @@ -15,8 +15,8 @@ internal object LpacJni { // null returns signify errors external fun es10cGetEid(handle: Long): String? external fun es10cGetProfilesInfo(handle: Long): Array? - external fun es10cEnableProfile(handle: Long, iccid: String): Int - external fun es10cDisableProfile(handle: Long, iccid: String): Int + external fun es10cEnableProfile(handle: Long, iccid: String, refresh: Boolean): Int + external fun es10cDisableProfile(handle: Long, iccid: String, refresh: Boolean): Int external fun es10cDeleteProfile(handle: Long, iccid: String): Int external fun es10cSetNickname(handle: Long, iccid: String, nick: String): Int 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 c0f81fb..b5e4b5c 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 @@ -58,13 +58,13 @@ class LocalProfileAssistantImpl( override val euiccInfo2: EuiccInfo2? get() = LpacJni.es10cexGetEuiccInfo2(contextHandle) - override fun enableProfile(iccid: String): Boolean = - (LpacJni.es10cEnableProfile(contextHandle, iccid) == 0).also { + override fun enableProfile(iccid: String, refresh: Boolean): Boolean = + (LpacJni.es10cEnableProfile(contextHandle, iccid, refresh) == 0).also { _profiles = null } - override fun disableProfile(iccid: String): Boolean = - (LpacJni.es10cDisableProfile(contextHandle, iccid) == 0).also { + override fun disableProfile(iccid: String, refresh: Boolean): Boolean = + (LpacJni.es10cDisableProfile(contextHandle, iccid, refresh) == 0).also { _profiles = null } 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 503f816..6ba8ebf 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 @@ -242,26 +242,26 @@ Java_net_typeblog_lpac_1jni_LpacJni_es10cGetProfilesInfo(JNIEnv *env, jobject th JNIEXPORT jint JNICALL Java_net_typeblog_lpac_1jni_LpacJni_es10cEnableProfile(JNIEnv *env, jobject thiz, jlong handle, - jstring iccid) { + jstring iccid, jboolean refresh) { struct euicc_ctx *ctx = (struct euicc_ctx *) handle; const char *_iccid = NULL; int ret; _iccid = (*env)->GetStringUTFChars(env, iccid, NULL); - ret = es10c_enable_profile(ctx, _iccid, 1); + ret = es10c_enable_profile(ctx, _iccid, refresh ? 1 : 0); (*env)->ReleaseStringUTFChars(env, iccid, _iccid); return ret; } JNIEXPORT jint JNICALL Java_net_typeblog_lpac_1jni_LpacJni_es10cDisableProfile(JNIEnv *env, jobject thiz, jlong handle, - jstring iccid) { + jstring iccid, jboolean refresh) { struct euicc_ctx *ctx = (struct euicc_ctx *) handle; const char *_iccid = NULL; int ret; _iccid = (*env)->GetStringUTFChars(env, iccid, NULL); - ret = es10c_disable_profile(ctx, _iccid, 1); + ret = es10c_disable_profile(ctx, _iccid, refresh ? 1 : 0); (*env)->ReleaseStringUTFChars(env, iccid, _iccid); return ret; }