Lines Matching refs:env

32         JNIEnv *env, jobjectArray keys, jobjectArray values,
38 nKeyValuePairs = env->GetArrayLength(keys);
39 failed = (nKeyValuePairs != env->GetArrayLength(values));
49 jniThrowException(env, "java/lang/IllegalArgumentException", NULL);
56 jstring key = (jstring) env->GetObjectArrayElement(keys, i);
57 jstring value = (jstring) env->GetObjectArrayElement(values, i);
59 const char* keyStr = env->GetStringUTFChars(key, NULL);
64 const char* valueStr = env->GetStringUTFChars(value, NULL);
66 env->ReleaseStringUTFChars(key, keyStr);
72 env->ReleaseStringUTFChars(key, keyStr);
73 env->ReleaseStringUTFChars(value, valueStr);
74 env->DeleteLocalRef(key);
75 env->DeleteLocalRef(value);
80 static jobject makeIntegerObject(JNIEnv *env, int32_t value) {
81 ScopedLocalRef<jclass> clazz(env, env->FindClass("java/lang/Integer"));
85 env->GetMethodID(clazz.get(), "<init>", "(I)V");
88 return env->NewObject(clazz.get(), integerConstructID, value);
91 static jobject makeLongObject(JNIEnv *env, int64_t value) {
92 ScopedLocalRef<jclass> clazz(env, env->FindClass("java/lang/Long"));
95 jmethodID longConstructID = env->GetMethodID(clazz.get(), "<init>", "(J)V");
98 return env->NewObject(clazz.get(), longConstructID, value);
101 static jobject makeFloatObject(JNIEnv *env, float value) {
102 ScopedLocalRef<jclass> clazz(env, env->FindClass("java/lang/Float"));
106 env->GetMethodID(clazz.get(), "<init>", "(F)V");
109 return env->NewObject(clazz.get(), floatConstructID, value);
113 JNIEnv *env, const void *data, size_t size) {
114 jbyteArray byteArrayObj = env->NewByteArray(size);
115 env->SetByteArrayRegion(byteArrayObj, 0, size, (const jbyte *)data);
117 ScopedLocalRef<jclass> clazz(env, env->FindClass("java/nio/ByteBuffer"));
121 env->GetStaticMethodID(
125 jobject byteBufObj = env->CallStaticObjectMethod(
128 env->DeleteLocalRef(byteArrayObj); byteArrayObj = NULL;
134 JNIEnv *env, jobject hashMapObj, jmethodID hashMapPutID,
136 jstring keyObj = env->NewStringUTF(key);
137 jobject valueObj = makeIntegerObject(env, value);
139 jobject res = env->CallObjectMethod(
142 env->DeleteLocalRef(valueObj); valueObj = NULL;
143 env->DeleteLocalRef(keyObj); keyObj = NULL;
147 JNIEnv *env, const sp<AMessage> &msg, jobject *map) {
149 env, env->FindClass("java/util/HashMap"));
156 env->GetMethodID(hashMapClazz.get(), "<init>", "()V");
163 env->GetMethodID(
172 jobject hashMap = env->NewObject(hashMapClazz.get(), hashMapConstructID);
186 valueObj = makeIntegerObject(env, val);
195 valueObj = makeLongObject(env, val);
204 valueObj = makeFloatObject(env, val);
213 valueObj = env->NewStringUTF(val.c_str());
223 env, buffer->data(), buffer->size());
233 env,
240 env,
247 env,
254 env,
267 jstring keyObj = env->NewStringUTF(key);
269 jobject res = env->CallObjectMethod(
272 env->DeleteLocalRef(keyObj); keyObj = NULL;
273 env->DeleteLocalRef(valueObj); valueObj = NULL;
283 JNIEnv *env, jobjectArray keys, jobjectArray values,
285 ScopedLocalRef<jclass> stringClass(env, env->FindClass("java/lang/String"));
287 ScopedLocalRef<jclass> integerClass(env, env->FindClass("java/lang/Integer"));
289 ScopedLocalRef<jclass> longClass(env, env->FindClass("java/lang/Long"));
291 ScopedLocalRef<jclass> floatClass(env, env->FindClass("java/lang/Float"));
293 ScopedLocalRef<jclass> byteBufClass(env, env->FindClass("java/nio/ByteBuffer"));
305 numEntries = env->GetArrayLength(keys);
307 if (numEntries != env->GetArrayLength(values)) {
315 jobject keyObj = env->GetObjectArrayElement(keys, i);
317 if (!env->IsInstanceOf(keyObj, stringClass.get())) {
321 const char *tmp = env->GetStringUTFChars((jstring)keyObj, NULL);
329 env->ReleaseStringUTFChars((jstring)keyObj, tmp);
332 jobject valueObj = env->GetObjectArrayElement(values, i);
334 if (env->IsInstanceOf(valueObj, stringClass.get())) {
335 const char *value = env->GetStringUTFChars((jstring)valueObj, NULL);
343 env->ReleaseStringUTFChars((jstring)valueObj, value);
345 } else if (env->IsInstanceOf(valueObj, integerClass.get())) {
347 env->GetMethodID(integerClass.get(), "intValue", "()I");
350 jint value = env->CallIntMethod(valueObj, intValueID);
353 } else if (env->IsInstanceOf(valueObj, longClass.get())) {
355 env->GetMethodID(longClass.get(), "longValue", "()J");
358 jlong value = env->CallLongMethod(valueObj, longValueID);
361 } else if (env->IsInstanceOf(valueObj, floatClass.get())) {
363 env->GetMethodID(floatClass.get(), "floatValue", "()F");
366 jfloat value = env->CallFloatMethod(valueObj, floatValueID);
369 } else if (env->IsInstanceOf(valueObj, byteBufClass.get())) {
371 env->GetMethodID(byteBufClass.get(), "position", "()I");
375 env->GetMethodID(byteBufClass.get(), "limit", "()I");
378 jint position = env->CallIntMethod(valueObj, positionID);
379 jint limit = env->CallIntMethod(valueObj, limitID);
383 void *data = env->GetDirectBufferAddress(valueObj);
391 env->GetMethodID(byteBufClass.get(), "array", "()[B");
395 (jbyteArray)env->CallObjectMethod(valueObj, arrayID);
398 env->GetByteArrayRegion(
404 env->DeleteLocalRef(byteArray); byteArray = NULL;