std::string ReadText()

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;
  }