diff options
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&); |