public async Task <bool> TryHandleUpdateAvailableAsync(VersionCheckResults checkResult) { if (!String.IsNullOrWhiteSpace(checkResult.DownloadUrl) && !String.IsNullOrWhiteSpace(checkResult.Sha512sumDownloadUrl)) { var zipPath = await this.updateDownloader.DownloadUpdateAsync(checkResult.DownloadUrl, checkResult.Sha512sumDownloadUrl, checkResult.NewVersion, updateDownloadFileName); if (zipPath == null) { return(false); } this.extractedZipPath = await this.ExtractDownloadedZip(zipPath); this.CanAutoInstall = true; // If we return false, the upgrade will be aborted return(true); } else { // Can continue, but not auto-install this.CanAutoInstall = false; return(true); } }
public VersionPromptResult ShowDialog(VersionCheckResults checkResults, bool canAutoInstall) { var vm = this.newVersionAlertViewModelFactory(); vm.Changelog = checkResults.ReleaseNotes; vm.Version = checkResults.NewVersion; vm.CanInstall = canAutoInstall; var dialogResult = this.windowManager.ShowDialog(vm); if (dialogResult == true) return canAutoInstall ? VersionPromptResult.InstallNow : VersionPromptResult.Download; if (vm.DontRemindMe) return VersionPromptResult.Ignore; return VersionPromptResult.RemindLater; }
public async Task<VersionPromptResult> ShowToast(VersionCheckResults checkResults, bool canAutoInstall, CancellationToken cancellationToken) { var vm = this.upgradeAvailableToastViewModelFactory(); vm.Version = checkResults.NewVersion; vm.CanInstall = canAutoInstall; var dialogResult = await this.notifyIconManager.ShowBalloonAsync(vm, cancellationToken: cancellationToken); if (dialogResult == true) return canAutoInstall ? VersionPromptResult.InstallNow : VersionPromptResult.Download; if (vm.ShowMoreDetails) return VersionPromptResult.ShowMoreDetails; if (vm.DontRemindMe) return VersionPromptResult.Ignore; return VersionPromptResult.RemindLater; }
public async Task<bool> TryHandleUpdateAvailableAsync(VersionCheckResults checkResult) { if (!String.IsNullOrWhiteSpace(checkResult.DownloadUrl) && !String.IsNullOrWhiteSpace(checkResult.Sha1sumDownloadUrl)) { this.installerPath = await this.updateDownloader.DownloadUpdateAsync(checkResult.DownloadUrl, checkResult.Sha1sumDownloadUrl, checkResult.NewVersion); this.CanAutoInstall = true; // If we return false, the upgrade will be aborted return this.installerPath != null; } else { // Can continue, but not auto-install this.CanAutoInstall = false; return true; } }
public VersionPromptResult ShowDialog(VersionCheckResults checkResults, bool canAutoInstall) { var vm = this.newVersionAlertViewModelFactory(); vm.Changelog = checkResults.ReleaseNotes; vm.Version = checkResults.NewVersion; vm.CanInstall = canAutoInstall; var dialogResult = this.windowManager.ShowDialog(vm); if (dialogResult == true) { return(canAutoInstall ? VersionPromptResult.InstallNow : VersionPromptResult.Download); } if (vm.DontRemindMe) { return(VersionPromptResult.Ignore); } return(VersionPromptResult.RemindLater); }
public async Task <bool> TryHandleUpdateAvailableAsync(VersionCheckResults checkResult) { if (!String.IsNullOrWhiteSpace(checkResult.DownloadUrl) && !String.IsNullOrWhiteSpace(checkResult.Sha1sumDownloadUrl)) { this.installerPath = await this.updateDownloader.DownloadUpdateAsync(checkResult.DownloadUrl, checkResult.Sha1sumDownloadUrl, checkResult.NewVersion); this.CanAutoInstall = true; // If we return false, the upgrade will be aborted return(this.installerPath != null); } else { // Can continue, but not auto-install this.CanAutoInstall = false; return(true); } }
public async Task <VersionCheckResults> FetchUpdateAsync() { // We don't care if we fail try { var update = await this.updateNotificationClient.FetchUpdateAsync( this.applicationVersion.ToString(3), processorArchitectureToStringMap[this.processorArchitecture], this.variant); if (update == null) { logger.Info("No updates found"); return(null); } if (update.Error != null) { logger.Warn("Update API returned an error. Code: {0} Message: {1}", update.Error.Code, update.Error.Message); return(null); } var updateData = update.Data; if (updateData == null) { logger.Info("No updates available"); return(null); } var results = new VersionCheckResults(updateData.Version, updateData.DirectDownloadUrl, update.Data.Sha512sumDownloadUrl, updateData.ReleaseNotes, updateData.ReleasePageUrl); logger.Info("Found new version: {0}", results); return(results); } catch (Exception e) { logger.Warn(e, "Fetching updates failed with an error"); return(null); } }
public async Task <VersionPromptResult> ShowToast(VersionCheckResults checkResults, bool canAutoInstall, CancellationToken cancellationToken) { var vm = this.upgradeAvailableToastViewModelFactory(); vm.Version = checkResults.NewVersion; vm.CanInstall = canAutoInstall; var dialogResult = await this.notifyIconManager.ShowBalloonAsync(vm, cancellationToken : cancellationToken); if (dialogResult == true) { return(canAutoInstall ? VersionPromptResult.InstallNow : VersionPromptResult.Download); } if (vm.ShowMoreDetails) { return(VersionPromptResult.ShowMoreDetails); } if (vm.DontRemindMe) { return(VersionPromptResult.Ignore); } return(VersionPromptResult.RemindLater); }
public async Task<bool> TryHandleUpdateAvailableAsync(VersionCheckResults checkResult) { if (!String.IsNullOrWhiteSpace(checkResult.DownloadUrl) && !String.IsNullOrWhiteSpace(checkResult.Sha1sumDownloadUrl)) { var zipPath = await this.updateDownloader.DownloadUpdateAsync(checkResult.DownloadUrl, checkResult.Sha1sumDownloadUrl, checkResult.NewVersion, updateDownloadFileName); if (zipPath == null) return false; this.extractedZipPath = await this.ExtractDownloadedZip(zipPath); this.CanAutoInstall = true; // If we return false, the upgrade will be aborted return true; } else { // Can continue, but not auto-install this.CanAutoInstall = false; return true; } }
public Task<bool> TryHandleUpdateAvailableAsync(VersionCheckResults checkResult) { return Task.FromResult(true); }
public async Task<VersionCheckResults> FetchUpdateAsync() { // We don't care if we fail try { var update = await this.updateNotificationClient.FetchUpdateAsync( this.applicationVersion.ToString(3), processorArchitectureToStringMap[this.processorArchitecture], this.variant); if (update == null) { logger.Info("No updates found"); return null; } if (update.Error != null) { logger.Warn("Update API returned an error. Code: {0} Message: {1}", update.Error.Code, update.Error.Message); return null; } var updateData = update.Data; if (updateData == null) { logger.Info("No updates available"); return null; } var results = new VersionCheckResults(updateData.Version, updateData.DirectDownloadUrl, update.Data.Sha1sumDownloadUrl, updateData.ReleaseNotes, updateData.ReleasePageUrl); logger.Info("Found new version: {0}", results); return results; } catch (Exception e) { logger.Warn(e, "Fetching updates failed with an error"); return null; } }
public Task <bool> TryHandleUpdateAvailableAsync(VersionCheckResults checkResult) { return(Task.FromResult(true)); }