summaryrefslogtreecommitdiff
path: root/platform/darwin
diff options
context:
space:
mode:
Diffstat (limited to 'platform/darwin')
-rw-r--r--platform/darwin/filesource-files.json2
-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.mm4
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);