diff options
| author | Matthias Melcher <fltk@matthiasm.com> | 2018-03-25 22:27:21 +0000 |
|---|---|---|
| committer | Matthias Melcher <fltk@matthiasm.com> | 2018-03-25 22:27:21 +0000 |
| commit | ca8f680000de97dd03e4e37119f9c9e8ed6f3de6 (patch) | |
| tree | 7e1d03f89b405a55c87534cbcd8ef6bbb287ca7d /src/drivers/Android/Fl_Android_Application.cxx | |
| parent | eb09ab161aa7d44164d959a3fb3abd49816229ef (diff) | |
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
Diffstat (limited to 'src/drivers/Android/Fl_Android_Application.cxx')
| -rw-r--r-- | src/drivers/Android/Fl_Android_Application.cxx | 37 |
1 files changed, 37 insertions, 0 deletions
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$". // |
