From 51b9aa6231f97109177eac761f65976910de4e03 Mon Sep 17 00:00:00 2001 From: Mikhail Pozdnyakov Date: Tue, 11 Dec 2018 13:41:23 +0200 Subject: [core]Disable RenderAnnotationSource when annotations are disabled This patch disables creation of `RenderAnnotationSource` instances and thus saves extra 4Ki on Android when `LayerManager::annotationsEnabled` is `false`. --- src/mbgl/annotation/render_annotation_source.cpp | 3 +++ src/mbgl/renderer/render_source.cpp | 9 ++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/mbgl/annotation/render_annotation_source.cpp b/src/mbgl/annotation/render_annotation_source.cpp index 7d776f21c4..d83f4d0fa4 100644 --- a/src/mbgl/annotation/render_annotation_source.cpp +++ b/src/mbgl/annotation/render_annotation_source.cpp @@ -6,12 +6,15 @@ #include #include +#include + namespace mbgl { using namespace style; RenderAnnotationSource::RenderAnnotationSource(Immutable impl_) : RenderSource(impl_) { + assert(LayerManager::annotationsEnabled); tilePyramid.setObserver(this); } diff --git a/src/mbgl/renderer/render_source.cpp b/src/mbgl/renderer/render_source.cpp index d160eb16e3..dfe1f25ed6 100644 --- a/src/mbgl/renderer/render_source.cpp +++ b/src/mbgl/renderer/render_source.cpp @@ -10,6 +10,8 @@ #include #include +#include + namespace mbgl { using namespace style; @@ -28,7 +30,12 @@ std::unique_ptr RenderSource::create(Immutable impl) assert(false); return nullptr; case SourceType::Annotations: - return std::make_unique(staticImmutableCast(impl)); + if (LayerManager::annotationsEnabled) { + return std::make_unique(staticImmutableCast(impl)); + } else { + assert(false); + return nullptr; + } case SourceType::Image: return std::make_unique(staticImmutableCast(impl)); case SourceType::CustomVector: -- cgit v1.2.1