static void test_log_handler(hash_t context, error_level_t severity, const char* msg, size_t length) { FOUNDATION_UNUSED(context); FOUNDATION_UNUSED(severity); if (_test_should_terminate) return; #if FOUNDATION_PLATFORM_IOS test_text_view_append(delegate_uiwindow(), 1 , msg, length); #elif FOUNDATION_PLATFORM_ANDROID jclass _test_log_class = 0; jmethodID _test_log_append = 0; const struct JNINativeInterface** jnienv = thread_attach_jvm(); _test_log_class = (*jnienv)->GetObjectClass(jnienv, android_app()->activity->clazz); if (_test_log_class) _test_log_append = (*jnienv)->GetMethodID(jnienv, _test_log_class, "appendLog", "(Ljava/lang/String;)V"); if (_test_log_append) { jstring jstr = (*jnienv)->NewStringUTF(jnienv, msg); (*jnienv)->CallVoidMethod(jnienv, android_app()->activity->clazz, _test_log_append, jstr); (*jnienv)->DeleteLocalRef(jnienv, jstr); } thread_detach_jvm(); FOUNDATION_UNUSED(length); #endif }
void main_finalize(void) { #if FOUNDATION_PLATFORM_ANDROID thread_detach_jvm(); #endif foundation_finalize(); }
void main_shutdown( void ) { #if FOUNDATION_PLATFORM_ANDROID thread_detach_jvm(); #endif foundation_shutdown(); }