Esempio n. 1
0
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
}
Esempio n. 2
0
void
main_finalize(void) {
#if FOUNDATION_PLATFORM_ANDROID
	thread_detach_jvm();
#endif

	foundation_finalize();
}
Esempio n. 3
0
void main_shutdown( void )
{
#if FOUNDATION_PLATFORM_ANDROID
	thread_detach_jvm();
#endif

	foundation_shutdown();
}