summaryrefslogtreecommitdiff
path: root/platform/android/src
diff options
context:
space:
mode:
authorAlexander Shalamov <alexander.shalamov@mapbox.com>2019-05-06 22:30:44 +0300
committerAlexander Shalamov <alexander.shalamov@mapbox.com>2019-05-21 06:49:17 -0700
commit80dd90bd66649c1d7af28d3ce1f2d534b7b83e0b (patch)
tree40ebac703d422dd04c4c05508cc59d2259706811 /platform/android/src
parentdcf1a4efb3cae2b9a9ed339761ceeb226a0180f8 (diff)
downloadqtlocation-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.cpp4
-rwxr-xr-xplatform/android/src/native_map_view.cpp14
-rwxr-xr-xplatform/android/src/native_map_view.hpp1
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 //