MCPcopy Create free account
hub / github.com/NativeScript/android / ToJavaArray

Method ToJavaArray

test-app/runtime/src/main/cpp/JsArgToArrayConverter.cpp:426–452  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

424}
425
426jobjectArray JsArgToArrayConverter::ToJavaArray() {
427 if ((m_arr == nullptr) && (m_argsLen > 0)) {
428 if (m_argsLen >= JsArgToArrayConverter::MAX_JAVA_PARAMS_COUNT) {
429 stringstream ss;
430 ss << "You are trying to override more than the MAX_JAVA_PARAMS_COUNT: "
431 << JsArgToArrayConverter::MAX_JAVA_PARAMS_COUNT;
432 throw NativeScriptException(ss.str());
433 }
434
435 JEnv env;
436
437 if (JsArgToArrayConverter::JAVA_LANG_OBJECT_CLASS == nullptr) {
438 JsArgToArrayConverter::JAVA_LANG_OBJECT_CLASS = env.FindClass("java/lang/Object");
439 }
440
441 JniLocalRef tmpArr(
442 env.NewObjectArray(m_argsLen, JsArgToArrayConverter::JAVA_LANG_OBJECT_CLASS,
443 nullptr));
444 m_arr = (jobjectArray) env.NewGlobalRef(tmpArr);
445
446 for (int i = 0; i < m_argsLen; i++) {
447 env.SetObjectArrayElement(m_arr, i, m_argsAsObject[i]);
448 }
449 }
450
451 return m_arr;
452}
453
454JsArgToArrayConverter::~JsArgToArrayConverter() {
455 if (m_argsLen > 0) {

Callers 2

ResolveJavaMethodMethod · 0.80
ResolveConstructorMethod · 0.80

Calls 5

NewObjectArrayMethod · 0.80
NewGlobalRefMethod · 0.80
SetObjectArrayElementMethod · 0.80
FindClassMethod · 0.45

Tested by

no test coverage detected