From ca8f680000de97dd03e4e37119f9c9e8ed6f3de6 Mon Sep 17 00:00:00 2001 From: Matthias Melcher Date: Sun, 25 Mar 2018 22:27:21 +0000 Subject: Android: Added keycodes to make arrow keys, delete, return, and other non text-keys work. ALso added a Java helper class to make Java call easier. We may need more Java/JNI in the future. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12801 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/drivers/Android/Fl_Android_Application.cxx | 37 ++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'src/drivers/Android/Fl_Android_Application.cxx') diff --git a/src/drivers/Android/Fl_Android_Application.cxx b/src/drivers/Android/Fl_Android_Application.cxx index 97b692199..fca8d9a46 100644 --- a/src/drivers/Android/Fl_Android_Application.cxx +++ b/src/drivers/Android/Fl_Android_Application.cxx @@ -804,6 +804,43 @@ JNIEXPORT void ANativeActivity_onCreate(ANativeActivity* activity, void* savedSt Fl_Android_Activity::create(activity, savedState, savedStateSize); } + +// ---- Java Stuff ------------------------------------------------------------- + + +Fl_Android_Java::Fl_Android_Java() +{ + jint lResult; + jint lFlags = 0; + + pJavaVM = Fl_Android_Application::get_activity()->vm; + pJNIEnv = Fl_Android_Application::get_activity()->env; + + JavaVMAttachArgs lJavaVMAttachArgs = { + .version = JNI_VERSION_1_6, + .name = "NativeThread", + .group = nullptr + }; + + lResult = pJavaVM->AttachCurrentThread(&pJNIEnv, &lJavaVMAttachArgs); + if (lResult == JNI_ERR) return; + + pNativeActivity = Fl_Android_Application::get_activity()->clazz; + + pNativeActivityClass = env()->GetObjectClass(pNativeActivity); + + pAttached = true; +} + + +Fl_Android_Java::~Fl_Android_Java() +{ + if (is_attached()) { + pJavaVM->DetachCurrentThread(); + } +} + + // // End of "$Id$". // -- cgit v1.2.3