diff --git a/libs/lpac-jni/src/main/java/net/typeblog/lpac_jni/LocalProfileInfo.kt b/libs/lpac-jni/src/main/java/net/typeblog/lpac_jni/LocalProfileInfo.kt index 96e16ef..b9b4aa1 100644 --- a/libs/lpac-jni/src/main/java/net/typeblog/lpac_jni/LocalProfileInfo.kt +++ b/libs/lpac-jni/src/main/java/net/typeblog/lpac_jni/LocalProfileInfo.kt @@ -7,7 +7,9 @@ data class LocalProfileInfo( val nickName: String, val providerName: String, val isdpAID: String, - val profileClass: ProfileClass + val profileClass: ProfileClass, + val iconType: String, + val icon: String, ) enum class ProfileState { Enabled, Disabled } 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 d4fddd0..078428c 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 @@ -147,6 +147,8 @@ Java_net_typeblog_lpac_1jni_LpacJni_es10cGetProfilesInfo( "Ljava/lang/String;" // provider name "Ljava/lang/String;" // ISD-P AID "Lnet/typeblog/lpac_jni/ProfileClass;" + "Ljava/lang/String;" // icon type + "Ljava/lang/String;" // icon ")" "V" // (returns) void ); @@ -164,7 +166,9 @@ Java_net_typeblog_lpac_1jni_LpacJni_es10cGetProfilesInfo( toJString(env, info->profileNickname), toJString(env, info->serviceProviderName), toJString(env, info->isdpAid), - to_profile_class(info->profileClass) + to_profile_class(info->profileClass), + to_icon_type(env, info->iconType), + toJString(env, info->icon) ); (*env)->CallBooleanMethod(env, profile_list, add_profile, element); info = info->next; diff --git a/libs/lpac-jni/src/main/jni/lpac-jni/utils.c b/libs/lpac-jni/src/main/jni/lpac-jni/utils.c index 5a19f35..8494398 100644 --- a/libs/lpac-jni/src/main/jni/lpac-jni/utils.c +++ b/libs/lpac-jni/src/main/jni/lpac-jni/utils.c @@ -116,6 +116,21 @@ jobject to_profile_class(enum es10c_profile_class profile_class) { } } +jobject to_profile_management_operation(enum es10b_profile_management_operation operation) { + switch (operation) { + case ES10B_PROFILE_MANAGEMENT_OPERATION_INSTALL: + return profile_management_operation_install; + case ES10B_PROFILE_MANAGEMENT_OPERATION_DELETE: + return profile_management_operation_delete; + case ES10B_PROFILE_MANAGEMENT_OPERATION_ENABLE: + return profile_management_operation_enable; + case ES10B_PROFILE_MANAGEMENT_OPERATION_DISABLE: + return profile_management_operation_disable; + default: + return NULL; + } +} + jstring to_icon_type(JNIEnv *env, enum es10c_icon_type icon_type) { switch (icon_type) { case ES10C_ICON_TYPE_JPEG: @@ -182,25 +197,11 @@ jobject build_profile_metadata(JNIEnv *env, struct es8p_metadata *metadata) { toJString(env, metadata->profileName), to_icon_type(env, metadata->iconType), toJString(env, metadata->icon), - to_profile_class(metadata->profileClass) + to_profile_class(metadata->profileClass + ) ); } -jobject to_profile_management_operation(enum es10b_profile_management_operation operation) { - switch (operation) { - case ES10B_PROFILE_MANAGEMENT_OPERATION_INSTALL: - return profile_management_operation_install; - case ES10B_PROFILE_MANAGEMENT_OPERATION_DELETE: - return profile_management_operation_delete; - case ES10B_PROFILE_MANAGEMENT_OPERATION_ENABLE: - return profile_management_operation_enable; - case ES10B_PROFILE_MANAGEMENT_OPERATION_DISABLE: - return profile_management_operation_disable; - default: - return NULL; - } -} - jobject new_array_list(JNIEnv *env) { jclass array_list_class = (*env)->FindClass(env, ARRAY_LIST_CLASS); jmethodID array_list_constructor = (*env)->GetMethodID(env, array_list_class, "", "()V"); diff --git a/libs/lpac-jni/src/main/jni/lpac-jni/utils.h b/libs/lpac-jni/src/main/jni/lpac-jni/utils.h index 617f5f4..7f502f6 100644 --- a/libs/lpac-jni/src/main/jni/lpac-jni/utils.h +++ b/libs/lpac-jni/src/main/jni/lpac-jni/utils.h @@ -27,6 +27,10 @@ jobject to_profile_state(enum es10c_profile_state profile_state); jobject to_profile_class(enum es10c_profile_class profile_class); +jobject to_profile_management_operation(enum es10b_profile_management_operation operation); + +jstring to_icon_type(JNIEnv *env, enum es10c_icon_type icon_type); + jobject to_version(JNIEnv *env, const char *version); jobject to_string_set(JNIEnv *env, char **values); @@ -35,6 +39,4 @@ jobject to_string_list(JNIEnv *env, char **values); jobject build_profile_metadata(JNIEnv *env, struct es8p_metadata *metadata); -jobject to_profile_management_operation(enum es10b_profile_management_operation operation); - jobject new_array_list(JNIEnv *env);