Re-request weather update after location permission has been granted
This commit is contained in:
parent
e7b4a05685
commit
d5cedb446e
@ -49,6 +49,7 @@ dependencies {
|
||||
implementation(project(":ktx"))
|
||||
implementation(project(":crashreporter"))
|
||||
implementation(project(":preferences"))
|
||||
implementation(project(":permissions"))
|
||||
implementation(project(":i18n"))
|
||||
|
||||
}
|
||||
@ -5,6 +5,8 @@ import android.util.Log
|
||||
import androidx.datastore.dataStore
|
||||
import androidx.work.*
|
||||
import de.mm20.launcher2.database.AppDatabase
|
||||
import de.mm20.launcher2.permissions.PermissionGroup
|
||||
import de.mm20.launcher2.permissions.PermissionsManager
|
||||
import de.mm20.launcher2.preferences.LauncherDataStore
|
||||
import de.mm20.launcher2.preferences.Settings.WeatherSettings
|
||||
import kotlinx.coroutines.*
|
||||
@ -46,6 +48,10 @@ class WeatherRepositoryImpl(
|
||||
|
||||
private var provider: WeatherProvider<out WeatherLocation>
|
||||
|
||||
private val permissionsManager: PermissionsManager by inject()
|
||||
|
||||
private val hasLocationPermission = permissionsManager.hasPermission(PermissionGroup.Location)
|
||||
|
||||
override val selectedProvider = dataStore.data.map { it.weather.provider }
|
||||
|
||||
override val forecasts: Flow<List<DailyForecast>>
|
||||
@ -126,6 +132,9 @@ class WeatherRepositoryImpl(
|
||||
providerSetting = it
|
||||
}
|
||||
}
|
||||
hasLocationPermission.collectLatest {
|
||||
if(it) requestUpdate()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user