Disable favorites only view on Wear if all favorites are deleted (#3454)

This commit is contained in:
Joris Pelgröm 2023-04-08 01:09:09 +02:00 committed by GitHub
parent b4f877aa2d
commit 34ac4ad298
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 0 deletions

View file

@ -25,6 +25,7 @@ import io.homeassistant.companion.android.database.sensor.SensorDao
import io.homeassistant.companion.android.database.wear.FavoriteCaches
import io.homeassistant.companion.android.database.wear.FavoriteCachesDao
import io.homeassistant.companion.android.database.wear.FavoritesDao
import io.homeassistant.companion.android.database.wear.getAll
import io.homeassistant.companion.android.database.wear.getAllFlow
import io.homeassistant.companion.android.sensors.SensorReceiver
import io.homeassistant.companion.android.util.RegistriesDataHandler
@ -381,6 +382,7 @@ class MainViewModel @Inject constructor(
fun clearFavorites() {
viewModelScope.launch {
favoritesDao.deleteAll()
setWearFavoritesOnly(false)
}
}
@ -457,6 +459,10 @@ class MainViewModel @Inject constructor(
viewModelScope.launch {
favoritesDao.delete(entityId)
favoriteCachesDao.delete(entityId)
if (favoritesDao.getAll().isEmpty() && isFavoritesOnly) {
setWearFavoritesOnly(false)
}
}
}

View file

@ -206,6 +206,10 @@ class PhoneSettingsListener : WearableListenerService(), DataClient.OnDataChange
mainScope.launch {
favoritesDao.replaceAll(favoritesIds)
if (favoritesIds.isEmpty() && wearPrefsRepository.getWearFavoritesOnly()) {
wearPrefsRepository.setWearFavoritesOnly(false)
}
}
}