mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-25 03:11:10 +01:00
Delete unused megaphones from the database.
This commit is contained in:
@@ -103,7 +103,7 @@ public class MegaphoneRepository {
|
||||
|
||||
@WorkerThread
|
||||
private void init() {
|
||||
List<MegaphoneRecord> records = database.getAll();
|
||||
List<MegaphoneRecord> records = database.getAllAndDeleteMissing();
|
||||
Set<Event> events = Stream.of(records).map(MegaphoneRecord::getEvent).collect(Collectors.toSet());
|
||||
Set<Event> missing = Stream.of(Megaphones.Event.values()).filterNot(events::contains).collect(Collectors.toSet());
|
||||
|
||||
@@ -120,7 +120,7 @@ public class MegaphoneRepository {
|
||||
@WorkerThread
|
||||
private void resetDatabaseCache() {
|
||||
databaseCache.clear();
|
||||
databaseCache.putAll(Stream.of(database.getAll()).collect(Collectors.toMap(MegaphoneRecord::getEvent, m -> m)));
|
||||
databaseCache.putAll(Stream.of(database.getAllAndDeleteMissing()).collect(Collectors.toMap(MegaphoneRecord::getEvent, m -> m)));
|
||||
}
|
||||
|
||||
public interface Callback<E> {
|
||||
|
||||
@@ -170,5 +170,14 @@ public final class Megaphones {
|
||||
}
|
||||
throw new IllegalArgumentException("No event for key: " + key);
|
||||
}
|
||||
|
||||
public static boolean hasKey(@NonNull String key) {
|
||||
for (Event event : values()) {
|
||||
if (event.getKey().equals(key)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user