diff options
author | Alexander Shalamov <alexander.shalamov@mapbox.com> | 2019-05-06 22:30:44 +0300 |
---|---|---|
committer | Alexander Shalamov <alexander.shalamov@mapbox.com> | 2019-05-21 06:49:17 -0700 |
commit | 80dd90bd66649c1d7af28d3ce1f2d534b7b83e0b (patch) | |
tree | 40ebac703d422dd04c4c05508cc59d2259706811 /platform/android/src | |
parent | dcf1a4efb3cae2b9a9ed339761ceeb226a0180f8 (diff) | |
download | qtlocation-mapboxgl-80dd90bd66649c1d7af28d3ce1f2d534b7b83e0b.tar.gz |
[android] Add bindings for onRemoveUnusedStyleImages API
Diffstat (limited to 'platform/android/src')
-rw-r--r-- | platform/android/src/android_renderer_frontend.cpp | 4 | ||||
-rwxr-xr-x | platform/android/src/native_map_view.cpp | 14 | ||||
-rwxr-xr-x | platform/android/src/native_map_view.hpp | 1 |
3 files changed, 19 insertions, 0 deletions
diff --git a/platform/android/src/android_renderer_frontend.cpp b/platform/android/src/android_renderer_frontend.cpp index 6d235abe9f..6862fabcb4 100644 --- a/platform/android/src/android_renderer_frontend.cpp +++ b/platform/android/src/android_renderer_frontend.cpp @@ -54,6 +54,10 @@ public: delegate.invoke(&RendererObserver::onStyleImageMissing, id, done); } + void onRemoveUnusedStyleImages(const std::vector<std::string>& ids) override { + delegate.invoke(&RendererObserver::onRemoveUnusedStyleImages, ids); + } + private: std::shared_ptr<Mailbox> mailbox; ActorRef<RendererObserver> delegate; diff --git a/platform/android/src/native_map_view.cpp b/platform/android/src/native_map_view.cpp index ae53bcc802..8493110d75 100755 --- a/platform/android/src/native_map_view.cpp +++ b/platform/android/src/native_map_view.cpp @@ -271,6 +271,20 @@ void NativeMapView::onStyleImageMissing(const std::string& imageId) { } } +bool NativeMapView::onCanRemoveUnusedStyleImage(const std::string& imageId) { + assert(vm != nullptr); + + android::UniqueEnv _env = android::AttachEnv(); + static auto& javaClass = jni::Class<NativeMapView>::Singleton(*_env); + static auto onCanRemoveUnusedStyleImage = javaClass.GetMethod<jboolean (jni::String)>(*_env, "onCanRemoveUnusedStyleImage"); + auto weakReference = javaPeer.get(*_env); + if (weakReference) { + return weakReference.Call(*_env, onCanRemoveUnusedStyleImage, jni::Make<jni::String>(*_env, imageId)); + } + + return true; +} + // JNI Methods // void NativeMapView::resizeView(jni::JNIEnv&, int w, int h) { diff --git a/platform/android/src/native_map_view.hpp b/platform/android/src/native_map_view.hpp index 9e6ad73dd7..4ea4781b36 100755 --- a/platform/android/src/native_map_view.hpp +++ b/platform/android/src/native_map_view.hpp @@ -69,6 +69,7 @@ public: void onDidFinishLoadingStyle() override; void onSourceChanged(mbgl::style::Source&) override; void onStyleImageMissing(const std::string&) override; + bool onCanRemoveUnusedStyleImage(const std::string&) override; // JNI // |