Lines Matching refs:env

87 					LocalRef		(JNIEnv* env, jobject ref);
101 LocalRef::LocalRef (JNIEnv* env, jobject ref)
102 : m_env(env)
113 void checkException (JNIEnv* env)
115 if (env->ExceptionCheck())
117 env->ExceptionDescribe();
118 env->ExceptionClear();
123 jclass findClass (JNIEnv* env, const char* className)
125 const jclass cls = env->FindClass(className);
127 checkException(env);
133 jclass getObjectClass (JNIEnv* env, jobject object)
135 const jclass cls = env->GetObjectClass(object);
137 checkException(env);
143 jmethodID getMethodID (JNIEnv* env, jclass cls, const char* methodName, const char* signature)
145 const jmethodID id = env->GetMethodID(cls, methodName, signature);
147 checkException(env);
153 string getStringValue (JNIEnv* env, jstring jniStr)
155 const char* ptr = env->GetStringUTFChars(jniStr, DE_NULL);
158 env->ReleaseStringUTFChars(jniStr, ptr);
163 string getIntentStringExtra (JNIEnv* env, jobject activity, const char* name)
167 const jclass activityCls = getObjectClass(env, activity);
168 const LocalRef intent (env, env->CallObjectMethod(activity, getMethodID(env, activityCls, "getIntent", "()Landroid/content/Intent;")));
171 const LocalRef extraName (env, env->NewStringUTF(name));
172 const jclass intentCls = getObjectClass(env, *intent);
178 const LocalRef extraStr (env, env->CallObjectMethodA(*intent, getMethodID(env, intentCls, "getStringExtra", "(Ljava/lang/String;)Ljava/lang/String;"), getExtraArgs));
181 return getStringValue(env, (jstring)*extraStr);
186 void setRequestedOrientation (JNIEnv* env, jobject activity, ScreenOrientation orientation)
188 const jclass activityCls = getObjectClass(env, activity);
189 const jmethodID setOrientationId = getMethodID(env, activityCls, "setRequestedOrientation", "(I)V");
191 env->CallVoidMethod(activity, setOrientationId, (int)orientation);
222 FieldType getStaticFieldValue (JNIEnv* env, jclass cls, jfieldID fieldId);
225 int getStaticFieldValue<int> (JNIEnv* env, jclass cls, jfieldID fieldId)
228 return env->GetStaticIntField(cls, fieldId);
232 string getStaticFieldValue<string> (JNIEnv* env, jclass cls, jfieldID fieldId)
234 const jstring jniStr = (jstring)env->GetStaticObjectField(cls, fieldId);
237 return getStringValue(env, jniStr);
243 vector<string> getStaticFieldValue<vector<string> > (JNIEnv* env, jclass cls, jfieldID fieldId)
245 const jobjectArray array = (jobjectArray)env->GetStaticObjectField(cls, fieldId);
248 checkException(env);
252 const int numElements = env->GetArrayLength(array);
256 const jstring jniStr = (jstring)env->GetObjectArrayElement(array, ndx);
258 checkException(env);
261 result.push_back(getStringValue(env, jniStr));
269 FieldType getStaticField (JNIEnv* env, const char* className, const char* fieldName)
271 const jclass cls = findClass(env, className);
272 const jfieldID fieldId = env->GetStaticFieldID(cls, fieldName, getJNITypeStr<FieldType>());
274 checkException(env);
277 return getStaticFieldValue<FieldType>(env, cls, fieldId);
283 FieldType getFieldValue (JNIEnv* env, jobject obj, jfieldID fieldId);
286 deInt64 getFieldValue<deInt64> (JNIEnv* env, jobject obj, jfieldID fieldId)
289 return env->GetLongField(obj, fieldId);
293 FieldType getField (JNIEnv* env, jobject obj, const char* fieldName)
295 const jclass cls = getObjectClass(env, obj);
296 const jfieldID fieldId = env->GetFieldID(cls, fieldName, getJNITypeStr<FieldType>());
298 checkException(env);
301 return getFieldValue<FieldType>(env, obj, fieldId);
306 void describePlatform (JNIEnv* env, std::ostream& dst)
334 << ": " << getStaticField<string>(env, s_stringFields[ndx].classPath, s_stringFields[ndx].fieldName)
337 dst << "Build.VERSION.SDK_INT: " << getStaticField<int>(env, versionClass, "SDK_INT") << "\n";
340 const vector<string> supportedAbis = getStaticField<vector<string> >(env, buildClass, "SUPPORTED_ABIS");
370 const ScopedJNIEnv env(activity->vm);
372 return getIntentStringExtra(env.getEnv(), activity->clazz, name);
377 const ScopedJNIEnv env(activity->vm);
379 setRequestedOrientation(env.getEnv(), activity->clazz, orientation);
384 const ScopedJNIEnv env(activity->vm);
386 describePlatform(env.getEnv(), dst);
392 JNIEnv* env = scopedJniEnv.getEnv();
396 const jclass activityManagerClass = findClass(env, "android/app/ActivityManager");
397 const LocalRef activityString (env, env->NewStringUTF("activity")); // Context.ACTIVITY_SERVICE == "activity"
398 const jclass activityClass = getObjectClass(env, activity->clazz);
399 const jmethodID getServiceID = getMethodID(env, activityClass, "getSystemService", "(Ljava/lang/String;)Ljava/lang/Object;");
400 LocalRef activityManager (env, env->CallObjectMethod(activity->clazz, getServiceID, *activityString));
401 checkException(env);
406 const jclass memoryInfoClass = findClass(env, "android/app/ActivityManager$MemoryInfo");
407 const jmethodID memoryInfoCtor = getMethodID(env, memoryInfoClass, "<init>", "()V");
408 LocalRef memoryInfo (env, env->NewObject(memoryInfoClass, memoryInfoCtor));
409 checkException(env);
414 const jmethodID getMemoryInfoID = getMethodID(env, activityManagerClass, "getMemoryInfo", "(Landroid/app/ActivityManager$MemoryInfo;)V");
415 checkException(env);
416 env->CallVoidMethod(*activityManager, getMemoryInfoID, *memoryInfo);
419 return static_cast<size_t>(getField<deInt64>(env, *memoryInfo, "totalMem"));