add load initial func

This commit is contained in:
Satindar Dhillon 2023-03-01 12:49:42 -08:00
parent 7f3c484ed7
commit e9c57a6702
5 changed files with 14 additions and 5 deletions

View file

@ -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 {

View file

@ -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

View file

@ -35,8 +35,7 @@ interface SavedItemLabelDao {
ForeignKey(
entity = SavedItemLabel::class,
parentColumns = arrayOf("savedItemLabelId"),
childColumns = arrayOf("savedItemLabelId"),
onDelete = ForeignKey.CASCADE
childColumns = arrayOf("savedItemLabelId")
)
]
)

View file

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

View file

@ -107,6 +107,11 @@ class LibraryViewModel @Inject constructor(
}
}
fun initialLoad() {
if (hasLoadedInitialFilters) { return }
load()
}
fun load(clearPreviousSearch: Boolean = false) {
loadInitialFilterValues()