kopia lustrzana https://github.com/ryukoposting/Signal-Android
Properly unregister some database observers.
rodzic
113bcca277
commit
33da599ee0
|
@ -117,6 +117,7 @@ public final class DatabaseObserver {
|
||||||
public void unregisterObserver(@NonNull MessageObserver listener) {
|
public void unregisterObserver(@NonNull MessageObserver listener) {
|
||||||
executor.execute(() -> {
|
executor.execute(() -> {
|
||||||
messageUpdateObservers.remove(listener);
|
messageUpdateObservers.remove(listener);
|
||||||
|
unregisterMapped(messageInsertObservers, listener);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -227,8 +228,8 @@ public final class DatabaseObserver {
|
||||||
map.put(key, listeners);
|
map.put(key, listeners);
|
||||||
}
|
}
|
||||||
|
|
||||||
private <K> void unregisterMapped(@NonNull Map<K, Set<Observer>> map, @NonNull Observer listener) {
|
private <K, V> void unregisterMapped(@NonNull Map<K, Set<V>> map, @NonNull V listener) {
|
||||||
for (Map.Entry<K, Set<Observer>> entry : map.entrySet()) {
|
for (Map.Entry<K, Set<V>> entry : map.entrySet()) {
|
||||||
entry.getValue().remove(listener);
|
entry.getValue().remove(listener);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Ładowanie…
Reference in New Issue