diff options
Diffstat (limited to 'platform/darwin')
-rw-r--r-- | platform/darwin/filesource-files.json | 2 | ||||
-rw-r--r-- | platform/darwin/src/MGLNetworkConfiguration.mm (renamed from platform/darwin/src/MGLNetworkConfiguration.m) | 18 | ||||
-rw-r--r-- | platform/darwin/src/http_file_source.mm | 4 |
3 files changed, 19 insertions, 5 deletions
diff --git a/platform/darwin/filesource-files.json b/platform/darwin/filesource-files.json index 62043a0dcd..6600f9691d 100644 --- a/platform/darwin/filesource-files.json +++ b/platform/darwin/filesource-files.json @@ -2,7 +2,7 @@ "//": "This file can be edited manually and is the canonical source.", "sources": [ "platform/darwin/src/MGLLoggingConfiguration.mm", - "platform/darwin/src/MGLNetworkConfiguration.m", + "platform/darwin/src/MGLNetworkConfiguration.mm", "platform/darwin/src/http_file_source.mm", "platform/default/src/mbgl/storage/file_source.cpp", "platform/default/src/mbgl/storage/sqlite3.cpp" diff --git a/platform/darwin/src/MGLNetworkConfiguration.m b/platform/darwin/src/MGLNetworkConfiguration.mm index 0e5046e7a3..fba78e4e81 100644 --- a/platform/darwin/src/MGLNetworkConfiguration.m +++ b/platform/darwin/src/MGLNetworkConfiguration.mm @@ -1,6 +1,7 @@ #import "MGLNetworkConfiguration_Private.h" #include <mbgl/storage/reachability.h> +#include <mbgl/storage/network_status.hpp> static NSString * const MGLStartTime = @"start_time"; static NSString * const MGLResourceType = @"resource_type"; @@ -66,6 +67,23 @@ NSString * const kMGLDownloadPerformanceEvent = @"mobile.performance_trace"; return sessionConfiguration; } +- (void)setStopsRequests:(BOOL)stopsRequests { + if (stopsRequests) { + mbgl::NetworkStatus::Set(mbgl::NetworkStatus::Status::Offline); + } else { + mbgl::NetworkStatus::Set(mbgl::NetworkStatus::Status::Online); + } +} + +- (BOOL)stopsRequests { + auto status = mbgl::NetworkStatus::Get(); + if (status == mbgl::NetworkStatus::Status::Offline) { + return YES; + } else { + return NO; + } +} + - (void)startDownloadEvent:(NSString *)urlString type:(NSString *)resourceType { if (urlString && ![self eventDictionaryForKey:urlString]) { NSDate *startDate = [NSDate date]; diff --git a/platform/darwin/src/http_file_source.mm b/platform/darwin/src/http_file_source.mm index 09562e0347..b0f69f4a7f 100644 --- a/platform/darwin/src/http_file_source.mm +++ b/platform/darwin/src/http_file_source.mm @@ -229,10 +229,6 @@ NSURL *resourceURLWithAccountType(const Resource& resource, NSInteger accountTyp std::unique_ptr<AsyncRequest> HTTPFileSource::request(const Resource& resource, Callback callback) { auto request = std::make_unique<HTTPRequest>(callback); auto shared = request->shared; // Explicit copy so that it also gets copied into the completion handler block below. - - if ([MGLNetworkConfiguration sharedManager].stopsRequests) { - return std::move(request); - } @autoreleasepool { NSURL *url = resourceURLWithAccountType(resource, impl->accountType); |