@@ -750,30 +750,23 @@ void SetDefaultEventParameters(
750750 jmethodID put_method_id = util::map::GetMethodId (util::map::kPut );
751751
752752 for (const auto & pair : parameters) {
753- jstring key_string = env->NewStringUTF (pair.first .c_str ());
754753 jobject jni_value;
755754 if (pair.second .is_int64 ()) {
756755 jni_value =
757- env->NewObject (util::integer_java_class_type::GetClass (),
758- util::bundle::GetMethodId (util::bundle::kConstructor ));
756+ env->NewObject (util::integer_class::GetClass (),
757+ util::bundle::GetMethodId (util::bundle::kConstructor ),
758+ pair.second .int64_value ());
759759 } else if (pair.second .is_double ()) {
760760 jni_value =
761- env->NewObject (util::double_java_class_type::GetClass (),
762- util::bundle::GetMethodId (util::bundle::kConstructor ));
761+ env->NewObject (util::double_class::GetClass (),
762+ util::bundle::GetMethodId (util::bundle::kConstructor ),
763+ pair.second .double_value ());
763764 } else if (pair.second .is_string ()) {
764765 jni_value =
765- env->NewObject (util::string_java_class_type ::GetClass (),
766+ env->NewObject (util::string ::GetClass (),
766767 util::bundle::GetMethodId (util::bundle::kConstructor ));
767768 } else if (pair.second .is_map ()) {
768- jobject jni_bundle = MapToBundle (env, pair.second .map ());
769- jobject previous_value = env->CallObjectMethod (
770- bundle, put_method_id, env->NewStringUTF (key_string.c_str ()),
771- jni_bundle);
772- util::CheckAndClearJniExceptions (env);
773- if (previous_value) {
774- env->DeleteLocalRef (previous_value);
775- }
776-
769+ jni_value = env->NewStringUTF (pair.second .c_str ());
777770 } else {
778771 // A Variant type that couldn't be handled was passed in.
779772 LogError (
@@ -782,11 +775,13 @@ void SetDefaultEventParameters(
782775 pair.first .c_str (), Variant::TypeName (pair.second .type ()));
783776 continue ;
784777 }
778+ jstring key_string = env->NewStringUTF (pair.first .c_str ());
785779 jobject previous_value =
786780 env->CallObjectMethod (map, put_method_id, key_string, jni_value);
787781 util::CheckAndClearJniExceptions (env);
788782 env->DeleteLocalRef (jni_value);
789783 env->DeleteLocalRef (key_string);
784+ env->DeleteLocalRef (previous_value);
790785 }
791786
792787 env->CallVoidMethod (
0 commit comments