diff --git a/app/src/main/java/eu/faircode/email/ActivityBase.java b/app/src/main/java/eu/faircode/email/ActivityBase.java index 361b6d6c86..3741d6457b 100644 --- a/app/src/main/java/eu/faircode/email/ActivityBase.java +++ b/app/src/main/java/eu/faircode/email/ActivityBase.java @@ -37,9 +37,14 @@ import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.OnLifecycleEvent; import androidx.preference.PreferenceManager; +import com.bugsnag.android.BreadcrumbType; +import com.bugsnag.android.Bugsnag; + import java.util.ArrayList; import java.util.Arrays; +import java.util.HashMap; import java.util.List; +import java.util.Map; abstract class ActivityBase extends AppCompatActivity implements SharedPreferences.OnSharedPreferenceChangeListener { private boolean contacts; @@ -80,6 +85,13 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc super.onSaveInstanceState(outState); int after = Helper.getSize(outState); Log.i("Saved instance " + this + " size=" + before + "/" + after); + + Map crumb = new HashMap<>(); + crumb.put("name", this.getClass().getName()); + crumb.put("before", Integer.toString(before)); + crumb.put("after", Integer.toString(after)); + Bugsnag.leaveBreadcrumb("onSaveInstanceState", BreadcrumbType.STATE, crumb); + for (String key : outState.keySet()) Log.i("Saved " + this + " " + key + "=" + outState.get(key)); } diff --git a/app/src/main/java/eu/faircode/email/FragmentBase.java b/app/src/main/java/eu/faircode/email/FragmentBase.java index 148c6920ee..620adc083e 100644 --- a/app/src/main/java/eu/faircode/email/FragmentBase.java +++ b/app/src/main/java/eu/faircode/email/FragmentBase.java @@ -32,6 +32,12 @@ import androidx.appcompat.app.AppCompatActivity; import androidx.fragment.app.Fragment; import androidx.lifecycle.Lifecycle; +import com.bugsnag.android.BreadcrumbType; +import com.bugsnag.android.Bugsnag; + +import java.util.HashMap; +import java.util.Map; + public class FragmentBase extends Fragment { private String subtitle = " "; private boolean finish = false; @@ -60,6 +66,13 @@ public class FragmentBase extends Fragment { super.onSaveInstanceState(outState); int after = Helper.getSize(outState); Log.i("Saved instance " + this + " size=" + before + "/" + after); + + Map crumb = new HashMap<>(); + crumb.put("name", this.getClass().getName()); + crumb.put("before", Integer.toString(before)); + crumb.put("after", Integer.toString(after)); + Bugsnag.leaveBreadcrumb("onSaveInstanceState", BreadcrumbType.STATE, crumb); + for (String key : outState.keySet()) Log.i("Saved " + this + " " + key + "=" + outState.get(key)); }