8000 Update Android implementation. · firebase/firebase-cpp-sdk@fff19ca · GitHub
[go: up one dir, main page]

Skip to content

Commit fff19ca

Browse files
committed
Update Android implementation.
1 parent 5dbbfda commit fff19ca

File tree

1 file changed

+10
-15
lines changed

1 file changed

+10
-15
lines changed

analytics/src/analytics_android.cc

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -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 606D 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

Comments
 (0)
0