diff --git a/favorites/src/main/java/de/mm20/launcher2/favorites/FavoritesRepository.kt b/favorites/src/main/java/de/mm20/launcher2/favorites/FavoritesRepository.kt index 3327458e..ac30b67e 100644 --- a/favorites/src/main/java/de/mm20/launcher2/favorites/FavoritesRepository.kt +++ b/favorites/src/main/java/de/mm20/launcher2/favorites/FavoritesRepository.kt @@ -39,6 +39,7 @@ interface FavoritesRepository { fun saveFavorites(favorites: List) fun getHiddenItems(): Flow> fun getHiddenItemKeys(): Flow> + fun remove(searchable: Searchable) suspend fun export(toDir: File) suspend fun import(fromDir: File) @@ -194,6 +195,14 @@ internal class FavoritesRepositoryImpl( return database.searchDao().getHiddenItemKeys() } + override fun remove(searchable: Searchable) { + scope.launch { + withContext(Dispatchers.IO) { + database.searchDao().deleteByKey(searchable.key) + } + } + } + private fun fromDatabaseEntity(entity: FavoritesItemEntity): FavoritesItem { val deserializer: SearchableDeserializer = diff --git a/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/common/SearchableItemVM.kt b/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/common/SearchableItemVM.kt index a01c26f9..9f3d6a83 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/common/SearchableItemVM.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/common/SearchableItemVM.kt @@ -68,7 +68,7 @@ abstract class SearchableItemVM( favoritesRepository.incrementLaunchCounter(searchable) return true } else if (searchable is Application) { - favoritesRepository.unpinItem(searchable) + favoritesRepository.remove(searchable) } return false }