summaryrefslogtreecommitdiff
path: root/platform/android/src/java/lang/throwable.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/src/java/lang/throwable.cpp')
-rw-r--r--platform/android/src/java/lang/throwable.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/platform/android/src/java/lang/throwable.cpp b/platform/android/src/java/lang/throwable.cpp
new file mode 100644
index 0000000000..12df5da27e
--- /dev/null
+++ b/platform/android/src/java/lang/throwable.cpp
@@ -0,0 +1,23 @@
+#include "throwable.hpp"
+
+namespace mbgl {
+namespace android {
+namespace java {
+namespace lang {
+
+jni::Class<Throwable> Throwable::Class(jni::JNIEnv& env) {
+ static auto clazz = *jni::Class<Throwable>::Find(env).NewGlobalRef(env).release();
+ return clazz;
+}
+
+jni::String
+Throwable::GetMessage(jni::JNIEnv& env, jni::Object<Throwable> throwable) {
+ using Signature = jni::String(void);
+ static auto method = Class(env).GetMethod<Signature>(env, "getMessage");
+ return throwable.Call(env, method);
+}
+
+} // namespace lang
+} // namespace java
+} // namespace android
+} // namespace mbgl