private void checkForUpdatesCheckEdit_CheckedChanged(object sender, EventArgs e) { if (applicationUpdateService == null) { applicationUpdateService = (ApplicationUpdateService)ContextRegistry.GetContext().GetObject("ApplicationUpdateService"); } applicationUpdateService.EnableTimer(checkForUpdatesCheckEdit.Checked); }
private void Download(object o) { try { Process.Start(new ProcessStartInfo(ApplicationUpdateService.GetDownloadUri().AbsoluteUri)); } catch (Exception exception) { Logger.Error(exception); } }
private async Task Download(object o) { try { await Task.Run(() => { Process.Start(new ProcessStartInfo(ApplicationUpdateService.GetDownloadUri().AbsoluteUri)); }); } catch (Exception exception) { Logger.Error(exception); } }
public void CheckForUpdates() { if (Settings.AppSettings.CheckForUpdates) { if (_lastCheckDateTime == null || DateTime.Now.Subtract(_lastCheckDateTime.GetValueOrDefault()).TotalHours > 6) { Task <string> .Factory.StartNew( () => ApplicationUpdateService.GetLatestReleaseFromServer( Settings.AppSettings.CheckForAlphaReleases)) .ContinueWith(UpdateContinuationAction); } } }
private void UpdateContinuationAction(Task <string> task) { BeginInvokeOnCurrentDispatcher(() => { if (task.Result == null) { if (ApplicationUpdateService.IsNewVersionAvailable()) { var version = ApplicationUpdateService.GetNewAvailableVersion(); if (string.IsNullOrEmpty(LatestVersion) || !version.Equals(LatestVersion)) { IsLatestVersionAvailable = true; LatestVersion = version; SystemTrayNotifierViewModel.ShowBalloon( $"New Update {version} Available!", 5000); } } _lastCheckDateTime = DateTime.Now; } }); }
public AgentHost( IDeviceConfiguration deviceConfiguration, IUptimeProvider uptimeProvider, DeviceStateProvider deviceStateProvider, IPathFactory pathFactory, DeviceApiClient deviceApiClient, ApplicationUpdateService applicationUpdateService, IRootFileSystemUpdateService rootFileSystemUpdateService, AgentUpdateService agentUpdateService, IDockerClient dockerClient, ApplicationLogSucker applicationLogSucker, ILogger logger) { if (logger == null) { throw new ArgumentNullException(nameof(logger)); } _deviceApiClient = deviceApiClient ?? throw new ArgumentNullException(nameof(deviceApiClient)); _applicationUpdateService = applicationUpdateService ?? throw new ArgumentNullException(nameof(applicationUpdateService)); _rootFileSystemUpdateService = rootFileSystemUpdateService ?? throw new ArgumentNullException(nameof(rootFileSystemUpdateService)); _agentUpdateService = agentUpdateService ?? throw new ArgumentNullException(nameof(agentUpdateService)); _dockerClient = dockerClient ?? throw new ArgumentNullException(nameof(dockerClient)); _applicationLogSucker = applicationLogSucker ?? throw new ArgumentNullException(nameof(applicationLogSucker)); _logger = logger.ForContext(GetType()); _deviceStateProvider = deviceStateProvider ?? throw new ArgumentNullException(nameof(deviceStateProvider)); _uptimeProvider = uptimeProvider ?? throw new ArgumentNullException(nameof(uptimeProvider)); _deviceConfiguration = deviceConfiguration; //Config _logger.Information("Docker Endpoint: {DockerSocket}", pathFactory.DockerEndpoint); _logger.Information("DeviceId: {DeviceId}", deviceConfiguration?.DeviceId); _logger.Information("DeviceApi Url: {DeviceApiUrl}", deviceConfiguration?.DeviceApiUrl); //The agent should be updated before the application _updateServices = new UpdateService[] { _agentUpdateService, _applicationUpdateService }; }