package com.apigee.sdk.apm.android;
/**
* Options that can be customized for App Monitoring functionality.
*
* @see <a href="http://apigee.com/docs/app-services/content/app-monitoring">App Monitoring documentation</a>
*/
public class MonitoringOptions {
private boolean monitoringEnabled;
private boolean crashReportingEnabled;
private boolean enableAutoUpload;
private UploadListener uploadListener;
private boolean alwaysUploadCrashReports;
/**
* Default constructor - sets default values
*/
public MonitoringOptions() {
this.monitoringEnabled = true;
this.crashReportingEnabled = true;
this.enableAutoUpload = true;
this.uploadListener = null;
this.alwaysUploadCrashReports = true;
}
/**
* Sets whether app monitoring is enabled or disabled
* @param monitoringEnabled boolean value to enable or disable app monitoring
*/
public void setMonitoringEnabled(boolean monitoringEnabled) {
this.monitoringEnabled = monitoringEnabled;
}
/**
* Retrieves boolean indicating whether app monitoring is enabled
* @return boolean value
*/
public boolean getMonitoringEnabled() {
return this.monitoringEnabled;
}
/**
* Sets whether crash reporting is enabled or disabled
* @param crashReportingEnabled boolean value to enable or disable crash reporting
*/
public void setCrashReportingEnabled(boolean crashReportingEnabled) {
this.crashReportingEnabled = crashReportingEnabled;
}
/**
* Retrieves boolean indicating whether auto upload is enabled
* @param enableAutoUpload boolean value to enable or disable auto upload
*/
public void setEnableAutoUpload(boolean enableAutoUpload) {
this.enableAutoUpload = enableAutoUpload;
}
/**
* Sets a listener that will be called when data is uploaded to server
* @param uploadListener the listener to be called on uploads
* @see UploadListener
*/
public void setUploadListener(UploadListener uploadListener) {
this.uploadListener = uploadListener;
}
/**
* Retrieves boolean indicating whether crash reporting is enabled
* @return boolean value
*/
public boolean getCrashReportingEnabled() {
return this.crashReportingEnabled;
}
/**
* Retrieves boolean indicating whether auto upload is enabled
* @return boolean value
*/
public boolean getEnableAutoUpload() {
return this.enableAutoUpload;
}
/**
* Retrieves the current upload listener to be called when data is uploaded to server
* @return the upload listener
* @see UploadListener
*/
public UploadListener getUploadListener() {
return this.uploadListener;
}
/**
* Retrieves boolean indicating whether crash reports should be uploaded even if device is not part of sample
* @return boolean value
*/
public boolean getAlwaysUploadCrashReports() {
return this.alwaysUploadCrashReports;
}
/**
* Sets boolean indicating whether crash reports should be uploaded even if device is not part of sample
* @param alwaysUploadCrashReports the boolean indicator
*/
public void setAlwaysUploadCrashReports(boolean alwaysUploadCrashReports) {
this.alwaysUploadCrashReports = alwaysUploadCrashReports;
}
}