Fix ios offline pack bugs.

- Only resume packs that aren't complete.
- Don't fire events for invalid packs.
This commit is contained in:
gcole
2017-08-09 10:00:38 -07:00
parent 5a1983ac9c
commit 9a3646faf5
2 changed files with 7 additions and 2 deletions
+1 -1
View File
@@ -107,7 +107,7 @@ function bindCallbackToPromise(callback, promise) {
}
function initializeOfflinePacks() {
return new Promise((resolve, reject) => {
return new Promise((resolve) => {
NativeAppEventEmitter.addListener('MapboxOfflinePacksLoaded', () => {
resolve();
});
+6 -1
View File
@@ -172,7 +172,9 @@ RCT_EXPORT_METHOD(setAccessToken:(nonnull NSString *)accessToken
}
for (MGLOfflinePack * pack in packs) {
[pack resume];
if (pack.state != MGLOfflinePackStateComplete) {
[pack resume];
}
}
[_bridge.eventDispatcher sendAppEventWithName:@"MapboxOfflinePacksLoaded" body:@{}];
}
@@ -203,6 +205,9 @@ RCT_EXPORT_METHOD(setAccessToken:(nonnull NSString *)accessToken
}
- (void)firePackProgress:(MGLOfflinePack*)pack {
if (pack.state == MGLOfflinePackStateInvalid) {
return;
}
NSDictionary *userInfo = [NSKeyedUnarchiver unarchiveObjectWithData:pack.context];
MGLOfflinePackProgress progress = pack.progress;