Added option to synchronize Room database updates on different processes.

Which also required a newer version of Room.

Test: manual verification
Bug: 138749761
Fixes: 137647889

Change-Id: I0c16290397eb30128e12ee860885a8b5e4cd78eb
diff --git a/Android.mk b/Android.mk
index b3352d9..81de821 100644
--- a/Android.mk
+++ b/Android.mk
@@ -43,11 +43,7 @@
 LOCAL_JAVA_LIBRARIES += android.car
 
 LOCAL_STATIC_JAVA_LIBRARIES := \
-    androidx.lifecycle_lifecycle-livedata \
-    androidx.sqlite_sqlite-framework \
-    androidx.sqlite_sqlite \
-    car-androidx-room-common-nodeps \
-    car-androidx-room-runtime-nodeps
+    androidx.lifecycle_lifecycle-livedata
 
 LOCAL_ANNOTATION_PROCESSORS := \
     car-androidx-annotation-nodeps \
@@ -74,6 +70,7 @@
 
 LOCAL_STATIC_ANDROID_LIBRARIES += \
     androidx-constraintlayout_constraintlayout \
+    androidx.room_room-runtime \
     car-apps-common \
     car-media-common \
     car-broadcastradio-support
diff --git a/src/com/android/car/radio/storage/RadioDatabase.java b/src/com/android/car/radio/storage/RadioDatabase.java
index d237f45..ae26bf1 100644
--- a/src/com/android/car/radio/storage/RadioDatabase.java
+++ b/src/com/android/car/radio/storage/RadioDatabase.java
@@ -66,8 +66,10 @@
     protected abstract FavoriteDao favoriteDao();
 
     public static RadioDatabase buildInstance(Context context) {
-        return Room.databaseBuilder(context.getApplicationContext(),
-                RadioDatabase.class, RadioDatabase.class.getSimpleName()).build();
+        return Room.databaseBuilder(context.getApplicationContext(), RadioDatabase.class,
+                RadioDatabase.class.getSimpleName())
+                .enableMultiInstanceInvalidation()
+                .build();
     }
 
     /**