You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-05 12:10:55 +00:00
Cleanup Android C++ code
This commit is contained in:
@@ -46,7 +46,7 @@ jvalret _variant_to_jvalue(JNIEnv *env, Variant::Type p_type, const Variant *p_a
|
||||
env->DeleteLocalRef(bclass);
|
||||
} else {
|
||||
v.val.z = *p_arg;
|
||||
};
|
||||
}
|
||||
} break;
|
||||
case Variant::INT: {
|
||||
if (force_jobject) {
|
||||
@@ -61,7 +61,7 @@ jvalret _variant_to_jvalue(JNIEnv *env, Variant::Type p_type, const Variant *p_a
|
||||
|
||||
} else {
|
||||
v.val.i = *p_arg;
|
||||
};
|
||||
}
|
||||
} break;
|
||||
case Variant::REAL: {
|
||||
if (force_jobject) {
|
||||
@@ -76,7 +76,7 @@ jvalret _variant_to_jvalue(JNIEnv *env, Variant::Type p_type, const Variant *p_a
|
||||
|
||||
} else {
|
||||
v.val.f = *p_arg;
|
||||
};
|
||||
}
|
||||
} break;
|
||||
case Variant::STRING: {
|
||||
String s = *p_arg;
|
||||
@@ -111,7 +111,7 @@ jvalret _variant_to_jvalue(JNIEnv *env, Variant::Type p_type, const Variant *p_a
|
||||
jstring str = env->NewStringUTF(String(keys[j]).utf8().get_data());
|
||||
env->SetObjectArrayElement(jkeys, j, str);
|
||||
env->DeleteLocalRef(str);
|
||||
};
|
||||
}
|
||||
|
||||
jmethodID set_keys = env->GetMethodID(dclass, "set_keys", "([Ljava/lang/String;)V");
|
||||
jvalue val;
|
||||
@@ -119,16 +119,16 @@ jvalret _variant_to_jvalue(JNIEnv *env, Variant::Type p_type, const Variant *p_a
|
||||
env->CallVoidMethodA(jdict, set_keys, &val);
|
||||
env->DeleteLocalRef(jkeys);
|
||||
|
||||
jobjectArray jvalues = env->NewObjectArray(keys.size(), env->FindClass("java/lang/Object"), NULL);
|
||||
jobjectArray jvalues = env->NewObjectArray(keys.size(), env->FindClass("java/lang/Object"), nullptr);
|
||||
|
||||
for (int j = 0; j < keys.size(); j++) {
|
||||
Variant var = dict[keys[j]];
|
||||
jvalret v = _variant_to_jvalue(env, var.get_type(), &var, true);
|
||||
env->SetObjectArrayElement(jvalues, j, v.val.l);
|
||||
if (v.obj) {
|
||||
env->DeleteLocalRef(v.obj);
|
||||
jvalret valret = _variant_to_jvalue(env, var.get_type(), &var, true);
|
||||
env->SetObjectArrayElement(jvalues, j, valret.val.l);
|
||||
if (valret.obj) {
|
||||
env->DeleteLocalRef(valret.obj);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
jmethodID set_values = env->GetMethodID(dclass, "set_values", "([Ljava/lang/Object;)V");
|
||||
val.l = jvalues;
|
||||
@@ -182,7 +182,7 @@ String _get_class_name(JNIEnv *env, jclass cls, bool *array) {
|
||||
if (array) {
|
||||
jmethodID isArray = env->GetMethodID(cclass, "isArray", "()Z");
|
||||
jboolean isarr = env->CallBooleanMethod(cls, isArray);
|
||||
(*array) = isarr ? true : false;
|
||||
(*array) = isarr != 0;
|
||||
}
|
||||
String name = jstring_to_string(clsName, env);
|
||||
env->DeleteLocalRef(clsName);
|
||||
@@ -191,7 +191,7 @@ String _get_class_name(JNIEnv *env, jclass cls, bool *array) {
|
||||
}
|
||||
|
||||
Variant _jobject_to_variant(JNIEnv *env, jobject obj) {
|
||||
if (obj == NULL) {
|
||||
if (obj == nullptr) {
|
||||
return Variant();
|
||||
}
|
||||
|
||||
@@ -201,7 +201,7 @@ Variant _jobject_to_variant(JNIEnv *env, jobject obj) {
|
||||
|
||||
if (name == "java.lang.String") {
|
||||
return jstring_to_string((jstring)obj, env);
|
||||
};
|
||||
}
|
||||
|
||||
if (name == "[Ljava.lang.String;") {
|
||||
jobjectArray arr = (jobjectArray)obj;
|
||||
@@ -215,20 +215,20 @@ Variant _jobject_to_variant(JNIEnv *env, jobject obj) {
|
||||
}
|
||||
|
||||
return sarr;
|
||||
};
|
||||
}
|
||||
|
||||
if (name == "java.lang.Boolean") {
|
||||
jmethodID boolValue = env->GetMethodID(c, "booleanValue", "()Z");
|
||||
bool ret = env->CallBooleanMethod(obj, boolValue);
|
||||
return ret;
|
||||
};
|
||||
}
|
||||
|
||||
if (name == "java.lang.Integer" || name == "java.lang.Long") {
|
||||
jclass nclass = env->FindClass("java/lang/Number");
|
||||
jmethodID longValue = env->GetMethodID(nclass, "longValue", "()J");
|
||||
jlong ret = env->CallLongMethod(obj, longValue);
|
||||
return ret;
|
||||
};
|
||||
}
|
||||
|
||||
if (name == "[I") {
|
||||
jintArray arr = (jintArray)obj;
|
||||
@@ -240,7 +240,7 @@ Variant _jobject_to_variant(JNIEnv *env, jobject obj) {
|
||||
env->GetIntArrayRegion(arr, 0, fCount, w.ptr());
|
||||
w.release();
|
||||
return sarr;
|
||||
};
|
||||
}
|
||||
|
||||
if (name == "[B") {
|
||||
jbyteArray arr = (jbyteArray)obj;
|
||||
@@ -252,14 +252,14 @@ Variant _jobject_to_variant(JNIEnv *env, jobject obj) {
|
||||
env->GetByteArrayRegion(arr, 0, fCount, reinterpret_cast<signed char *>(w.ptr()));
|
||||
w.release();
|
||||
return sarr;
|
||||
};
|
||||
}
|
||||
|
||||
if (name == "java.lang.Float" || name == "java.lang.Double") {
|
||||
jclass nclass = env->FindClass("java/lang/Number");
|
||||
jmethodID doubleValue = env->GetMethodID(nclass, "doubleValue", "()D");
|
||||
double ret = env->CallDoubleMethod(obj, doubleValue);
|
||||
return ret;
|
||||
};
|
||||
}
|
||||
|
||||
if (name == "[D") {
|
||||
jdoubleArray arr = (jdoubleArray)obj;
|
||||
@@ -273,9 +273,9 @@ Variant _jobject_to_variant(JNIEnv *env, jobject obj) {
|
||||
double n;
|
||||
env->GetDoubleArrayRegion(arr, i, 1, &n);
|
||||
w.ptr()[i] = n;
|
||||
};
|
||||
}
|
||||
return sarr;
|
||||
};
|
||||
}
|
||||
|
||||
if (name == "[F") {
|
||||
jfloatArray arr = (jfloatArray)obj;
|
||||
@@ -289,9 +289,9 @@ Variant _jobject_to_variant(JNIEnv *env, jobject obj) {
|
||||
float n;
|
||||
env->GetFloatArrayRegion(arr, i, 1, &n);
|
||||
w.ptr()[i] = n;
|
||||
};
|
||||
}
|
||||
return sarr;
|
||||
};
|
||||
}
|
||||
|
||||
if (name == "[Ljava.lang.Object;") {
|
||||
jobjectArray arr = (jobjectArray)obj;
|
||||
@@ -306,7 +306,7 @@ Variant _jobject_to_variant(JNIEnv *env, jobject obj) {
|
||||
}
|
||||
|
||||
return varr;
|
||||
};
|
||||
}
|
||||
|
||||
if (name == "java.util.HashMap" || name == "org.godotengine.godot.Dictionary") {
|
||||
Dictionary ret;
|
||||
@@ -325,10 +325,10 @@ Variant _jobject_to_variant(JNIEnv *env, jobject obj) {
|
||||
|
||||
for (int i = 0; i < keys.size(); i++) {
|
||||
ret[keys[i]] = vals[i];
|
||||
};
|
||||
}
|
||||
|
||||
return ret;
|
||||
};
|
||||
}
|
||||
|
||||
env->DeleteLocalRef(c);
|
||||
|
||||
@@ -351,14 +351,15 @@ Variant::Type get_jni_type(const String &p_type) {
|
||||
{ "[F", Variant::POOL_REAL_ARRAY },
|
||||
{ "[Ljava.lang.String;", Variant::POOL_STRING_ARRAY },
|
||||
{ "org.godotengine.godot.Dictionary", Variant::DICTIONARY },
|
||||
{ NULL, Variant::NIL }
|
||||
{ nullptr, Variant::NIL }
|
||||
};
|
||||
|
||||
int idx = 0;
|
||||
|
||||
while (_type_to_vtype[idx].name) {
|
||||
if (p_type == _type_to_vtype[idx].name)
|
||||
if (p_type == _type_to_vtype[idx].name) {
|
||||
return _type_to_vtype[idx].type;
|
||||
}
|
||||
|
||||
idx++;
|
||||
}
|
||||
@@ -382,14 +383,15 @@ const char *get_jni_sig(const String &p_type) {
|
||||
{ "[B", "[B" },
|
||||
{ "[F", "[F" },
|
||||
{ "[Ljava.lang.String;", "[Ljava/lang/String;" },
|
||||
{ NULL, "V" }
|
||||
{ nullptr, "V" }
|
||||
};
|
||||
|
||||
int idx = 0;
|
||||
|
||||
while (_type_to_vtype[idx].name) {
|
||||
if (p_type == _type_to_vtype[idx].name)
|
||||
if (p_type == _type_to_vtype[idx].name) {
|
||||
return _type_to_vtype[idx].sig;
|
||||
}
|
||||
|
||||
idx++;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user