disable metrics in debug

This commit is contained in:
Geoffrey Goh
2016-02-02 13:36:10 -08:00
parent aa49d4b2e6
commit 71fb32f952
3 changed files with 75 additions and 63 deletions

View File

@@ -512,35 +512,43 @@ RCT_EXPORT_METHOD(notifyApplicationReady:(RCTPromiseResolveBlock)resolve
RCT_EXPORT_METHOD(getNewStatusReport:(RCTPromiseResolveBlock)resolve
rejecter:(RCTPromiseRejectBlock)reject)
{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
if (needToReportRollback) {
needToReportRollback = NO;
NSUserDefaults *preferences = [NSUserDefaults standardUserDefaults];
NSMutableArray *failedUpdates = [preferences objectForKey:FailedUpdatesKey];
if (failedUpdates) {
NSDictionary *lastFailedPackage = [failedUpdates lastObject];
if (lastFailedPackage) {
resolve([CodePushTelemetryManager getRollbackReport:lastFailedPackage]);
#if defined(DEBUG)
// Do not report metrics if running in debug mode.
resolve(nil);
#else
if ([_bridge.bundleURL.scheme hasPrefix:@"http"]) {
// Do not report metrics if running bundle from packager.
resolve(nil);
} else {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
if (needToReportRollback) {
needToReportRollback = NO;
NSUserDefaults *preferences = [NSUserDefaults standardUserDefaults];
NSMutableArray *failedUpdates = [preferences objectForKey:FailedUpdatesKey];
if (failedUpdates) {
NSDictionary *lastFailedPackage = [failedUpdates lastObject];
if (lastFailedPackage) {
resolve([CodePushTelemetryManager getRollbackReport:lastFailedPackage]);
return;
}
}
} else if (_isFirstRunAfterUpdate) {
NSError *error;
NSDictionary *currentPackage = [CodePushPackage getCurrentPackage:&error];
if (!error && currentPackage) {
resolve([CodePushTelemetryManager getUpdateReport:currentPackage]);
return;
}
}
} else if (_isFirstRunAfterUpdate) {
NSError *error;
NSDictionary *currentPackage = [CodePushPackage getCurrentPackage:&error];
if (!error && currentPackage) {
resolve([CodePushTelemetryManager getUpdateReport:currentPackage]);
} else if (isRunningBinaryVersion) {
NSString *appVersion = [[CodePushConfig current] appVersion];
resolve([CodePushTelemetryManager getBinaryUpdateReport:appVersion]);
return;
}
} else if (isRunningBinaryVersion || [_bridge.bundleURL.scheme hasPrefix:@"http"]) {
// Check if the current appVersion has been reported.
NSString *appVersion = [[CodePushConfig current] appVersion];
resolve([CodePushTelemetryManager getBinaryUpdateReport:appVersion]);
return;
}
resolve(nil);
});
resolve(nil);
});
}
#endif
}
/*