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