mirror of
https://github.com/null2264/yokai.git
synced 2025-06-21 10:44:42 +00:00
more db fixes to crashes when exiting reader
oh i just cant wait to use room
This commit is contained in:
parent
55184dce10
commit
1ddcc77449
2 changed files with 9 additions and 8 deletions
|
@ -3,6 +3,7 @@ package eu.kanade.tachiyomi.data.database.queries
|
||||||
import com.pushtorefresh.storio.sqlite.queries.DeleteQuery
|
import com.pushtorefresh.storio.sqlite.queries.DeleteQuery
|
||||||
import com.pushtorefresh.storio.sqlite.queries.RawQuery
|
import com.pushtorefresh.storio.sqlite.queries.RawQuery
|
||||||
import eu.kanade.tachiyomi.data.database.DbProvider
|
import eu.kanade.tachiyomi.data.database.DbProvider
|
||||||
|
import eu.kanade.tachiyomi.data.database.inTransactionReturn
|
||||||
import eu.kanade.tachiyomi.data.database.models.History
|
import eu.kanade.tachiyomi.data.database.models.History
|
||||||
import eu.kanade.tachiyomi.data.database.models.MangaChapterHistory
|
import eu.kanade.tachiyomi.data.database.models.MangaChapterHistory
|
||||||
import eu.kanade.tachiyomi.data.database.resolvers.HistoryUpsertResolver
|
import eu.kanade.tachiyomi.data.database.resolvers.HistoryUpsertResolver
|
||||||
|
@ -164,10 +165,12 @@ interface HistoryQueries : DbProvider {
|
||||||
* Inserts history object if not yet in database
|
* Inserts history object if not yet in database
|
||||||
* @param historyList history object list
|
* @param historyList history object list
|
||||||
*/
|
*/
|
||||||
fun upsertHistoryLastRead(historyList: List<History>) = db.put()
|
fun upsertHistoryLastRead(historyList: List<History>) = db.inTransactionReturn {
|
||||||
|
db.put()
|
||||||
.objects(historyList)
|
.objects(historyList)
|
||||||
.withPutResolver(HistoryUpsertResolver())
|
.withPutResolver(HistoryUpsertResolver())
|
||||||
.prepare()
|
.prepare()
|
||||||
|
}
|
||||||
|
|
||||||
fun deleteHistory() = db.delete()
|
fun deleteHistory() = db.delete()
|
||||||
.byQuery(
|
.byQuery(
|
||||||
|
|
|
@ -1,12 +1,10 @@
|
||||||
package eu.kanade.tachiyomi.data.database.resolvers
|
package eu.kanade.tachiyomi.data.database.resolvers
|
||||||
|
|
||||||
import androidx.annotation.NonNull
|
|
||||||
import androidx.core.content.contentValuesOf
|
import androidx.core.content.contentValuesOf
|
||||||
import com.pushtorefresh.storio.sqlite.StorIOSQLite
|
import com.pushtorefresh.storio.sqlite.StorIOSQLite
|
||||||
import com.pushtorefresh.storio.sqlite.operations.put.PutResult
|
import com.pushtorefresh.storio.sqlite.operations.put.PutResult
|
||||||
import com.pushtorefresh.storio.sqlite.queries.Query
|
import com.pushtorefresh.storio.sqlite.queries.Query
|
||||||
import com.pushtorefresh.storio.sqlite.queries.UpdateQuery
|
import com.pushtorefresh.storio.sqlite.queries.UpdateQuery
|
||||||
import eu.kanade.tachiyomi.data.database.inTransactionReturn
|
|
||||||
import eu.kanade.tachiyomi.data.database.mappers.HistoryPutResolver
|
import eu.kanade.tachiyomi.data.database.mappers.HistoryPutResolver
|
||||||
import eu.kanade.tachiyomi.data.database.models.History
|
import eu.kanade.tachiyomi.data.database.models.History
|
||||||
import eu.kanade.tachiyomi.data.database.tables.HistoryTable
|
import eu.kanade.tachiyomi.data.database.tables.HistoryTable
|
||||||
|
@ -16,7 +14,7 @@ class HistoryUpsertResolver : HistoryPutResolver() {
|
||||||
/**
|
/**
|
||||||
* Updates last_read time of chapter
|
* Updates last_read time of chapter
|
||||||
*/
|
*/
|
||||||
override fun performPut(@NonNull db: StorIOSQLite, @NonNull history: History): PutResult = db.inTransactionReturn {
|
override fun performPut(db: StorIOSQLite, history: History): PutResult {
|
||||||
val updateQuery = mapToUpdateQuery(history)
|
val updateQuery = mapToUpdateQuery(history)
|
||||||
|
|
||||||
val cursor = db.lowLevel().query(
|
val cursor = db.lowLevel().query(
|
||||||
|
@ -27,7 +25,7 @@ class HistoryUpsertResolver : HistoryPutResolver() {
|
||||||
.build(),
|
.build(),
|
||||||
)
|
)
|
||||||
|
|
||||||
cursor.use { putCursor ->
|
return cursor.use { putCursor ->
|
||||||
if (putCursor.count == 0) {
|
if (putCursor.count == 0) {
|
||||||
val insertQuery = mapToInsertQuery(history)
|
val insertQuery = mapToInsertQuery(history)
|
||||||
val insertedId = db.lowLevel().insert(insertQuery, mapToContentValues(history))
|
val insertedId = db.lowLevel().insert(insertQuery, mapToContentValues(history))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue