Merge "Clean up the cleanup method" into pi-car-dev
am: de60608b52
Change-Id: I4690dbd90c4e369a2d9a5ff5ba4bff5daaf3f324
diff --git a/src/com/android/car/messenger/MessengerDelegate.java b/src/com/android/car/messenger/MessengerDelegate.java
index 8b85682..6328905 100644
--- a/src/com/android/car/messenger/MessengerDelegate.java
+++ b/src/com/android/car/messenger/MessengerDelegate.java
@@ -218,6 +218,11 @@
/** Removes all messages related to the inputted predicate, and cancels their notifications. **/
private void cleanupMessagesAndNotifications(Predicate<CompositeKey> predicate) {
+ for (MessageKey key : mMessages.keySet()) {
+ if (predicate.test(key)) {
+ mSmsDatabaseHandler.removeMessagesForDevice(key.getDeviceAddress());
+ }
+ }
mMessages.entrySet().removeIf(
messageKeyMapMessageEntry -> predicate.test(messageKeyMapMessageEntry.getKey()));
clearNotifications(predicate);
@@ -293,9 +298,7 @@
}
protected void cleanup() {
- for (String address : mBTDeviceAddressToConnectionTimestamp.keySet()) {
- mSmsDatabaseHandler.removeMessagesForDevice(address);
- }
+ cleanupMessagesAndNotifications(key -> true);
if (mBluetoothMapClient != null) {
mBluetoothMapClient.close();
}