summaryrefslogtreecommitdiff
path: root/src/drivers/Android/Fl_Android_Application.cxx
diff options
context:
space:
mode:
authorMatthias Melcher <fltk@matthiasm.com>2018-03-25 22:27:21 +0000
committerMatthias Melcher <fltk@matthiasm.com>2018-03-25 22:27:21 +0000
commitca8f680000de97dd03e4e37119f9c9e8ed6f3de6 (patch)
tree7e1d03f89b405a55c87534cbcd8ef6bbb287ca7d /src/drivers/Android/Fl_Android_Application.cxx
parenteb09ab161aa7d44164d959a3fb3abd49816229ef (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.cxx37
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$".
//