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 saveFavorites(favorites: List<FavoritesItem>)
|
||||||
fun getHiddenItems(): Flow<List<Searchable>>
|
fun getHiddenItems(): Flow<List<Searchable>>
|
||||||
fun getHiddenItemKeys(): Flow<List<String>>
|
fun getHiddenItemKeys(): Flow<List<String>>
|
||||||
|
fun remove(searchable: Searchable)
|
||||||
|
|
||||||
suspend fun export(toDir: File)
|
suspend fun export(toDir: File)
|
||||||
suspend fun import(fromDir: File)
|
suspend fun import(fromDir: File)
|
||||||
@ -194,6 +195,14 @@ internal class FavoritesRepositoryImpl(
|
|||||||
return database.searchDao().getHiddenItemKeys()
|
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 {
|
private fun fromDatabaseEntity(entity: FavoritesItemEntity): FavoritesItem {
|
||||||
val deserializer: SearchableDeserializer =
|
val deserializer: SearchableDeserializer =
|
||||||
|
|||||||
@ -68,7 +68,7 @@ abstract class SearchableItemVM(
|
|||||||
favoritesRepository.incrementLaunchCounter(searchable)
|
favoritesRepository.incrementLaunchCounter(searchable)
|
||||||
return true
|
return true
|
||||||
} else if (searchable is Application) {
|
} else if (searchable is Application) {
|
||||||
favoritesRepository.unpinItem(searchable)
|
favoritesRepository.remove(searchable)
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user