Entirely remove apps from favorites when their activity cannot be launched

This commit is contained in:
MM20 2022-07-09 20:13:27 +02:00
parent b58e0d09ce
commit 8bbf8045ec
No known key found for this signature in database
GPG Key ID: 0B61A8F2DEAFA389
2 changed files with 10 additions and 1 deletions

View File

@ -39,6 +39,7 @@ interface FavoritesRepository {
fun saveFavorites(favorites: List<FavoritesItem>)
fun getHiddenItems(): Flow<List<Searchable>>
fun getHiddenItemKeys(): Flow<List<String>>
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 =

View File

@ -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
}