diff --git a/libs/lpac-jni/src/main/jni/lpac-jni/lpac-notifications.c b/libs/lpac-jni/src/main/jni/lpac-jni/lpac-notifications.c index 6d2baf4..cacea54 100644 --- a/libs/lpac-jni/src/main/jni/lpac-jni/lpac-notifications.c +++ b/libs/lpac-jni/src/main/jni/lpac-jni/lpac-notifications.c @@ -12,7 +12,7 @@ jobject profile_management_operation_disable; jobject profile_management_operation_delete; jobject profile_management_operation_unknown; -jmethodID local_profile_notification_constructor; +jmethodID notification_constructor; #define LOCAL_PROFILE_NOTIFICATION_CLASS "net/typeblog/lpac_jni/LocalProfileNotification" #define PROFILE_MANAGEMENT_OPERATION_CLASS "net/typeblog/lpac_jni/ProfileManagementOperation" @@ -30,7 +30,7 @@ static jobject bind_static_field(JNIEnv *env, jclass clazz, const char *name, co void lpac_notifications_init(JNIEnv *env) { local_profile_notification_class = (*env)->FindClass(env, LOCAL_PROFILE_NOTIFICATION_CLASS); local_profile_notification_class = (*env)->NewGlobalRef(env, local_profile_notification_class); - local_profile_notification_constructor = (*env)->GetMethodID( + notification_constructor = (*env)->GetMethodID( env, local_profile_notification_class, "", "(JL" PROFILE_MANAGEMENT_OPERATION_CLASS ";Ljava/lang/String;Ljava/lang/String;)V"); @@ -71,8 +71,8 @@ Java_net_typeblog_lpac_1jni_LpacJni_es10bListNotification( jobject notifications ) { struct euicc_ctx *ctx = (struct euicc_ctx *) handle; - struct es10b_notification_metadata_list *metadata = NULL; - int ret = es10b_list_notification(ctx, &metadata); + struct es10b_notification_metadata_list *info = NULL; + int ret = es10b_list_notification(ctx, &info); if (ret < 0) { goto out; } @@ -84,19 +84,19 @@ Java_net_typeblog_lpac_1jni_LpacJni_es10bListNotification( ); jobject element; - while (metadata) { - jlong sequence_number = metadata->seqNumber; - jobject operation = to_profile_management_operation(metadata->profileManagementOperation); - jstring address = toJString(env, metadata->notificationAddress); - jstring iccid = toJString(env, metadata->iccid); + while (info) { element = (*env)->NewObject( - env, local_profile_notification_class, local_profile_notification_constructor, - sequence_number, operation, address, iccid); + env, local_profile_notification_class, notification_constructor, + info->seqNumber, + to_profile_management_operation(info->profileManagementOperation), + toJString(env, info->notificationAddress), + toJString(env, info->iccid) + ); (*env)->CallBooleanMethod(env, notifications, add_notification, element); - metadata = metadata->next; + info = info->next; } out: - es10b_notification_metadata_list_free_all(metadata); + es10b_notification_metadata_list_free_all(info); return ret; }