| 
					
				 | 
			
			
				@@ -1,52 +0,0 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-package eu.kanade.tachiyomi.data.database.resolvers 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import androidx.annotation.NonNull 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import androidx.core.content.contentValuesOf 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.pushtorefresh.storio.sqlite.StorIOSQLite 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.pushtorefresh.storio.sqlite.operations.put.PutResult 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.pushtorefresh.storio.sqlite.queries.Query 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-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.models.History 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import eu.kanade.tachiyomi.data.database.tables.HistoryTable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-class HistoryUpsertResolver : HistoryPutResolver() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * Updates last_read time of chapter 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    override fun performPut(@NonNull db: StorIOSQLite, @NonNull history: History): PutResult = db.inTransactionReturn { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        val updateQuery = mapToUpdateQuery(history) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        val cursor = db.lowLevel().query( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Query.builder() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .table(updateQuery.table()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .where(updateQuery.where()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .whereArgs(updateQuery.whereArgs()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .build(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        cursor.use { putCursor -> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (putCursor.count == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                val insertQuery = mapToInsertQuery(history) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                val insertedId = db.lowLevel().insert(insertQuery, mapToContentValues(history)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                PutResult.newInsertResult(insertedId, insertQuery.table()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                val numberOfRowsUpdated = db.lowLevel().update(updateQuery, mapToUpdateContentValues(history)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                PutResult.newUpdateResult(numberOfRowsUpdated, updateQuery.table()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    override fun mapToUpdateQuery(obj: History) = UpdateQuery.builder() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        .table(HistoryTable.TABLE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        .where("${HistoryTable.COL_CHAPTER_ID} = ?") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        .whereArgs(obj.chapter_id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        .build() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private fun mapToUpdateContentValues(history: History) = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        contentValuesOf( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            HistoryTable.COL_LAST_READ to history.last_read, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 |