private async Task SaveWeatherData() { // Save location query weather.query = location.query; // Save weather alerts await SaveWeatherAlerts(); await Settings.SaveWeatherData(weather); #if !__ANDROID_WEAR__ && __ANDROID__ // Update weather data for Wearables WearableDataListenerService.EnqueueWork(Application.Context, new Android.Content.Intent(Application.Context, typeof(WearableDataListenerService)) .SetAction(WearableDataListenerService.ACTION_SENDWEATHERUPDATE)); // Update cached weather data for widgets await Task.Run(() => { if (WidgetUtils.Exists(location.query)) { var ids = WidgetUtils.GetWidgetIds(location.query); foreach (int id in ids) { WidgetUtils.SaveWeatherData(id, weather); } } }); #elif __ANDROID_WEAR__ Settings.UpdateTime = weather.update_time.UtcDateTime; #endif }