From 8969d7723110143495e9b220f578f40837e0efb6 Mon Sep 17 00:00:00 2001 From: MM20 <15646950+MM2-0@users.noreply.github.com> Date: Sun, 2 Jan 2022 18:24:19 +0100 Subject: [PATCH] Use DataStore preference for imperial units --- .../ui/launcher/widgets/weather/WeatherWidgetWM.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/weather/WeatherWidgetWM.kt b/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/weather/WeatherWidgetWM.kt index 7db3198b..7211c57c 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/weather/WeatherWidgetWM.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/weather/WeatherWidgetWM.kt @@ -1,11 +1,13 @@ package de.mm20.launcher2.ui.launcher.widgets.weather import androidx.lifecycle.* +import de.mm20.launcher2.preferences.LauncherDataStore import de.mm20.launcher2.preferences.LauncherPreferences import de.mm20.launcher2.weather.DailyForecast import de.mm20.launcher2.weather.Forecast import de.mm20.launcher2.weather.WeatherRepository import kotlinx.coroutines.flow.collectLatest +import kotlinx.coroutines.flow.map import kotlinx.coroutines.launch import org.koin.core.component.KoinComponent import org.koin.core.component.inject @@ -14,6 +16,8 @@ import kotlin.math.min class WeatherWidgetWM : ViewModel(), KoinComponent { private val weatherRepository: WeatherRepository by inject() + private val dataStore: LauncherDataStore by inject() + private var selectedDayIndex = 0 set(value) { field = min(value, forecasts.lastIndex) @@ -55,7 +59,7 @@ class WeatherWidgetWM : ViewModel(), KoinComponent { val currentDayForecasts = MutableLiveData>(emptyList()) val currentDailyForecast = MutableLiveData(null) - val imperialUnits = MutableLiveData(LauncherPreferences.instance.imperialUnits) + val imperialUnits = dataStore.data.map { it.weather.imperialUnits }.asLiveData() fun selectDay(index: Int) { selectedDayIndex = min(index, forecasts.lastIndex)