diff --git a/app/src/main/java/eu/faircode/email/Log.java b/app/src/main/java/eu/faircode/email/Log.java index 5a607a1285..45bf5687ba 100644 --- a/app/src/main/java/eu/faircode/email/Log.java +++ b/app/src/main/java/eu/faircode/email/Log.java @@ -56,12 +56,15 @@ import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.preference.PreferenceManager; +import com.bugsnag.android.Breadcrumb; import com.bugsnag.android.BreadcrumbType; import com.bugsnag.android.Bugsnag; import com.bugsnag.android.Client; import com.bugsnag.android.ErrorTypes; import com.bugsnag.android.Event; +import com.bugsnag.android.OnBreadcrumbCallback; import com.bugsnag.android.OnErrorCallback; +import com.bugsnag.android.OnSendCallback; import com.bugsnag.android.OnSessionCallback; import com.bugsnag.android.Session; import com.bugsnag.android.Severity; @@ -448,7 +451,9 @@ public class Log { @Override public boolean onSession(@NonNull Session session) { // opt-in - return prefs.getBoolean("crash_reports", false) || Log.isTestRelease(); + // opt-in + boolean crash_reports = prefs.getBoolean("crash_reports", false); + return crash_reports || Log.isTestRelease(); } }); @@ -554,6 +559,24 @@ public class Log { } }); + config.addOnBreadcrumb(new OnBreadcrumbCallback() { + @Override + public boolean onBreadcrumb(@NonNull Breadcrumb breadcrumb) { + // opt-in + boolean crash_reports = prefs.getBoolean("crash_reports", false); + return crash_reports || Log.isTestRelease(); + } + }); + + config.addOnSend(new OnSendCallback() { + @Override + public boolean onSend(@NonNull Event event) { + // opt-in + boolean crash_reports = prefs.getBoolean("crash_reports", false); + return crash_reports || Log.isTestRelease(); + } + }); + Bugsnag.start(context, config); Client client = Bugsnag.getClient();