| 998 | } |
| 999 | |
| 1000 | void T2DActivity::enumerateFonts() { |
| 1001 | |
| 1002 | // Attaches the current thread to the JVM. |
| 1003 | jint lResult; |
| 1004 | jint lFlags = 0; |
| 1005 | JavaVM* lJavaVM = platState.engine->app->activity->vm; |
| 1006 | JNIEnv* lJNIEnv = platState.engine->app->activity->env; |
| 1007 | |
| 1008 | JavaVMAttachArgs lJavaVMAttachArgs; |
| 1009 | lJavaVMAttachArgs.version = JNI_VERSION_1_6; |
| 1010 | lJavaVMAttachArgs.name = "NativeThread"; |
| 1011 | lJavaVMAttachArgs.group = NULL; |
| 1012 | |
| 1013 | lResult=lJavaVM->AttachCurrentThread(&lJNIEnv, &lJavaVMAttachArgs); |
| 1014 | if (lResult == JNI_ERR) { |
| 1015 | return; |
| 1016 | } |
| 1017 | |
| 1018 | // Retrieves NativeActivity. |
| 1019 | jobject lNativeActivity = platState.engine->app->activity->clazz; |
| 1020 | jclass ClassNativeActivity = lJNIEnv->GetObjectClass(lNativeActivity); |
| 1021 | |
| 1022 | jmethodID getClassLoader = lJNIEnv->GetMethodID(ClassNativeActivity,"getClassLoader", "()Ljava/lang/ClassLoader;"); |
| 1023 | jobject cls = lJNIEnv->CallObjectMethod(lNativeActivity, getClassLoader); |
| 1024 | jclass classLoader = lJNIEnv->FindClass("java/lang/ClassLoader"); |
| 1025 | jmethodID findClass = lJNIEnv->GetMethodID(classLoader, "loadClass", "(Ljava/lang/String;)Ljava/lang/Class;"); |
| 1026 | jstring strClassName = lJNIEnv->NewStringUTF("com.garagegames.torque2d.FontManager"); |
| 1027 | jclass FontManagerClass = (jclass)lJNIEnv->CallObjectMethod(cls, findClass, strClassName); |
| 1028 | jmethodID MethodFontManager = lJNIEnv->GetStaticMethodID(FontManagerClass, "enumerateFonts", "(Landroid/content/Context;)V"); |
| 1029 | lJNIEnv->CallStaticVoidMethod(FontManagerClass, MethodFontManager, lNativeActivity); |
| 1030 | lJNIEnv->DeleteLocalRef(strClassName); |
| 1031 | |
| 1032 | // Finished with the JVM. |
| 1033 | lJavaVM->DetachCurrentThread(); |
| 1034 | } |
| 1035 | |
| 1036 | void T2DActivity::dumpFontList() { |
| 1037 | |