Exemplo n.º 1
0
        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
        }