From 33da599ee096468c63e6b871b8d27656d0d31b4b Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Mon, 1 Nov 2021 13:10:49 -0400 Subject: [PATCH] Properly unregister some database observers. --- .../thoughtcrime/securesms/database/DatabaseObserver.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/DatabaseObserver.java b/app/src/main/java/org/thoughtcrime/securesms/database/DatabaseObserver.java index ad989fb78e..4de69505a3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/DatabaseObserver.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/DatabaseObserver.java @@ -117,6 +117,7 @@ public final class DatabaseObserver { public void unregisterObserver(@NonNull MessageObserver listener) { executor.execute(() -> { messageUpdateObservers.remove(listener); + unregisterMapped(messageInsertObservers, listener); }); } @@ -227,8 +228,8 @@ public final class DatabaseObserver { map.put(key, listeners); } - private void unregisterMapped(@NonNull Map> map, @NonNull Observer listener) { - for (Map.Entry> entry : map.entrySet()) { + private void unregisterMapped(@NonNull Map> map, @NonNull V listener) { + for (Map.Entry> entry : map.entrySet()) { entry.getValue().remove(listener); } }