Refactor application loading + Paging on main Page
This commit is contained in:
parent
45f5e9023e
commit
1e58752008
26 changed files with 596 additions and 423 deletions
|
|
@ -1,5 +1,6 @@
|
|||
package com.pixelized.biblib.database.dao
|
||||
|
||||
import androidx.paging.DataSource
|
||||
import androidx.room.*
|
||||
import com.pixelized.biblib.database.data.BookDbo
|
||||
import com.pixelized.biblib.database.relation.BookRelation
|
||||
|
|
@ -10,6 +11,10 @@ interface BookDao {
|
|||
@Query("SELECT * FROM ${BookDbo.TABLE}")
|
||||
fun getAll(): List<BookRelation>
|
||||
|
||||
@Transaction
|
||||
@Query("SELECT * FROM ${BookDbo.TABLE}")
|
||||
fun getBook(): DataSource.Factory<Int, BookRelation>
|
||||
|
||||
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
||||
fun insert(vararg books: BookDbo)
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import com.pixelized.biblib.database.data.*
|
|||
|
||||
data class BookRelation(
|
||||
@Embedded
|
||||
val bookDbo: BookDbo,
|
||||
val book: BookDbo,
|
||||
@Relation(
|
||||
parentColumn = BookDbo.ID,
|
||||
entityColumn = AuthorDbo.ID,
|
||||
|
|
@ -21,15 +21,15 @@ data class BookRelation(
|
|||
entityColumn = GenreDbo.ID,
|
||||
associateBy = Junction(BookGenreCrossRef::class)
|
||||
)
|
||||
val genres: List<GenreDbo>,
|
||||
val genres: List<GenreDbo>?,
|
||||
@Relation(
|
||||
parentColumn = BookDbo.LANGUAGE_ID,
|
||||
entityColumn = LanguageDbo.ID
|
||||
)
|
||||
val language: LanguageDbo,
|
||||
val language: LanguageDbo?,
|
||||
@Relation(
|
||||
parentColumn = BookDbo.SERIES_ID,
|
||||
entityColumn = SeriesDbo.ID
|
||||
)
|
||||
val series: SeriesDbo,
|
||||
val series: SeriesDbo?,
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue