Remove deletions from sync process
This commit is contained in:
@@ -16,8 +16,8 @@ android {
|
|||||||
applicationId 'org.koitharu.kotatsu'
|
applicationId 'org.koitharu.kotatsu'
|
||||||
minSdk = 21
|
minSdk = 21
|
||||||
targetSdk = 34
|
targetSdk = 34
|
||||||
versionCode = 591
|
versionCode = 592
|
||||||
versionName = '6.2.4'
|
versionName = '6.2.5-a1'
|
||||||
generatedDensities = []
|
generatedDensities = []
|
||||||
testInstrumentationRunner "org.koitharu.kotatsu.HiltTestRunner"
|
testInstrumentationRunner "org.koitharu.kotatsu.HiltTestRunner"
|
||||||
ksp {
|
ksp {
|
||||||
|
|||||||
@@ -169,6 +169,7 @@ abstract class FavouritesDao {
|
|||||||
ListSortOrder.NEWEST -> "favourites.created_at DESC"
|
ListSortOrder.NEWEST -> "favourites.created_at DESC"
|
||||||
ListSortOrder.ALPHABETIC -> "manga.title ASC"
|
ListSortOrder.ALPHABETIC -> "manga.title ASC"
|
||||||
ListSortOrder.NEW_CHAPTERS -> "(SELECT chapters_new FROM tracks WHERE tracks.manga_id = manga.manga_id) DESC"
|
ListSortOrder.NEW_CHAPTERS -> "(SELECT chapters_new FROM tracks WHERE tracks.manga_id = manga.manga_id) DESC"
|
||||||
|
ListSortOrder.UPDATED, // for legacy support
|
||||||
ListSortOrder.PROGRESS -> "(SELECT percent FROM history WHERE history.manga_id = manga.manga_id) DESC"
|
ListSortOrder.PROGRESS -> "(SELECT percent FROM history WHERE history.manga_id = manga.manga_id) DESC"
|
||||||
else -> throw IllegalArgumentException("Sort order $sortOrder is not supported")
|
else -> throw IllegalArgumentException("Sort order $sortOrder is not supported")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -130,9 +130,6 @@ class SyncHelper @AssistedInject constructor(
|
|||||||
private fun upsertHistory(json: JSONArray, timestamp: Long): Array<ContentProviderResult> {
|
private fun upsertHistory(json: JSONArray, timestamp: Long): Array<ContentProviderResult> {
|
||||||
val uri = uri(authorityHistory, TABLE_HISTORY)
|
val uri = uri(authorityHistory, TABLE_HISTORY)
|
||||||
val operations = ArrayList<ContentProviderOperation>()
|
val operations = ArrayList<ContentProviderOperation>()
|
||||||
operations += ContentProviderOperation.newDelete(uri)
|
|
||||||
.withSelection("updated_at < ?", arrayOf(timestamp.toString()))
|
|
||||||
.build()
|
|
||||||
json.mapJSONTo(operations) { jo ->
|
json.mapJSONTo(operations) { jo ->
|
||||||
operations.addAll(upsertManga(jo.removeJSONObject("manga"), authorityHistory))
|
operations.addAll(upsertManga(jo.removeJSONObject("manga"), authorityHistory))
|
||||||
ContentProviderOperation.newInsert(uri)
|
ContentProviderOperation.newInsert(uri)
|
||||||
@@ -145,9 +142,6 @@ class SyncHelper @AssistedInject constructor(
|
|||||||
private fun upsertFavouriteCategories(json: JSONArray, timestamp: Long): Array<ContentProviderResult> {
|
private fun upsertFavouriteCategories(json: JSONArray, timestamp: Long): Array<ContentProviderResult> {
|
||||||
val uri = uri(authorityFavourites, TABLE_FAVOURITE_CATEGORIES)
|
val uri = uri(authorityFavourites, TABLE_FAVOURITE_CATEGORIES)
|
||||||
val operations = ArrayList<ContentProviderOperation>()
|
val operations = ArrayList<ContentProviderOperation>()
|
||||||
operations += ContentProviderOperation.newDelete(uri)
|
|
||||||
.withSelection("created_at < ?", arrayOf(timestamp.toString()))
|
|
||||||
.build()
|
|
||||||
json.mapJSONTo(operations) { jo ->
|
json.mapJSONTo(operations) { jo ->
|
||||||
ContentProviderOperation.newInsert(uri)
|
ContentProviderOperation.newInsert(uri)
|
||||||
.withValues(jo.toContentValues())
|
.withValues(jo.toContentValues())
|
||||||
@@ -159,9 +153,6 @@ class SyncHelper @AssistedInject constructor(
|
|||||||
private fun upsertFavourites(json: JSONArray, timestamp: Long): Array<ContentProviderResult> {
|
private fun upsertFavourites(json: JSONArray, timestamp: Long): Array<ContentProviderResult> {
|
||||||
val uri = uri(authorityFavourites, TABLE_FAVOURITES)
|
val uri = uri(authorityFavourites, TABLE_FAVOURITES)
|
||||||
val operations = ArrayList<ContentProviderOperation>()
|
val operations = ArrayList<ContentProviderOperation>()
|
||||||
operations += ContentProviderOperation.newDelete(uri)
|
|
||||||
.withSelection("created_at < ?", arrayOf(timestamp.toString()))
|
|
||||||
.build()
|
|
||||||
json.mapJSONTo(operations) { jo ->
|
json.mapJSONTo(operations) { jo ->
|
||||||
operations.addAll(upsertManga(jo.removeJSONObject("manga"), authorityFavourites))
|
operations.addAll(upsertManga(jo.removeJSONObject("manga"), authorityFavourites))
|
||||||
ContentProviderOperation.newInsert(uri)
|
ContentProviderOperation.newInsert(uri)
|
||||||
|
|||||||
Reference in New Issue
Block a user