diff options
author | tobrun <tobrun.van.nuland@gmail.com> | 2018-09-03 11:58:54 +0200 |
---|---|---|
committer | tobrun <tobrun.van.nuland@gmail.com> | 2018-09-05 14:34:51 +0200 |
commit | d196f527927f34fbca7c03a3023cd7c85e0aa59b (patch) | |
tree | 27dc261efee5353a0a3e58e8e7fa5844123ead7a /platform/android/src/java | |
parent | 98a3c0aaba0cd94a3c0aa59836388429a04cbcd1 (diff) | |
download | qtlocation-mapboxgl-d196f527927f34fbca7c03a3023cd7c85e0aa59b.tar.gz |
[android] - add platform specific implementation of unaccentupstream/tvn-remove-nunicode-2
Diffstat (limited to 'platform/android/src/java')
-rw-r--r-- | platform/android/src/java/lang.cpp | 14 | ||||
-rw-r--r-- | platform/android/src/java/lang.hpp | 12 |
2 files changed, 26 insertions, 0 deletions
diff --git a/platform/android/src/java/lang.cpp b/platform/android/src/java/lang.cpp index 9e98410448..47bdc451c5 100644 --- a/platform/android/src/java/lang.cpp +++ b/platform/android/src/java/lang.cpp @@ -5,6 +5,15 @@ namespace android { namespace java { namespace lang { +// CharSequence + +void CharSequence::registerNative(jni::JNIEnv &env) { + // Lookup the class + javaClass = *jni::Class<CharSequence>::Find(env).NewGlobalRef(env).release(); +} + +jni::Class<CharSequence> CharSequence::javaClass; + // String jni::String String::toUpperCase(JNIEnv& env, jni::String value) { @@ -17,6 +26,11 @@ jni::String String::toLowerCase(JNIEnv& env, jni::String value) { return value.Call(env, method); } +jni::String String::replaceAll(JNIEnv& env, jni::String value, jni::String regex, jni::String replaceValue) { + static auto method = javaClass.GetMethod<jni::String (jni::String, jni::String)>(env, "replaceAll"); + return value.Call(env, method, regex, replaceValue); +} + void String::registerNative(jni::JNIEnv& env) { // Lookup the class javaClass = *jni::Class<jni::StringTag>::Find(env).NewGlobalRef(env).release(); diff --git a/platform/android/src/java/lang.hpp b/platform/android/src/java/lang.hpp index 893d84dad1..0f3d650095 100644 --- a/platform/android/src/java/lang.hpp +++ b/platform/android/src/java/lang.hpp @@ -8,12 +8,24 @@ namespace android { namespace java { namespace lang { + +class CharSequence : private mbgl::util::noncopyable { +public: + static constexpr auto Name() { return "java/lang/CharSequence"; }; + + static jni::Class<CharSequence> javaClass; + + static void registerNative(jni::JNIEnv&); +}; + class String : private mbgl::util::noncopyable { public: static jni::String toUpperCase(JNIEnv&, jni::String); static jni::String toLowerCase(JNIEnv&, jni::String); + static jni::String replaceAll(JNIEnv&, jni::String, jni::String, jni::String); + static jni::Class<jni::StringTag> javaClass; static void registerNative(jni::JNIEnv&); |