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

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

View File

@@ -426,49 +426,53 @@ public class CodePush {
@ReactMethod
public void getNewStatusReport(final Promise promise) {
AsyncTask asyncTask = new AsyncTask() {
@Override
protected Void doInBackground(Object... params) {
if (needToReportRollback) {
needToReportRollback = false;
JSONArray failedUpdates = getFailedUpdates();
if (failedUpdates != null && failedUpdates.length() > 0) {
try {
JSONObject lastFailedPackageJSON = failedUpdates.getJSONObject(failedUpdates.length() - 1);
WritableMap lastFailedPackage = CodePushUtils.convertJsonObjectToWriteable(lastFailedPackageJSON);
WritableMap failedStatusReport = codePushTelemetryManager.getRollbackReport(lastFailedPackage);
if (failedStatusReport != null) {
promise.resolve(failedStatusReport);
if (isDebugMode) {
// Do not report metrics if running in debug mode.
promise.resolve("");
} else {
AsyncTask asyncTask = new AsyncTask() {
@Override
protected Void doInBackground(Object... params) {
if (needToReportRollback) {
needToReportRollback = false;
JSONArray failedUpdates = getFailedUpdates();
if (failedUpdates != null && failedUpdates.length() > 0) {
try {
JSONObject lastFailedPackageJSON = failedUpdates.getJSONObject(failedUpdates.length() - 1);
WritableMap lastFailedPackage = CodePushUtils.convertJsonObjectToWriteable(lastFailedPackageJSON);
WritableMap failedStatusReport = codePushTelemetryManager.getRollbackReport(lastFailedPackage);
if (failedStatusReport != null) {
promise.resolve(failedStatusReport);
return null;
}
} catch (JSONException e) {
throw new CodePushUnknownException("Unable to read failed updates information stored in SharedPreferences.", e);
}
}
} else if (didUpdate) {
WritableMap currentPackage = codePushPackage.getCurrentPackage();
if (currentPackage != null) {
WritableMap newPackageStatusReport = codePushTelemetryManager.getUpdateReport(currentPackage);
if (newPackageStatusReport != null) {
promise.resolve(newPackageStatusReport);
return null;
}
} catch (JSONException e) {
throw new CodePushUnknownException("Unable to read failed updates information stored in SharedPreferences.", e);
}
}
} else if (didUpdate) {
WritableMap currentPackage = codePushPackage.getCurrentPackage();
if (currentPackage != null) {
WritableMap newPackageStatusReport = codePushTelemetryManager.getUpdateReport(currentPackage);
if (newPackageStatusReport != null) {
promise.resolve(newPackageStatusReport);
} else if (isRunningBinaryVersion) {
WritableMap newAppVersionStatusReport = codePushTelemetryManager.getBinaryUpdateReport(appVersion);
if (newAppVersionStatusReport != null) {
promise.resolve(newAppVersionStatusReport);
return null;
}
}
} else if (isRunningBinaryVersion) {
WritableMap newAppVersionStatusReport = codePushTelemetryManager.getBinaryUpdateReport(appVersion);
if (newAppVersionStatusReport != null) {
promise.resolve(newAppVersionStatusReport);
return null;
}
promise.resolve("");
return null;
}
};
promise.resolve("");
return null;
}
};
asyncTask.execute();
asyncTask.execute();
}
}
@ReactMethod