in auth/testapp/src/android/android_main.cc [192:221]
std::string ReadText(const char* title, const char* message,
const char* placeholder) {
if (text_entry_field_class_ == 0) return ""; // haven't been initted yet
JNIEnv* env = GetJniEnv();
assert(env);
jstring title_string = env->NewStringUTF(title);
jstring message_string = env->NewStringUTF(message);
jstring placeholder_string = env->NewStringUTF(placeholder);
jobject result_string = env->CallStaticObjectMethod(
text_entry_field_class_, text_entry_field_read_text_, GetActivity(),
title_string, message_string, placeholder_string);
env->DeleteLocalRef(title_string);
env->DeleteLocalRef(message_string);
env->DeleteLocalRef(placeholder_string);
if (env->ExceptionCheck()) {
env->ExceptionDescribe();
env->ExceptionClear();
}
if (result_string == nullptr) {
// Check if readText() returned null, which will be the case if an
// exception occurred or if TextEntryField returned null for some reason.
return "";
}
const char* result_buffer =
env->GetStringUTFChars(static_cast<jstring>(result_string), 0);
std::string result(result_buffer);
env->ReleaseStringUTFChars(static_cast<jstring>(result_string),
result_buffer);
return result;
}