Skip to content
This repository was archived by the owner on May 20, 2025. It is now read-only.

Commit 71fb32f

Browse files
committed
disable metrics in debug
1 parent aa49d4b commit 71fb32f

File tree

3 files changed

+75
-63
lines changed

3 files changed

+75
-63
lines changed

CodePush.m

Lines changed: 33 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -512,35 +512,43 @@ - (void)savePendingUpdate:(NSString *)packageHash
512512
RCT_EXPORT_METHOD(getNewStatusReport:(RCTPromiseResolveBlock)resolve
513513
rejecter:(RCTPromiseRejectBlock)reject)
514514
{
515-
516-
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
517-
if (needToReportRollback) {
518-
needToReportRollback = NO;
519-
NSUserDefaults *preferences = [NSUserDefaults standardUserDefaults];
520-
NSMutableArray *failedUpdates = [preferences objectForKey:FailedUpdatesKey];
521-
if (failedUpdates) {
522-
NSDictionary *lastFailedPackage = [failedUpdates lastObject];
523-
if (lastFailedPackage) {
524-
resolve([CodePushTelemetryManager getRollbackReport:lastFailedPackage]);
515+
#if defined(DEBUG)
516+
// Do not report metrics if running in debug mode.
517+
resolve(nil);
518+
#else
519+
if ([_bridge.bundleURL.scheme hasPrefix:@"http"]) {
520+
// Do not report metrics if running bundle from packager.
521+
resolve(nil);
522+
} else {
523+
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
524+
if (needToReportRollback) {
525+
needToReportRollback = NO;
526+
NSUserDefaults *preferences = [NSUserDefaults standardUserDefaults];
527+
NSMutableArray *failedUpdates = [preferences objectForKey:FailedUpdatesKey];
528+
if (failedUpdates) {
529+
NSDictionary *lastFailedPackage = [failedUpdates lastObject];
530+
if (lastFailedPackage) {
531+
resolve([CodePushTelemetryManager getRollbackReport:lastFailedPackage]);
532+
return;
533+
}
534+
}
535+
} else if (_isFirstRunAfterUpdate) {
536+
NSError *error;
537+
NSDictionary *currentPackage = [CodePushPackage getCurrentPackage:&error];
538+
if (!error && currentPackage) {
539+
resolve([CodePushTelemetryManager getUpdateReport:currentPackage]);
525540
return;
526541
}
527-
}
528-
} else if (_isFirstRunAfterUpdate) {
529-
NSError *error;
530-
NSDictionary *currentPackage = [CodePushPackage getCurrentPackage:&error];
531-
if (!error && currentPackage) {
532-
resolve([CodePushTelemetryManager getUpdateReport:currentPackage]);
542+
} else if (isRunningBinaryVersion) {
543+
NSString *appVersion = [[CodePushConfig current] appVersion];
544+
resolve([CodePushTelemetryManager getBinaryUpdateReport:appVersion]);
533545
return;
534546
}
535-
} else if (isRunningBinaryVersion || [_bridge.bundleURL.scheme hasPrefix:@"http"]) {
536-
// Check if the current appVersion has been reported.
537-
NSString *appVersion = [[CodePushConfig current] appVersion];
538-
resolve([CodePushTelemetryManager getBinaryUpdateReport:appVersion]);
539-
return;
540-
}
541-
542-
resolve(nil);
543-
});
547+
548+
resolve(nil);
549+
});
550+
}
551+
#endif
544552
}
545553

