diff options
author | Nadia Barbosa <nadiabarbosa@me.com> | 2018-10-05 19:10:58 -0400 |
---|---|---|
committer | Nadia Barbosa <captainbarbosa@users.noreply.github.com> | 2018-10-23 15:49:11 -0700 |
commit | 5f1d4199d994dd552b2b65d500133bb39fc88e5b (patch) | |
tree | f47bfe35f8e23f8ea963300ab85665c3a73e1d71 | |
parent | 28bc4b2bd87fb15821b0aac911224577d4fe5a32 (diff) | |
download | qtlocation-mapboxgl-5f1d4199d994dd552b2b65d500133bb39fc88e5b.tar.gz |
[ios] Log event when offline pack is created
-rw-r--r-- | platform/darwin/src/MGLOfflineRegion_Private.h | 5 | ||||
-rw-r--r-- | platform/darwin/src/MGLOfflineStorage.mm | 17 | ||||
-rw-r--r-- | platform/darwin/src/MGLShapeOfflineRegion.mm | 15 | ||||
-rw-r--r-- | platform/darwin/src/MGLTilePyramidOfflineRegion.mm | 15 | ||||
m--------- | platform/ios/vendor/mapbox-events-ios | 0 |
5 files changed, 52 insertions, 0 deletions
diff --git a/platform/darwin/src/MGLOfflineRegion_Private.h b/platform/darwin/src/MGLOfflineRegion_Private.h index c1f3fd5200..75a023bcbb 100644 --- a/platform/darwin/src/MGLOfflineRegion_Private.h +++ b/platform/darwin/src/MGLOfflineRegion_Private.h @@ -14,6 +14,11 @@ NS_ASSUME_NONNULL_BEGIN */ - (const mbgl::OfflineRegionDefinition)offlineRegionDefinition; +/** + Attributes to be passed into the offline download start event + */ +@property (nonatomic, readonly) NSDictionary *offlineStartEventAttributes; + @end NS_ASSUME_NONNULL_END diff --git a/platform/darwin/src/MGLOfflineStorage.mm b/platform/darwin/src/MGLOfflineStorage.mm index 87df6912fb..c5b08b8bc7 100644 --- a/platform/darwin/src/MGLOfflineStorage.mm +++ b/platform/darwin/src/MGLOfflineStorage.mm @@ -7,11 +7,17 @@ #import "MGLOfflinePack_Private.h" #import "MGLOfflineRegion_Private.h" #import "MGLTilePyramidOfflineRegion.h" +#import "MGLShapeOfflineRegion.h" #import "NSBundle+MGLAdditions.h" #import "NSValue+MGLAdditions.h" #import "NSDate+MGLAdditions.h" #import "NSData+MGLAdditions.h" +#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR +#import "MMEConstants.h" +#import "MGLMapboxEvents.h" +#endif + #include <mbgl/actor/actor.hpp> #include <mbgl/actor/scheduler.hpp> #include <mbgl/storage/resource_transform.hpp> @@ -361,6 +367,17 @@ const MGLExceptionName MGLUnsupportedRegionTypeException = @"MGLUnsupportedRegio if (completion) { completion(pack, error); } + + #if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR + NSMutableDictionary *offlineDownloadStartEventAttributes = [NSMutableDictionary dictionaryWithObject:MMEventTypeOfflineDownloadStart forKey:MMEEventKeyEvent]; + + if ([region conformsToProtocol:@protocol(MGLOfflineRegion_Private)]) { + NSDictionary *regionAttributes = ((id<MGLOfflineRegion_Private>)region).offlineStartEventAttributes; + [offlineDownloadStartEventAttributes addEntriesFromDictionary:regionAttributes]; + } + + [MGLMapboxEvents pushEvent:MMEventTypeOfflineDownloadStart withAttributes:offlineDownloadStartEventAttributes]; + #endif }]; } diff --git a/platform/darwin/src/MGLShapeOfflineRegion.mm b/platform/darwin/src/MGLShapeOfflineRegion.mm index e1393f1199..7a2de8a82b 100644 --- a/platform/darwin/src/MGLShapeOfflineRegion.mm +++ b/platform/darwin/src/MGLShapeOfflineRegion.mm @@ -12,6 +12,10 @@ #import "MGLShape_Private.h" #import "MGLStyle.h" +#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR +#import "MMEConstants.h" +#endif + @interface MGLShapeOfflineRegion () <MGLOfflineRegion_Private, MGLShapeOfflineRegion_Private> @end @@ -22,6 +26,17 @@ @synthesize styleURL = _styleURL; +-(NSDictionary *)offlineStartEventAttributes { + return @{ + #if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR + MMEEventKeyShapeForOfflineRegion: @"shaperegion", + MMEEventKeyMinZoomLevel: @(self.minimumZoomLevel), + MMEEventKeyMaxZoomLevel: @(self.maximumZoomLevel), + MMEEventKeyStyleURL: self.styleURL + #endif + }; +} + + (BOOL)supportsSecureCoding { return YES; } diff --git a/platform/darwin/src/MGLTilePyramidOfflineRegion.mm b/platform/darwin/src/MGLTilePyramidOfflineRegion.mm index 0766d224da..2e06be679e 100644 --- a/platform/darwin/src/MGLTilePyramidOfflineRegion.mm +++ b/platform/darwin/src/MGLTilePyramidOfflineRegion.mm @@ -9,6 +9,10 @@ #import "MGLGeometry_Private.h" #import "MGLStyle.h" +#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR +#import "MMEConstants.h" +#endif + @interface MGLTilePyramidOfflineRegion () <MGLOfflineRegion_Private, MGLTilePyramidOfflineRegion_Private> @end @@ -19,6 +23,17 @@ @synthesize styleURL = _styleURL; +-(NSDictionary *)offlineStartEventAttributes { + return @{ + #if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR + MMEEventKeyShapeForOfflineRegion: @"tileregion", + MMEEventKeyMinZoomLevel: @(self.minimumZoomLevel), + MMEEventKeyMaxZoomLevel: @(self.maximumZoomLevel), + MMEEventKeyStyleURL: self.styleURL + #endif + }; +} + + (BOOL)supportsSecureCoding { return YES; } diff --git a/platform/ios/vendor/mapbox-events-ios b/platform/ios/vendor/mapbox-events-ios -Subproject d5e86d0a749d94a8e5f032b9946f7683bdd8c8b +Subproject 61fca377e82b4cfb5e99feea1f465eff1dabbf4 |