private void BackgroundTask_Progress(BackgroundTaskRegistration sender, BackgroundTaskProgressEventArgs args) { ToastHistoryChangedType changedType = (ToastHistoryChangedType)args.Progress; CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, delegate { OnHistoryChanged(changedType); }); }
private async void OnHistoryChanged(ToastHistoryChangedType changedType) { _changeEvents.Add(changedType); switch (_step) { case 1: if (changedType == ToastHistoryChangedType.Removed) { _step = 2; StackPanelStep1.Visibility = Visibility.Collapsed; StackPanelStep2.Visibility = Visibility.Visible; } else { await new MessageDialog("ERROR: Step 1 - expected Removed but was " + changedType).ShowAsync(); } break; case 2: if (changedType == ToastHistoryChangedType.Removed) { _step = 3; StackPanelStep2.Visibility = Visibility.Collapsed; StackPanelStep3.Visibility = Visibility.Visible; _timerStep3 = new DispatcherTimer() { Interval = TimeSpan.FromSeconds(10) }; _timerStep3.Tick += _timerStep3_Tick; _timerStep3.Start(); } else { await new MessageDialog("ERROR: Step 2 - expected Removed but was " + changedType).ShowAsync(); } break; case 3: if (_timerStep3 != null) { _timerStep3.Stop(); } await new MessageDialog("ERROR: Step 3 - wasn't expecting any changes, but received " + changedType).ShowAsync(); break; case 4: break; default: throw new NotImplementedException("Didn't handle step " + _step); } }
private async void OnHistoryChanged(ToastHistoryChangedType changedType) { _changeEvents.Add(changedType); switch (_step) { case 1: if (changedType == ToastHistoryChangedType.Removed) { _step = 2; StackPanelStep1.Visibility = Visibility.Collapsed; StackPanelStep2.Visibility = Visibility.Visible; } else { await new MessageDialog("ERROR: Step 1 - expected Removed but was " + changedType).ShowAsync(); } break; case 2: if (changedType == ToastHistoryChangedType.Removed) { _step = 3; StackPanelStep2.Visibility = Visibility.Collapsed; StackPanelStep3.Visibility = Visibility.Visible; _timerStep3 = new DispatcherTimer() { Interval = TimeSpan.FromSeconds(10) }; _timerStep3.Tick += _timerStep3_Tick; _timerStep3.Start(); } else { await new MessageDialog("ERROR: Step 2 - expected Removed but was " + changedType).ShowAsync(); } break; case 3: if (_timerStep3 != null) _timerStep3.Stop(); await new MessageDialog("ERROR: Step 3 - wasn't expecting any changes, but received " + changedType).ShowAsync(); break; case 4: break; default: throw new NotImplementedException("Didn't handle step " + _step); } }