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();
         }