Re-request weather update after location permission has been granted
This commit is contained in:
@@ -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()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user