diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/dataService/DataService.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/dataService/DataService.kt index c25eb280c..dde348784 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/dataService/DataService.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/dataService/DataService.kt @@ -14,7 +14,9 @@ class DataService @Inject constructor( val db = Room.databaseBuilder( context, AppDatabase::class.java, "omnivore-database" - ).build() + ) + .fallbackToDestructiveMigration() + .build() fun clearDatabase() { CoroutineScope(Dispatchers.IO).launch { diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/AppDatabase.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/AppDatabase.kt index 56faf0998..2557e4e7e 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/AppDatabase.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/AppDatabase.kt @@ -13,7 +13,7 @@ import app.omnivore.omnivore.persistence.entities.* SavedItemAndSavedItemLabelCrossRef::class, SavedItemAndHighlightCrossRef::class ], - version = 2 + version = 3 ) abstract class AppDatabase : RoomDatabase() { abstract fun viewerDao(): ViewerDao diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/entities/SavedItemLabel.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/entities/SavedItemLabel.kt index 6c5fbd870..a35b67fba 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/entities/SavedItemLabel.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/entities/SavedItemLabel.kt @@ -35,8 +35,7 @@ interface SavedItemLabelDao { ForeignKey( entity = SavedItemLabel::class, parentColumns = arrayOf("savedItemLabelId"), - childColumns = arrayOf("savedItemLabelId"), - onDelete = ForeignKey.CASCADE + childColumns = arrayOf("savedItemLabelId") ) ] ) diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/library/LibraryView.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/library/LibraryView.kt index 6dec98082..c1e89f1e9 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/library/LibraryView.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/library/LibraryView.kt @@ -1,6 +1,7 @@ package app.omnivore.omnivore.ui.library import android.content.Intent +import android.util.Log import androidx.compose.foundation.background import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.* @@ -110,8 +111,10 @@ fun LibraryViewContent(libraryViewModel: LibraryViewModel, modifier: Modifier) { InfiniteListHandler(listState = listState) { if (cardsData.isEmpty()) { - libraryViewModel.load() + Log.d("sync", "loading with load func") + libraryViewModel.initialLoad() } else { + Log.d("sync", "loading with search api") libraryViewModel.loadUsingSearchAPI() } } diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/library/LibraryViewModel.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/library/LibraryViewModel.kt index 9e1076011..ca67daabd 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/library/LibraryViewModel.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/library/LibraryViewModel.kt @@ -107,6 +107,11 @@ class LibraryViewModel @Inject constructor( } } + fun initialLoad() { + if (hasLoadedInitialFilters) { return } + load() + } + fun load(clearPreviousSearch: Boolean = false) { loadInitialFilterValues()