diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 84e2e3c7b..eae2723ad 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -395,7 +395,7 @@ android:value=".FDroid" /> (ACRAConstants.DEFAULT_MAIL_REPORT_FIELDS); + } + + String subject = context.getPackageName() + " Crash Report"; + StringBuilder builder = new StringBuilder(); + Iterator var4 = fields.iterator(); + + while (var4.hasNext()) { + ReportField field = (ReportField) var4.next(); + builder.append(field.toString()).append('='); + builder.append(errorContent.get(field)); + builder.append('\n'); + if ("STACK_TRACE".equals(field.toString())) { + String stackTrace = errorContent.get(field); + if (stackTrace != null) { + subject = context.getPackageName() + ": " + + stackTrace.substring(0, stackTrace.indexOf('\n')); + if (subject.length() > 72) { + subject = subject.substring(0, 72); + } + } + } + } + + return new String[]{subject, builder.toString()}; + } +} diff --git a/app/src/main/java/org/fdroid/fdroid/acra/CrashReportSenderFactory.java b/app/src/main/java/org/fdroid/fdroid/acra/CrashReportSenderFactory.java new file mode 100644 index 000000000..463417b11 --- /dev/null +++ b/app/src/main/java/org/fdroid/fdroid/acra/CrashReportSenderFactory.java @@ -0,0 +1,16 @@ +package org.fdroid.fdroid.acra; + +import android.content.Context; +import android.support.annotation.NonNull; + +import org.acra.config.ACRAConfiguration; +import org.acra.sender.ReportSender; +import org.acra.sender.ReportSenderFactory; + +public class CrashReportSenderFactory implements ReportSenderFactory { + @NonNull + @Override + public ReportSender create(@NonNull Context context, @NonNull ACRAConfiguration acraConfiguration) { + return new CrashReportSender(acraConfiguration); + } +}