/*
* Copyright (c) 2012. HappyDroids LLC, All rights reserved.
*/
package com.happydroids.platform;
import com.happydroids.HappyDroidConsts;
import com.happydroids.droidtowers.gamestate.server.TowerGameService;
import net.kencochrane.sentry.RavenClient;
import net.kencochrane.sentry.RavenUtils;
import org.acra.ReportField;
import org.acra.collector.CrashReportData;
import org.acra.sender.ReportSender;
import org.acra.sender.ReportSenderException;
import org.json.simple.JSONObject;
public class RavenReportSender implements ReportSender {
@Override public void send(CrashReportData data) throws ReportSenderException {
RavenClient ravenClient = new RavenClient(HappyDroidConsts.SENTRY_DSN);
JSONObject extra = new JSONObject();
extra.put("app_version", data.getProperty(ReportField.APP_VERSION_CODE));
extra.put("android_version", data.getProperty(ReportField.ANDROID_VERSION));
extra.put("available_mem_size", data.getProperty(ReportField.AVAILABLE_MEM_SIZE));
extra.put("total_mem_size", data.getProperty(ReportField.TOTAL_MEM_SIZE));
extra.put("user_email", data.getProperty(ReportField.USER_EMAIL));
extra.put("user_comment", data.getProperty(ReportField.USER_COMMENT));
extra.put("display", data.getProperty(ReportField.DISPLAY));
if (TowerGameService.hasBeenInitialised()) {
extra.put("device_id", TowerGameService.instance().getDeviceId());
}
extra.put("device_build", data.getProperty(ReportField.BUILD));
extra.put("device_brand", data.getProperty(ReportField.BRAND));
extra.put("device_product", data.getProperty(ReportField.PRODUCT));
extra.put("device_model", data.getProperty(ReportField.PHONE_MODEL));
ravenClient.captureException(data.getProperty(ReportField.STACK_TRACE), RavenUtils.getTimestampLong(), "root", 50, null, null, extra);
}
}