diff --git a/app/src/main/java/eu/faircode/email/ViewModelMessages.java b/app/src/main/java/eu/faircode/email/ViewModelMessages.java index 3d6f5055c1..d2d2ca4a48 100644 --- a/app/src/main/java/eu/faircode/email/ViewModelMessages.java +++ b/app/src/main/java/eu/faircode/email/ViewModelMessages.java @@ -67,8 +67,10 @@ public class ViewModelMessages extends ViewModel { if (model == null || !model.args.equals(args)) { Log.i("Creating model=" + viewType + " replace=" + (model != null)); - if (model != null) + if (model != null) { + model.list.removeObservers(owner); model.clear(); + } DB db = DB.getInstance(context); @@ -198,8 +200,10 @@ public class ViewModelMessages extends ViewModel { private void remove(AdapterMessage.ViewType viewType) { Model model = models.get(viewType); - if (model != null) + if (model != null) { + model.clear(); models.remove(viewType); + } } void observePrevNext(LifecycleOwner owner, final long id, final IPrevNext intf) {