From bf4b3d5b79e3058b15099558598b75f980ad20e7 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Sat, 6 May 2023 00:06:24 +0800 Subject: [PATCH] Add all highlights before inserting cross refs --- android/Omnivore/app/build.gradle | 4 ++-- .../app/omnivore/omnivore/persistence/entities/Highlight.kt | 1 - .../app/omnivore/omnivore/persistence/entities/SavedItem.kt | 6 ++++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/android/Omnivore/app/build.gradle b/android/Omnivore/app/build.gradle index c20cfc63f..70219ca08 100644 --- a/android/Omnivore/app/build.gradle +++ b/android/Omnivore/app/build.gradle @@ -17,8 +17,8 @@ android { applicationId "app.omnivore.omnivore" minSdk 26 targetSdk 33 - versionCode 61 - versionName "0.0.61" + versionCode 66 + versionName "0.0.66" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables { diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/entities/Highlight.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/entities/Highlight.kt index 0071697c6..a54bc679b 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/entities/Highlight.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/entities/Highlight.kt @@ -34,7 +34,6 @@ data class Highlight( entity = Highlight::class, parentColumns = arrayOf("highlightId"), childColumns = arrayOf("highlightId"), - onDelete = ForeignKey.CASCADE ), ForeignKey( entity = SavedItem::class, diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/entities/SavedItem.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/entities/SavedItem.kt index a44e3e32e..e67b14357 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/entities/SavedItem.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/entities/SavedItem.kt @@ -1,5 +1,6 @@ package app.omnivore.omnivore.persistence.entities +import android.util.Log import androidx.core.net.toUri import androidx.lifecycle.LiveData import androidx.room.* @@ -90,7 +91,6 @@ abstract class SavedItemWithLabelsAndHighlightsDao { @Insert(onConflict = OnConflictStrategy.REPLACE) abstract fun insertHighlightCrossRefs(items: List) - @Transaction open fun insertAll(savedItems: List) { insertSavedItems(savedItems.map { it.savedItem }) @@ -103,6 +103,7 @@ abstract class SavedItemWithLabelsAndHighlightsDao { for (searchItem in savedItems) { labels.addAll(searchItem.labels) + highlights.addAll(searchItem.highlights) val newLabelCrossRefs = searchItem.labels.map { SavedItemAndSavedItemLabelCrossRef(savedItemLabelId = it.savedItemLabelId, savedItemId = searchItem.savedItem.savedItemId) @@ -190,7 +191,7 @@ interface SavedItemDao { fun _filteredLibraryData(allowedArchiveStates: List, sortKey: String, hasRequiredLabels: Int, hasExcludedLabels: Int, requiredLabels: List, excludedLabels: List, allowedContentReaders: List): LiveData> fun filteredLibraryData(allowedArchiveStates: List, sortKey: String, requiredLabels: List, excludedLabels: List, allowedContentReaders: List): LiveData> { - return _filteredLibraryData( + val result = _filteredLibraryData( allowedArchiveStates = allowedArchiveStates, sortKey = sortKey, hasRequiredLabels = requiredLabels.size, @@ -199,6 +200,7 @@ interface SavedItemDao { excludedLabels = excludedLabels, allowedContentReaders = allowedContentReaders ) + return result } }