Remove weather providers that are not available from settings screen
This commit is contained in:
parent
779e28e217
commit
1cc0d64020
@ -29,12 +29,15 @@ fun WeatherWidgetSettingsScreen() {
|
|||||||
val weatherProvider by viewModel.weatherProvider.observeAsState()
|
val weatherProvider by viewModel.weatherProvider.observeAsState()
|
||||||
ListPreference(
|
ListPreference(
|
||||||
title = stringResource(R.string.preference_weather_provider),
|
title = stringResource(R.string.preference_weather_provider),
|
||||||
items = listOf(
|
items = viewModel.availableProviders.map {
|
||||||
stringResource(R.string.provider_metno) to WeatherProvider.MetNo,
|
when (it) {
|
||||||
stringResource(R.string.provider_openweathermap) to WeatherProvider.OpenWeatherMap,
|
WeatherProvider.MetNo -> stringResource(R.string.provider_metno)
|
||||||
stringResource(R.string.provider_here) to WeatherProvider.Here,
|
WeatherProvider.OpenWeatherMap -> stringResource(R.string.provider_openweathermap)
|
||||||
stringResource(R.string.provider_brightsky) to WeatherProvider.BrightSky,
|
WeatherProvider.Here -> stringResource(R.string.provider_here)
|
||||||
),
|
WeatherProvider.BrightSky -> stringResource(R.string.provider_brightsky)
|
||||||
|
else -> "Unknown provider"
|
||||||
|
} to it
|
||||||
|
},
|
||||||
onValueChanged = {
|
onValueChanged = {
|
||||||
if (it != null) viewModel.setWeatherProvider(it)
|
if (it != null) viewModel.setWeatherProvider(it)
|
||||||
},
|
},
|
||||||
|
|||||||
@ -23,6 +23,8 @@ class WeatherWidgetSettingsScreenVM : ViewModel(), KoinComponent {
|
|||||||
private val dataStore: LauncherDataStore by inject()
|
private val dataStore: LauncherDataStore by inject()
|
||||||
private val permissionsManager: PermissionsManager by inject()
|
private val permissionsManager: PermissionsManager by inject()
|
||||||
|
|
||||||
|
val availableProviders = repository.getAvailableProviders()
|
||||||
|
|
||||||
val imperialUnits = dataStore.data.map { it.weather.imperialUnits }.asLiveData()
|
val imperialUnits = dataStore.data.map { it.weather.imperialUnits }.asLiveData()
|
||||||
fun setImperialUnits(imperialUnits: Boolean) {
|
fun setImperialUnits(imperialUnits: Boolean) {
|
||||||
viewModelScope.launch {
|
viewModelScope.launch {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user