protected override void OnBackgroundActivated(BackgroundActivatedEventArgs args) { base.OnBackgroundActivated(args); // Run the background task accordingly if (args.TaskInstance.Task.Name.CompareTo(nameof(TileUpdateTask)) == 0) { var activity = new TileUpdateTask(); activity.Run(args.TaskInstance); } else if (args.TaskInstance.Task.Name.CompareTo(nameof(WallpaperUpdateTask)) == 0) { var activity = new WallpaperUpdateTask(); activity.Run(args.TaskInstance); } else if (args.TaskInstance.Task.Name.CompareTo(nameof(LockscreenUpdateTask)) == 0) { var activity = new LockscreenUpdateTask(); activity.Run(args.TaskInstance); } else if (args.TaskInstance.Task.Name.CompareTo("ToastActionTask") == 0) { ToastNotificationActionTriggerDetail d = (ToastNotificationActionTriggerDetail)args.TaskInstance.TriggerDetails; QueryString queryString = QueryString.Parse(d.Argument); switch (queryString["action"]) { case "favorite": var favoriteTask = new FavoriteTask(); favoriteTask.Run(args.TaskInstance); break; case "undoLockscreen": var wallpaperUndoTask = new LockscreenUndoTask(); wallpaperUndoTask.Run(args.TaskInstance); break; case "undoWallpaper": var lockscreenUndoTask = new WallpaperUndoTask(); lockscreenUndoTask.Run(args.TaskInstance); break; default: break; } } else if (args.TaskInstance.Task.Name.StartsWith(nameof(FavoriteTask))) { var activity = new FavoriteTask(); activity.Run(args.TaskInstance); } else if (args.TaskInstance.Task.Name.StartsWith(nameof(WallpaperUndoTask))) { var activity = new WallpaperUndoTask(); activity.Run(args.TaskInstance); } else { var x = args.TaskInstance.Task.Trigger; var details = args.TaskInstance.TriggerDetails as BackgroundTransferCompletionGroupTriggerDetails; var downloads = details.Downloads.ToList(); // TODO: validate the download ToastService.ToastDebug("Download Finished", $"{downloads.Where(o => o.Progress.Status == BackgroundTransferStatus.Completed).Count()}/{downloads.Count} images downloaded successfully."); } }
private async void Button_Click(object sender, RoutedEventArgs e) { await WallpaperUpdateTask.RunAsync(); }
private async void Button_Click(object sender, RoutedEventArgs e) { await WallpaperUpdateTask.RunAsync(); await SettingWallpaperViewModel.UpdateRecordsAsync(); }