summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorM.Stephen <truestyle2005@163.com>2019-08-16 15:32:42 +0800
committerM.Stephen <truestyle2005@163.com>2019-08-16 15:32:42 +0800
commit636a2df540ee69a14c8c4d8eed8267c4935840b1 (patch)
treecdfac6b99eff216373fcadc5b37f034d3e571699
parent5f477e310b286d1bb8c5d238376d45ec58aa3fc4 (diff)
downloadqtlocation-mapboxgl-636a2df540ee69a14c8c4d8eed8267c4935840b1.tar.gz
add errors reporting
-rw-r--r--platform/darwin/src/MGLMapSnapshotter.mm6
-rw-r--r--platform/darwin/src/MGLOfflineStorage.mm27
-rw-r--r--platform/darwin/src/MGLShape.mm10
-rw-r--r--platform/darwin/src/MGLSource.mm11
-rw-r--r--platform/ios/src/MGLMapView+Impl.mm7
5 files changed, 61 insertions, 0 deletions
diff --git a/platform/darwin/src/MGLMapSnapshotter.mm b/platform/darwin/src/MGLMapSnapshotter.mm
index 65bed2cf42..9ba0cbebfe 100644
--- a/platform/darwin/src/MGLMapSnapshotter.mm
+++ b/platform/darwin/src/MGLMapSnapshotter.mm
@@ -224,6 +224,9 @@ const CGFloat MGLSnapshotterMinimumPixelSize = 64;
NSString *description = @(mbgl::util::toString(mbglError).c_str());
NSDictionary *userInfo = @{NSLocalizedDescriptionKey: description};
NSError *error = [NSError errorWithDomain:MGLErrorDomain code:MGLErrorCodeSnapshotFailed userInfo:userInfo];
+#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
+ [[MMEEventsManager sharedManager] reportError:error];
+#endif
// Dispatch to result queue
dispatch_async(queue, ^{
@@ -565,6 +568,9 @@ const CGFloat MGLSnapshotterMinimumPixelSize = 64;
NSError *error = [NSError errorWithDomain:MGLErrorDomain
code:errorCode
userInfo:userInfo];
+#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
+ [[MMEEventsManager sharedManager] reportError:error];
+#endif
completion(NULL, error);
});
}
diff --git a/platform/darwin/src/MGLOfflineStorage.mm b/platform/darwin/src/MGLOfflineStorage.mm
index 93f986a518..f6eebb6ca8 100644
--- a/platform/darwin/src/MGLOfflineStorage.mm
+++ b/platform/darwin/src/MGLOfflineStorage.mm
@@ -345,6 +345,9 @@ const MGLExceptionName MGLUnsupportedRegionTypeException = @"MGLUnsupportedRegio
NSLocalizedDescriptionKey: description,
NSLocalizedFailureReasonErrorKey: @(mbgl::util::toString(result.error()).c_str())
}];
+#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
+ [[MMEEventsManager sharedManager] reportError:error];
+#endif
} else {
auto& regions = result.value();
packs = [NSMutableArray arrayWithCapacity:regions.size()];
@@ -404,6 +407,9 @@ const MGLExceptionName MGLUnsupportedRegionTypeException = @"MGLUnsupportedRegio
error = [NSError errorWithDomain:MGLErrorDomain code:MGLErrorCodeModifyingOfflineStorageFailed userInfo:errorDescription ? @{
NSLocalizedDescriptionKey: errorDescription,
} : nil];
+#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
+ [[MMEEventsManager sharedManager] reportError:error];
+#endif
}
if (completion) {
MGLOfflinePack *pack = mbglOfflineRegion ? [[MGLOfflinePack alloc] initWithMBGLRegion:new mbgl::OfflineRegion(std::move(mbglOfflineRegion.value()))] : nil;
@@ -437,6 +443,9 @@ const MGLExceptionName MGLUnsupportedRegionTypeException = @"MGLUnsupportedRegio
error = [NSError errorWithDomain:MGLErrorDomain code:MGLErrorCodeModifyingOfflineStorageFailed userInfo:@{
NSLocalizedDescriptionKey: @(mbgl::util::toString(exception).c_str()),
}];
+#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
+ [[MMEEventsManager sharedManager] reportError:error];
+#endif
}
if (completion) {
dispatch_async(dispatch_get_main_queue(), [&, completion, error](void) {
@@ -460,6 +469,9 @@ const MGLExceptionName MGLUnsupportedRegionTypeException = @"MGLUnsupportedRegio
error = [NSError errorWithDomain:MGLErrorDomain code:MGLErrorCodeModifyingOfflineStorageFailed userInfo:@{
NSLocalizedDescriptionKey: @(mbgl::util::toString(exception).c_str()),
}];
+#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
+ [[MMEEventsManager sharedManager] reportError:error];
+#endif
}
});
if (completion) {
@@ -487,6 +499,9 @@ const MGLExceptionName MGLUnsupportedRegionTypeException = @"MGLUnsupportedRegio
error = [NSError errorWithDomain:MGLErrorDomain code:MGLErrorCodeUnknown userInfo:@{
NSLocalizedDescriptionKey: @(mbgl::util::toString(result.error()).c_str()),
}];
+#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
+ [[MMEEventsManager sharedManager] reportError:error];
+#endif
} else {
auto& regions = result.value();
packs = [NSMutableArray arrayWithCapacity:regions.size()];
@@ -518,6 +533,9 @@ const MGLExceptionName MGLUnsupportedRegionTypeException = @"MGLUnsupportedRegio
error = [NSError errorWithDomain:MGLErrorDomain code:MGLErrorCodeModifyingOfflineStorageFailed userInfo:@{
NSLocalizedDescriptionKey: @(mbgl::util::toString(exception).c_str()),
}];
+#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
+ [[MMEEventsManager sharedManager] reportError:error];
+#endif
}
dispatch_sync(dispatch_get_main_queue(), ^ {
completion(error);
@@ -535,6 +553,9 @@ const MGLExceptionName MGLUnsupportedRegionTypeException = @"MGLUnsupportedRegio
error = [NSError errorWithDomain:MGLErrorDomain code:MGLErrorCodeModifyingOfflineStorageFailed userInfo:@{
NSLocalizedDescriptionKey: @(mbgl::util::toString(exception).c_str()),
}];
+#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
+ [[MMEEventsManager sharedManager] reportError:error];
+#endif
}
dispatch_async(dispatch_get_main_queue(), ^ {
completion(error);
@@ -551,6 +572,9 @@ const MGLExceptionName MGLUnsupportedRegionTypeException = @"MGLUnsupportedRegio
error = [NSError errorWithDomain:MGLErrorDomain code:MGLErrorCodeModifyingOfflineStorageFailed userInfo:@{
NSLocalizedDescriptionKey: @(mbgl::util::toString(exception).c_str()),
}];
+#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
+ [[MMEEventsManager sharedManager] reportError:error];
+#endif
}
dispatch_async(dispatch_get_main_queue(), [&, completion, error](void) {
completion(error);
@@ -567,6 +591,9 @@ const MGLExceptionName MGLUnsupportedRegionTypeException = @"MGLUnsupportedRegio
error = [NSError errorWithDomain:MGLErrorDomain code:MGLErrorCodeUnknown userInfo:@{
NSLocalizedDescriptionKey: @(mbgl::util::toString(exception).c_str()),
}];
+#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
+ [[MMEEventsManager sharedManager] reportError:error];
+#endif
}
dispatch_async(dispatch_get_main_queue(), ^{
completion(error);
diff --git a/platform/darwin/src/MGLShape.mm b/platform/darwin/src/MGLShape.mm
index 59643dcb6a..4ed546a3d2 100644
--- a/platform/darwin/src/MGLShape.mm
+++ b/platform/darwin/src/MGLShape.mm
@@ -5,6 +5,10 @@
#import "NSString+MGLAdditions.h"
#import "MGLTypes.h"
+#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
+#import "MMEEventsManager.h"
+#endif
+
#import <mbgl/util/geo.hpp>
bool operator==(const CLLocationCoordinate2D lhs, const CLLocationCoordinate2D rhs) {
@@ -18,6 +22,9 @@ bool operator==(const CLLocationCoordinate2D lhs, const CLLocationCoordinate2D r
if (!string) {
if (outError) {
*outError = [NSError errorWithDomain:MGLErrorDomain code:MGLErrorCodeUnknown userInfo:nil];
+#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
+ [[MMEEventsManager sharedManager] reportError:*outError];
+#endif
}
return nil;
}
@@ -30,6 +37,9 @@ bool operator==(const CLLocationCoordinate2D lhs, const CLLocationCoordinate2D r
*outError = [NSError errorWithDomain:MGLErrorDomain code:MGLErrorCodeUnknown userInfo:@{
NSLocalizedFailureReasonErrorKey: @(err.what()),
}];
+#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
+ [[MMEEventsManager sharedManager] reportError:*outError];
+#endif
}
return nil;
}
diff --git a/platform/darwin/src/MGLSource.mm b/platform/darwin/src/MGLSource.mm
index fd54627471..62308ce5e1 100644
--- a/platform/darwin/src/MGLSource.mm
+++ b/platform/darwin/src/MGLSource.mm
@@ -3,6 +3,10 @@
#import "MGLMapView_Private.h"
#import "NSBundle+MGLAdditions.h"
+#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
+#import "MMEEventsManager.h"
+#endif
+
#include <mbgl/style/style.hpp>
#include <mbgl/map/map.hpp>
#include <mbgl/style/source.hpp>
@@ -77,6 +81,10 @@
*outError = [NSError errorWithDomain:MGLErrorDomain
code:MGLErrorCodeSourceIsInUseCannotRemove
userInfo:@{ NSLocalizedDescriptionKey : localizedDescription }];
+#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
+ [[MMEEventsManager sharedManager] reportError:*outError];
+#endif
+
}
} else if (outError) {
// TODO: Consider raising an exception here
@@ -87,6 +95,9 @@
*outError = [NSError errorWithDomain:MGLErrorDomain
code:MGLErrorCodeSourceIdentifierMismatch
userInfo:@{ NSLocalizedDescriptionKey : localizedDescription }];
+#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
+ [[MMEEventsManager sharedManager] reportError:*outError];
+#endif
}
return removed;
diff --git a/platform/ios/src/MGLMapView+Impl.mm b/platform/ios/src/MGLMapView+Impl.mm
index 1bccfa662f..7b4277d407 100644
--- a/platform/ios/src/MGLMapView+Impl.mm
+++ b/platform/ios/src/MGLMapView+Impl.mm
@@ -3,6 +3,10 @@
#import "MGLStyle_Private.h"
#import "NSBundle+MGLAdditions.h"
+#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
+#import "MMEEventsManager.h"
+#endif
+
std::unique_ptr<MGLMapViewImpl> MGLMapViewImpl::Create(MGLMapView* nativeView) {
return std::make_unique<MGLMapViewOpenGLImpl>(nativeView);
}
@@ -61,6 +65,9 @@ void MGLMapViewImpl::onDidFailLoadingMap(mbgl::MapLoadError mapError, const std:
NSLocalizedFailureReasonErrorKey: @(what.c_str()),
};
NSError *error = [NSError errorWithDomain:MGLErrorDomain code:code userInfo:userInfo];
+#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
+ [[MMEEventsManager sharedManager] reportError:error];
+#endif
[mapView mapViewDidFailLoadingMapWithError:error];
}