546554
/*

android/app/build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ android {
2222
}
2323

2424
dependencies {
25-
compile fileTree(dir: 'libs', include: ['*.jar'])
26-
compile 'com.android.support:appcompat-v7:23.0.0'
27-
compile 'com.facebook.react:react-native:0.15.1'
25+
compile fileTree(dir: "libs", include: ["*.jar"])
26+
compile "com.android.support:appcompat-v7:23.0.1"
27+
compile "com.facebook.react:react-native:0.19.+"
2828
}

android/app/src/main/java/com/microsoft/codepush/react/CodePush.java

Lines changed: 39 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -426,49 +426,53 @@ protected Void doInBackground(Object... params) {
426426

427427
@ReactMethod
428428
public void getNewStatusReport(final Promise promise) {
429-
430-
AsyncTask asyncTask = new AsyncTask() {
431-
@Override
432-
protected Void doInBackground(Object... params) {
433-
if (needToReportRollback) {
434-
needToReportRollback = false;
435-
JSONArray failedUpdates = getFailedUpdates();
436-
if (failedUpdates != null && failedUpdates.length() > 0) {
437-
try {
438-
JSONObject lastFailedPackageJSON = failedUpdates.getJSONObject(failedUpdates.length() - 1);
439-
WritableMap lastFailedPackage = CodePushUtils.convertJsonObjectToWriteable(lastFailedPackageJSON);
440-
WritableMap failedStatusReport = codePushTelemetryManager.getRollbackReport(lastFailedPackage);
441-
if (failedStatusReport != null) {
442-
promise.resolve(failedStatusReport);
429+
if (isDebugMode) {
430+
// Do not report metrics if running in debug mode.
431+
promise.resolve("");
432+
} else {
433+
AsyncTask asyncTask = new AsyncTask() {
434+
@Override
435+
protected Void doInBackground(Object... params) {
436+
if (needToReportRollback) {
437+
needToReportRollback = false;
438+
JSONArray failedUpdates = getFailedUpdates();
439+
if (failedUpdates != null && failedUpdates.length() > 0) {
440+
try {
441+
JSONObject lastFailedPackageJSON = failedUpdates.getJSONObject(failedUpdates.length() - 1);
442+
WritableMap lastFailedPackage = CodePushUtils.convertJsonObjectToWriteable(lastFailedPackageJSON);
443+
WritableMap failedStatusReport = codePushTelemetryManager.getRollbackReport(lastFailedPackage);
444+
if (failedStatusReport != null) {
445+
promise.resolve(failedStatusReport);
446+
return null;
447+
}
448+
} catch (JSONException e) {
449+
throw new CodePushUnknownException("Unable to read failed updates information stored in SharedPreferences.", e);
450+
}
451+
}
452+
} else if (didUpdate) {
453+
WritableMap currentPackage = codePushPackage.getCurrentPackage();
454+
if (currentPackage != null) {
455+
WritableMap newPackageStatusReport = codePushTelemetryManager.getUpdateReport(currentPackage);
456+
if (newPackageStatusReport != null) {
457+
promise.resolve(newPackageStatusReport);
443458
return null;
444459
}
445-
} catch (JSONException e) {
446-
throw new CodePushUnknownException("Unable to read failed updates information stored in SharedPreferences.", e);
447460
}
448-
}
449-
} else if (didUpdate) {
450-
WritableMap currentPackage = codePushPackage.getCurrentPackage();
451-
if (currentPackage != null) {
452-
WritableMap newPackageStatusReport = codePushTelemetryManager.getUpdateReport(currentPackage);
453-
if (newPackageStatusReport != null) {
454-
promise.resolve(newPackageStatusReport);
461+
} else if (isRunningBinaryVersion) {
462+
WritableMap newAppVersionStatusReport = codePushTelemetryManager.getBinaryUpdateReport(appVersion);
463+
if (newAppVersionStatusReport != null) {
464+
promise.resolve(newAppVersionStatusReport);
455465
return null;
456466
}
457467
}
458-
} else if (isRunningBinaryVersion) {
459-
WritableMap newAppVersionStatusReport = codePushTelemetryManager.getBinaryUpdateReport(appVersion);
460-
if (newAppVersionStatusReport != null) {
461-
promise.resolve(newAppVersionStatusReport);
462-
return null;
463-
}
464-
}
465468

466-
promise.resolve("");
467-
return null;
468-
}
469-
};
469+
promise.resolve("");
470+
return null;
471+
}
472+
};
470473

471-
asyncTask.execute();
474+
asyncTask.execute();
475+
}
472476
}
473477

474478
@ReactMethod

0 commit comments

Comments
 (0)