diff options
Diffstat (limited to 'src/mbgl/tile')
-rw-r--r-- | src/mbgl/tile/tile.hpp | 3 | ||||
-rw-r--r-- | src/mbgl/tile/tile_loader.hpp | 2 | ||||
-rw-r--r-- | src/mbgl/tile/tile_loader_impl.hpp | 2 |
3 files changed, 5 insertions, 2 deletions
diff --git a/src/mbgl/tile/tile.hpp b/src/mbgl/tile/tile.hpp index 3bb8d87d6c..573b3a1c50 100644 --- a/src/mbgl/tile/tile.hpp +++ b/src/mbgl/tile/tile.hpp @@ -36,10 +36,11 @@ class UploadPass; struct TileUpdateParameters { Duration minimumUpdateInterval; + bool isVolatile; }; inline bool operator==(const TileUpdateParameters& a, const TileUpdateParameters& b) { - return a.minimumUpdateInterval == b.minimumUpdateInterval; + return a.minimumUpdateInterval == b.minimumUpdateInterval && a.isVolatile == b.isVolatile; } inline bool operator!=(const TileUpdateParameters& a, const TileUpdateParameters& b) { diff --git a/src/mbgl/tile/tile_loader.hpp b/src/mbgl/tile/tile_loader.hpp index e4b9a1dc5e..99d9047f8d 100644 --- a/src/mbgl/tile/tile_loader.hpp +++ b/src/mbgl/tile/tile_loader.hpp @@ -49,7 +49,7 @@ private: Resource resource; std::shared_ptr<FileSource> fileSource; std::unique_ptr<AsyncRequest> request; - TileUpdateParameters updateParameters{{Duration::zero()}}; + TileUpdateParameters updateParameters{Duration::zero(), false}; }; } // namespace mbgl diff --git a/src/mbgl/tile/tile_loader_impl.hpp b/src/mbgl/tile/tile_loader_impl.hpp index cf37650484..a034ea7401 100644 --- a/src/mbgl/tile/tile_loader_impl.hpp +++ b/src/mbgl/tile/tile_loader_impl.hpp @@ -160,6 +160,8 @@ void TileLoader<T>::loadFromNetwork() { // NetworkOnly request. resource.loadingMethod = Resource::LoadingMethod::NetworkOnly; resource.minimumUpdateInterval = updateParameters.minimumUpdateInterval; + resource.storagePolicy = + updateParameters.isVolatile ? Resource::StoragePolicy::Volatile : Resource::StoragePolicy::Permanent; request = fileSource->request(resource, [this](const Response& res) { loadedData(res); }); } |