Reuse search result item viewmodels

This commit is contained in:
MM20
2023-04-21 13:37:00 +02:00
parent d1482ad112
commit df1aa8c119
29 changed files with 658 additions and 481 deletions
@@ -31,6 +31,10 @@ class FavoritesService(
return searchableRepository.isPinned(searchable)
}
fun isHidden(searchable: SavableSearchable): Flow<Boolean> {
return searchableRepository.isHidden(searchable)
}
fun pinItem(searchable: SavableSearchable) {
searchableRepository.upsert(
searchable,
@@ -56,6 +60,21 @@ class FavoritesService(
)
}
fun hideItem(searchable: SavableSearchable) {
searchableRepository.upsert(
searchable,
hidden = true,
pinned = false,
)
}
fun unhideItem(searchable: SavableSearchable) {
searchableRepository.upsert(
searchable,
hidden = false,
)
}
fun reportLaunch(searchable: SavableSearchable) {
searchableRepository.touch(searchable)
}
@@ -12,4 +12,5 @@ interface TagsService {
fun createTag(tag: String, items: List<SavableSearchable>)
fun updateTag(tag: String, newName: String? = null, items: List<SavableSearchable>? = null)
fun getTags(it: SavableSearchable): Flow<List<String>>
}
@@ -64,4 +64,8 @@ internal class TagsServiceImpl(
customAttributesRepository.setItemsForTag(tag, items)
}
}
override fun getTags(it: SavableSearchable): Flow<List<String>> {
return customAttributesRepository.getTags(it)
}
}