Entirely remove apps from favorites when their activity cannot be launched
This commit is contained in:
parent
b58e0d09ce
commit
8bbf8045ec
@ -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 =
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user