diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java b/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java index a18f745df4..d9ba6eed60 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java @@ -67,7 +67,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc }; private final static String[] RESET_QUESTIONS = new String[]{ - "welcome", "crash_reports_asked", "crash_report_count", + "welcome", "crash_reports_asked", "print_html_confirmed", "identities_asked", "delete_ref_confirmed", "send_dialog" }; diff --git a/app/src/main/java/eu/faircode/email/Log.java b/app/src/main/java/eu/faircode/email/Log.java index 9bea68700d..b718b9a5b0 100644 --- a/app/src/main/java/eu/faircode/email/Log.java +++ b/app/src/main/java/eu/faircode/email/Log.java @@ -249,23 +249,9 @@ public class Log { return false; Throwable ex = error.getException().getCause(); - if (shouldReport(ex)) { - error.addToTab("extra", "installer", installer == null ? "-" : installer); - error.addToTab("extra", "package", BuildConfig.APPLICATION_ID); - error.addToTab("extra", "fingerprint", fingerprint); - error.addToTab("extra", "thread", Thread.currentThread().getId()); - error.addToTab("extra", "free", Log.getFreeMemMb()); - - String theme = prefs.getString("theme", "light"); - error.addToTab("extra", "theme", theme); - + if (ex == null) return true; - } - return false; - } - - private boolean shouldReport(Throwable ex) { if (ex instanceof MessagingException && (ex.getCause() instanceof IOException || ex.getCause() instanceof ProtocolException)) @@ -294,10 +280,22 @@ public class Log { return false; // Rate limit - int count = prefs.getInt("crash_report_count", 0) + 1; + int count = prefs.getInt("crash_report_count", 0); + count++; prefs.edit().putInt("crash_report_count", count).apply(); + if (count > MAX_CRASH_REPORTS) + return false; + + error.addToTab("extra", "installer", installer == null ? "-" : installer); + error.addToTab("extra", "fingerprint", fingerprint); + error.addToTab("extra", "thread", Thread.currentThread().getId()); + error.addToTab("extra", "free", Log.getFreeMemMb()); + + String theme = prefs.getString("theme", "light"); + error.addToTab("extra", "theme", theme); + error.addToTab("extra", "package", BuildConfig.APPLICATION_ID); - return (count <= MAX_CRASH_REPORTS); + return true; } }); }