From 88d50f088d0941da082cac13217d83687939bef6 Mon Sep 17 00:00:00 2001 From: Andreas Schildbach Date: Thu, 13 Dec 2018 19:58:15 +0100 Subject: [PATCH] ErrorReporter: Add versionName to bug report subjects too. --- .../src/de/schildbach/oeffi/OeffiMainActivity.java | 2 +- .../src/de/schildbach/oeffi/util/ErrorReporter.java | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/oeffi/src/de/schildbach/oeffi/OeffiMainActivity.java b/oeffi/src/de/schildbach/oeffi/OeffiMainActivity.java index 4322aa5..82af13e 100644 --- a/oeffi/src/de/schildbach/oeffi/OeffiMainActivity.java +++ b/oeffi/src/de/schildbach/oeffi/OeffiMainActivity.java @@ -349,7 +349,7 @@ public abstract class OeffiMainActivity extends OeffiActivity { } case R.id.global_options_report_bug: { - ErrorReporter.sendBugMail(this); + ErrorReporter.sendBugMail(this, application.packageInfo()); return true; } diff --git a/oeffi/src/de/schildbach/oeffi/util/ErrorReporter.java b/oeffi/src/de/schildbach/oeffi/util/ErrorReporter.java index b6f25c9..2a56e0b 100644 --- a/oeffi/src/de/schildbach/oeffi/util/ErrorReporter.java +++ b/oeffi/src/de/schildbach/oeffi/util/ErrorReporter.java @@ -212,11 +212,11 @@ public class ErrorReporter implements Thread.UncaughtExceptionHandler { private static void sendErrorMail(final Context context, final String errorContent) { final Matcher m = Pattern.compile("Version: (.+?) ").matcher(errorContent); final String versionName = m.find() ? m.group(1) : ""; - final String subject = context.getString(R.string.error_reporter_crash_mail_subject) + " " + versionName; + final String subject = buildSubject(context, R.string.error_reporter_crash_mail_subject, versionName); send(context, subject, errorContent); } - public static void sendBugMail(final Context context) { + public static void sendBugMail(final Context context, final PackageInfo packageInfo) { final StringBuilder report = new StringBuilder(context.getString(R.string.error_reporter_questions)); report.append("\n=== collected at reporting time ===\n\n"); appendReport(report, context); @@ -228,10 +228,17 @@ public class ErrorReporter implements Thread.UncaughtExceptionHandler { report.append("\n\n"); report.append(context.getString(R.string.error_reporter_footer)); - final String subject = context.getString(R.string.error_reporter_bug_mail_subject); + final String subject = buildSubject(context, R.string.error_reporter_bug_mail_subject, packageInfo.versionName); send(context, subject, report); } + private static String buildSubject(final Context context, final int prefixResId, final String versionName) { + final StringBuilder subject = new StringBuilder(context.getString(prefixResId)); + subject.append(": "); + subject.append(versionName); + return subject.toString(); + } + private static void send(final Context context, final String subject, final CharSequence report) { final File logDir = new File(context.getFilesDir(), "log"); final ArrayList attachments = new ArrayList<>();