From a706a2a48d6ca2076c9c81a0cb0c088ae50d1496 Mon Sep 17 00:00:00 2001 From: Brent Whitman Date: Tue, 26 Apr 2016 13:40:46 -0700 Subject: [ios, osx] Add a property for bytes used by offline tiles --- platform/default/mbgl/storage/offline_database.cpp | 29 +++++++++++++--------- platform/default/mbgl/storage/offline_download.cpp | 10 +++++++- 2 files changed, 26 insertions(+), 13 deletions(-) (limited to 'platform/default') diff --git a/platform/default/mbgl/storage/offline_database.cpp b/platform/default/mbgl/storage/offline_database.cpp index 6476834c1b..9bd731df74 100644 --- a/platform/default/mbgl/storage/offline_database.cpp +++ b/platform/default/mbgl/storage/offline_database.cpp @@ -608,24 +608,29 @@ OfflineRegionDefinition OfflineDatabase::getRegionDefinition(int64_t regionID) { OfflineRegionStatus OfflineDatabase::getRegionCompletedStatus(int64_t regionID) { OfflineRegionStatus result; - Statement stmt = getStatement( + Statement stmtRes = getStatement( "SELECT COUNT(*), SUM(size) FROM ( " " SELECT LENGTH(data) as size " " FROM region_resources, resources " " WHERE region_id = ?1 " " AND resource_id = resources.id " - " UNION ALL " - " SELECT LENGTH(data) as size " - " FROM region_tiles, tiles " - " WHERE region_id = ?1 " - " AND tile_id = tiles.id " ") "); - - stmt->bind(1, regionID); - stmt->run(); - - result.completedResourceCount = stmt->get(0); - result.completedResourceSize = stmt->get(1); + stmtRes->bind(1, regionID); + stmtRes->run(); + + Statement stmtTile = getStatement( + "SELECT COUNT(*), SUM(size) FROM ( " + " SELECT LENGTH(data) as size " + " FROM region_tiles, tiles " + " WHERE region_id = ?1 " + " AND tile_id = tiles.id " + ") "); + stmtTile->bind(1, regionID); + stmtTile->run(); + + result.completedTileSize = stmtTile->get(1); + result.completedResourceCount = stmtTile->get(0) + stmtRes->get(0); + result.completedResourceSize = result.completedTileSize + stmtRes->get(1); return result; } diff --git a/platform/default/mbgl/storage/offline_download.cpp b/platform/default/mbgl/storage/offline_download.cpp index e3fd10503d..d694235149 100644 --- a/platform/default/mbgl/storage/offline_download.cpp +++ b/platform/default/mbgl/storage/offline_download.cpp @@ -220,6 +220,10 @@ void OfflineDownload::ensureResource(const Resource& resource, std::functionsecond; + if (resource.kind == Resource::Kind::Tile) { + status.completedTileSize += offlineResponse->second; + } + observer->statusChanged(status); if (status.complete()) { @@ -247,7 +251,11 @@ void OfflineDownload::ensureResource(const Resource& resource, std::functionstatusChanged(status); -- cgit v1.2.1