diff options
| author | Pika <15848969+ThatNerdyPikachu@users.noreply.github.com> | 2020-07-23 18:59:25 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-07-23 18:59:25 -0400 |
| commit | 3b21abd879c278bdc7d2f02a62eba3a57cb55987 (patch) | |
| tree | f045e94b60f1f8d6eb63bfda957209e110b1d82c /Emby.Server.Implementations/EntryPoints/StartupWizard.cs | |
| parent | 7aba10eff67151a9f6593e9d3d702f17029b994f (diff) | |
| parent | 845ee21ddce8ed91d8c3c1463d0d7a06bb769635 (diff) | |
Merge branch 'master' into more-track-titles
Diffstat (limited to 'Emby.Server.Implementations/EntryPoints/StartupWizard.cs')
| -rw-r--r-- | Emby.Server.Implementations/EntryPoints/StartupWizard.cs | 45 |
1 files changed, 31 insertions, 14 deletions
diff --git a/Emby.Server.Implementations/EntryPoints/StartupWizard.cs b/Emby.Server.Implementations/EntryPoints/StartupWizard.cs index 8e9771931..2e738deeb 100644 --- a/Emby.Server.Implementations/EntryPoints/StartupWizard.cs +++ b/Emby.Server.Implementations/EntryPoints/StartupWizard.cs @@ -16,46 +16,63 @@ namespace Emby.Server.Implementations.EntryPoints private readonly IServerApplicationHost _appHost; private readonly IConfiguration _appConfig; private readonly IServerConfigurationManager _config; + private readonly IStartupOptions _startupOptions; /// <summary> /// Initializes a new instance of the <see cref="StartupWizard"/> class. /// </summary> /// <param name="appHost">The application host.</param> + /// <param name="appConfig">The application configuration.</param> /// <param name="config">The configuration manager.</param> - public StartupWizard(IServerApplicationHost appHost, IConfiguration appConfig, IServerConfigurationManager config) + /// <param name="startupOptions">The application startup options.</param> + public StartupWizard( + IServerApplicationHost appHost, + IConfiguration appConfig, + IServerConfigurationManager config, + IStartupOptions startupOptions) { _appHost = appHost; _appConfig = appConfig; _config = config; + _startupOptions = startupOptions; } /// <inheritdoc /> public Task RunAsync() { + Run(); + return Task.CompletedTask; + } + + private void Run() + { if (!_appHost.CanLaunchWebBrowser) { - return Task.CompletedTask; + return; } - if (!_appConfig.HostWebClient()) + // Always launch the startup wizard if possible when it has not been completed + if (!_config.Configuration.IsStartupWizardCompleted && _appConfig.HostWebClient()) { - BrowserLauncher.OpenSwaggerPage(_appHost); + BrowserLauncher.OpenWebApp(_appHost); + return; + } + + // Do nothing if the web app is configured to not run automatically + if (!_config.Configuration.AutoRunWebApp || _startupOptions.NoAutoRunWebApp) + { + return; } - else if (!_config.Configuration.IsStartupWizardCompleted) + + // Launch the swagger page if the web client is not hosted, otherwise open the web client + if (_appConfig.HostWebClient()) { BrowserLauncher.OpenWebApp(_appHost); } - else if (_config.Configuration.AutoRunWebApp) + else { - var options = ((ApplicationHost)_appHost).StartupOptions; - - if (!options.NoAutoRunWebApp) - { - BrowserLauncher.OpenWebApp(_appHost); - } + BrowserLauncher.OpenSwaggerPage(_appHost); } - - return Task.CompletedTask; } /// <inheritdoc /> |
