diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2016-03-30 17:01:54 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2016-03-30 17:43:37 -0700 |
commit | 5eda74a514964d1cac684483bafa08d458175f9a (patch) | |
tree | a38f886f5742d52a915c3c72959a5eba50b9fa0e /platform/default/mbgl/storage/offline_download.cpp | |
parent | b6a181097c3e7c3168be3575d5d7e95820fc74ba (diff) | |
parent | 7b5a1ca1670a0346cdbf2af689fabde4e70ed561 (diff) | |
download | qtlocation-mapboxgl-5eda74a514964d1cac684483bafa08d458175f9a.tar.gz |
Merge branch 'release-ios-3.2.0-android-4.0.0'
Diffstat (limited to 'platform/default/mbgl/storage/offline_download.cpp')
-rw-r--r-- | platform/default/mbgl/storage/offline_download.cpp | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/platform/default/mbgl/storage/offline_download.cpp b/platform/default/mbgl/storage/offline_download.cpp index 0dcffbd9cb..e3fd10503d 100644 --- a/platform/default/mbgl/storage/offline_download.cpp +++ b/platform/default/mbgl/storage/offline_download.cpp @@ -228,12 +228,8 @@ void OfflineDownload::ensureResource(const Resource& resource, std::function<voi return; } - - if (resource.kind == Resource::Kind::Tile - && util::mapbox::isMapboxURL(resource.url) - && offlineDatabase.offlineMapboxTileCountLimitExceeded()) { - observer->mapboxTileCountLimitExceeded(offlineDatabase.getOfflineMapboxTileCountLimit()); - setState(OfflineRegionDownloadState::Inactive); + + if (checkTileCountLimit(resource)) { return; } @@ -255,6 +251,10 @@ void OfflineDownload::ensureResource(const Resource& resource, std::function<voi observer->statusChanged(status); + if (checkTileCountLimit(resource)) { + return; + } + if (status.complete()) { setState(OfflineRegionDownloadState::Inactive); } @@ -262,4 +262,16 @@ void OfflineDownload::ensureResource(const Resource& resource, std::function<voi }); } +bool OfflineDownload::checkTileCountLimit(const Resource& resource) { + if (resource.kind == Resource::Kind::Tile + && util::mapbox::isMapboxURL(resource.url) + && offlineDatabase.offlineMapboxTileCountLimitExceeded()) { + observer->mapboxTileCountLimitExceeded(offlineDatabase.getOfflineMapboxTileCountLimit()); + setState(OfflineRegionDownloadState::Inactive); + return true; + } + + return false; +} + } // namespace mbgl |