public async Task RunScheduler() { // reset interval schedulerInterval = MainWindow._localSettings.WallpaperSource.interval; // set timer for next scheduler run MainWindow._bindings.LastUpdated = $"Last updated {DateTime.Now}"; StartTimers(false); // download image, return its path, set as wallpaper and delete var imagePath = await _downloadHelper.DownloadAndSaveImage(MainWindow._localSettings.WallpaperSource.url.full); // process downloaded image if (!imagePath.Any()) { MainWindow._bindings.ProgramStatus = "Download failed. Retrying shortly..."; StartTimers(true); } else { _wallpaperHelper.SetWallpaper(imagePath); if (MainWindow._localSettings.KeepImages) { _wallpaperHelper.MoveImage(imagePath); } else { _wallpaperHelper.DeleteImage(imagePath); } } }