package com.ioabsoftware.gameraven;
import android.app.Application;
import com.joanzapata.iconify.Iconify;
import com.joanzapata.iconify.fonts.FontAwesomeModule;
import com.joanzapata.iconify.fonts.MaterialCommunityModule;
import com.joanzapata.iconify.fonts.MaterialModule;
import org.acra.ACRA;
import org.acra.ReportingInteractionMode;
import org.acra.annotation.ReportsCrashes;
import static org.acra.ReportField.ANDROID_VERSION;
import static org.acra.ReportField.APP_VERSION_CODE;
import static org.acra.ReportField.APP_VERSION_NAME;
import static org.acra.ReportField.AVAILABLE_MEM_SIZE;
import static org.acra.ReportField.BUILD;
import static org.acra.ReportField.CRASH_CONFIGURATION;
import static org.acra.ReportField.CUSTOM_DATA;
import static org.acra.ReportField.DEVICE_FEATURES;
import static org.acra.ReportField.DISPLAY;
import static org.acra.ReportField.ENVIRONMENT;
import static org.acra.ReportField.FILE_PATH;
import static org.acra.ReportField.INITIAL_CONFIGURATION;
import static org.acra.ReportField.INSTALLATION_ID;
import static org.acra.ReportField.LOGCAT;
import static org.acra.ReportField.PACKAGE_NAME;
import static org.acra.ReportField.REPORT_ID;
import static org.acra.ReportField.SETTINGS_GLOBAL;
import static org.acra.ReportField.SETTINGS_SECURE;
import static org.acra.ReportField.SETTINGS_SYSTEM;
import static org.acra.ReportField.SHARED_PREFERENCES;
import static org.acra.ReportField.STACK_TRACE;
import static org.acra.ReportField.TOTAL_MEM_SIZE;
import static org.acra.ReportField.USER_APP_START_DATE;
import static org.acra.ReportField.USER_COMMENT;
import static org.acra.ReportField.USER_CRASH_DATE;
import static org.acra.ReportField.USER_EMAIL;
@ReportsCrashes(
formUri = "https://ioabsoftware.cloudant.com/acra-gameraven/_design/acra-storage/_update/report",
reportType = org.acra.sender.HttpSender.Type.JSON,
httpMethod = org.acra.sender.HttpSender.Method.PUT,
formUriBasicAuthLogin = "foreagarvencensigrormese",
formUriBasicAuthPassword = "ac784d49717b77ea927b89ff36a2850d8cb1435b",
customReportContent = {
REPORT_ID,
APP_VERSION_CODE,
APP_VERSION_NAME,
PACKAGE_NAME,
FILE_PATH,
ANDROID_VERSION,
BUILD,
TOTAL_MEM_SIZE,
AVAILABLE_MEM_SIZE,
CUSTOM_DATA,
STACK_TRACE,
INITIAL_CONFIGURATION,
CRASH_CONFIGURATION,
DISPLAY,
USER_COMMENT,
USER_EMAIL,
USER_APP_START_DATE,
USER_CRASH_DATE,
LOGCAT,
INSTALLATION_ID,
DEVICE_FEATURES,
ENVIRONMENT,
SHARED_PREFERENCES,
SETTINGS_SYSTEM,
SETTINGS_SECURE,
SETTINGS_GLOBAL
},
excludeMatchingSharedPreferencesKeys = {"secureSalt"},
logcatFilterByPid = true,
mode = ReportingInteractionMode.DIALOG,
resToastText = R.string.crash_toast_text, // optional, displayed as soon as the crash occurs, before collecting data which can take a few seconds
resDialogText = R.string.crash_dialog_text,
resDialogTitle = R.string.crash_dialog_title, // optional. default is your application name
resDialogCommentPrompt = R.string.crash_dialog_comment_prompt, // optional. when defined, adds a user text field input with this text resource as a label
resDialogOkToast = R.string.crash_dialog_ok_toast // optional. displays a Toast message when the user accepts to send a report.
)
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// trigger the initialization of ACRA, but only for release builds
if (!BuildConfig.DEBUG)
ACRA.init(this);
Iconify
.with(new FontAwesomeModule())
.with(new MaterialModule())
.with(new MaterialCommunityModule());
}
}