mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-11-15 18:08:53 -07:00
get to the tray icon a little quicker
This commit is contained in:
parent
3fc0b768d1
commit
407016a307
@ -180,8 +180,6 @@ namespace MediaBrowser.Common.Implementations
|
|||||||
await RegisterResources().ConfigureAwait(false);
|
await RegisterResources().ConfigureAwait(false);
|
||||||
|
|
||||||
FindParts();
|
FindParts();
|
||||||
|
|
||||||
await RunStartupTasks().ConfigureAwait(false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual void OnLoggerLoaded()
|
protected virtual void OnLoggerLoaded()
|
||||||
@ -193,7 +191,7 @@ namespace MediaBrowser.Common.Implementations
|
|||||||
/// Runs the startup tasks.
|
/// Runs the startup tasks.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns>Task.</returns>
|
/// <returns>Task.</returns>
|
||||||
protected virtual Task RunStartupTasks()
|
public virtual Task RunStartupTasks()
|
||||||
{
|
{
|
||||||
return Task.Run(() =>
|
return Task.Run(() =>
|
||||||
{
|
{
|
||||||
|
@ -6,6 +6,7 @@ using MediaBrowser.Controller.Configuration;
|
|||||||
using MediaBrowser.Controller.Entities;
|
using MediaBrowser.Controller.Entities;
|
||||||
using MediaBrowser.Model.Logging;
|
using MediaBrowser.Model.Logging;
|
||||||
using MediaBrowser.Server.Implementations;
|
using MediaBrowser.Server.Implementations;
|
||||||
|
using MediaBrowser.ServerApplication.Splash;
|
||||||
using Microsoft.Win32;
|
using Microsoft.Win32;
|
||||||
using System;
|
using System;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
@ -164,11 +165,19 @@ namespace MediaBrowser.ServerApplication
|
|||||||
|
|
||||||
Logger = CompositionRoot.LogManager.GetLogger("App");
|
Logger = CompositionRoot.LogManager.GetLogger("App");
|
||||||
|
|
||||||
|
var splash = new SplashWindow(CompositionRoot.ApplicationVersion);
|
||||||
|
|
||||||
|
splash.Show();
|
||||||
|
|
||||||
await CompositionRoot.Init();
|
await CompositionRoot.Init();
|
||||||
|
|
||||||
var win = new MainWindow(CompositionRoot.LogManager, CompositionRoot, CompositionRoot.ServerConfigurationManager, CompositionRoot.UserManager, CompositionRoot.LibraryManager, CompositionRoot.JsonSerializer, CompositionRoot.DisplayPreferencesManager);
|
splash.Hide();
|
||||||
|
|
||||||
win.Show();
|
var task = CompositionRoot.RunStartupTasks();
|
||||||
|
|
||||||
|
new MainWindow(CompositionRoot.LogManager, CompositionRoot, CompositionRoot.ServerConfigurationManager, CompositionRoot.UserManager, CompositionRoot.LibraryManager, CompositionRoot.JsonSerializer, CompositionRoot.DisplayPreferencesManager).Show();
|
||||||
|
|
||||||
|
await task.ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
@ -44,7 +44,6 @@ using MediaBrowser.Server.Implementations.Udp;
|
|||||||
using MediaBrowser.Server.Implementations.Updates;
|
using MediaBrowser.Server.Implementations.Updates;
|
||||||
using MediaBrowser.Server.Implementations.WebSocket;
|
using MediaBrowser.Server.Implementations.WebSocket;
|
||||||
using MediaBrowser.ServerApplication.Implementations;
|
using MediaBrowser.ServerApplication.Implementations;
|
||||||
using MediaBrowser.ServerApplication.Splash;
|
|
||||||
using MediaBrowser.WebDashboard.Api;
|
using MediaBrowser.WebDashboard.Api;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@ -63,7 +62,7 @@ namespace MediaBrowser.ServerApplication
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class ApplicationHost : BaseApplicationHost<ServerApplicationPaths>, IServerApplicationHost
|
public class ApplicationHost : BaseApplicationHost<ServerApplicationPaths>, IServerApplicationHost
|
||||||
{
|
{
|
||||||
private const int UdpServerPort = 7359;
|
internal const int UdpServerPort = 7359;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the server kernel.
|
/// Gets the server kernel.
|
||||||
@ -139,11 +138,6 @@ namespace MediaBrowser.ServerApplication
|
|||||||
/// <value>The HTTP server.</value>
|
/// <value>The HTTP server.</value>
|
||||||
private IHttpServer HttpServer { get; set; }
|
private IHttpServer HttpServer { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the UDP server.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The UDP server.</value>
|
|
||||||
private UdpServer UdpServer { get; set; }
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the display preferences manager.
|
/// Gets or sets the display preferences manager.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -175,26 +169,11 @@ namespace MediaBrowser.ServerApplication
|
|||||||
|
|
||||||
private Task<IHttpServer> _httpServerCreationTask;
|
private Task<IHttpServer> _httpServerCreationTask;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Inits this instance.
|
|
||||||
/// </summary>
|
|
||||||
/// <returns>Task.</returns>
|
|
||||||
public override async Task Init()
|
|
||||||
{
|
|
||||||
var win = new SplashWindow(ApplicationVersion);
|
|
||||||
|
|
||||||
win.Show();
|
|
||||||
|
|
||||||
await base.Init();
|
|
||||||
|
|
||||||
win.Hide();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Runs the startup tasks.
|
/// Runs the startup tasks.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns>Task.</returns>
|
/// <returns>Task.</returns>
|
||||||
protected override async Task RunStartupTasks()
|
public override async Task RunStartupTasks()
|
||||||
{
|
{
|
||||||
await base.RunStartupTasks().ConfigureAwait(false);
|
await base.RunStartupTasks().ConfigureAwait(false);
|
||||||
|
|
||||||
@ -390,21 +369,8 @@ namespace MediaBrowser.ServerApplication
|
|||||||
|
|
||||||
() => LibraryManager.AddParts(GetExports<IResolverIgnoreRule>(), GetExports<IVirtualFolderCreator>(), GetExports<IItemResolver>(), GetExports<IIntroProvider>(), GetExports<IBaseItemComparer>()),
|
() => LibraryManager.AddParts(GetExports<IResolverIgnoreRule>(), GetExports<IVirtualFolderCreator>(), GetExports<IItemResolver>(), GetExports<IIntroProvider>(), GetExports<IBaseItemComparer>()),
|
||||||
|
|
||||||
() => ProviderManager.AddMetadataProviders(GetExports<BaseMetadataProvider>().ToArray()),
|
() => ProviderManager.AddMetadataProviders(GetExports<BaseMetadataProvider>().ToArray())
|
||||||
|
|
||||||
() =>
|
|
||||||
{
|
|
||||||
UdpServer = new UdpServer(Logger, NetworkManager, ServerConfigurationManager);
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
UdpServer.Start(UdpServerPort);
|
|
||||||
}
|
|
||||||
catch (SocketException ex)
|
|
||||||
{
|
|
||||||
Logger.ErrorException("Failed to start UDP Server", ex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -471,23 +437,6 @@ namespace MediaBrowser.ServerApplication
|
|||||||
get { return ConfigurationManager.CommonConfiguration.EnableAutoUpdate; }
|
get { return ConfigurationManager.CommonConfiguration.EnableAutoUpdate; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Releases unmanaged and - optionally - managed resources.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="dispose"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
|
|
||||||
protected override void Dispose(bool dispose)
|
|
||||||
{
|
|
||||||
if (dispose)
|
|
||||||
{
|
|
||||||
if (UdpServer != null)
|
|
||||||
{
|
|
||||||
UdpServer.Dispose();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
base.Dispose(dispose);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Checks for update.
|
/// Checks for update.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -0,0 +1,61 @@
|
|||||||
|
using MediaBrowser.Common.Net;
|
||||||
|
using MediaBrowser.Controller.Configuration;
|
||||||
|
using MediaBrowser.Controller.Plugins;
|
||||||
|
using MediaBrowser.Model.Logging;
|
||||||
|
using MediaBrowser.Server.Implementations.Udp;
|
||||||
|
using System.Net.Sockets;
|
||||||
|
|
||||||
|
namespace MediaBrowser.ServerApplication.EntryPoints
|
||||||
|
{
|
||||||
|
public class UdpServerEntryPoint : IServerEntryPoint
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the UDP server.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The UDP server.</value>
|
||||||
|
private UdpServer UdpServer { get; set; }
|
||||||
|
|
||||||
|
private readonly ILogger _logger;
|
||||||
|
private readonly INetworkManager _networkManager;
|
||||||
|
private readonly IServerConfigurationManager _serverConfigurationManager;
|
||||||
|
|
||||||
|
public UdpServerEntryPoint(ILogger logger, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
|
||||||
|
{
|
||||||
|
_logger = logger;
|
||||||
|
_networkManager = networkManager;
|
||||||
|
_serverConfigurationManager = serverConfigurationManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Run()
|
||||||
|
{
|
||||||
|
var udpServer = new UdpServer(_logger, _networkManager, _serverConfigurationManager);
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
udpServer.Start(ApplicationHost.UdpServerPort);
|
||||||
|
|
||||||
|
UdpServer = udpServer;
|
||||||
|
}
|
||||||
|
catch (SocketException ex)
|
||||||
|
{
|
||||||
|
_logger.ErrorException("Failed to start UDP Server", ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
Dispose(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected virtual void Dispose(bool dispose)
|
||||||
|
{
|
||||||
|
if (dispose)
|
||||||
|
{
|
||||||
|
if (UdpServer != null)
|
||||||
|
{
|
||||||
|
UdpServer.Dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -196,6 +196,7 @@
|
|||||||
<Compile Include="EntryPoints\LoadRegistrations.cs" />
|
<Compile Include="EntryPoints\LoadRegistrations.cs" />
|
||||||
<Compile Include="EntryPoints\RefreshUsersMetadata.cs" />
|
<Compile Include="EntryPoints\RefreshUsersMetadata.cs" />
|
||||||
<Compile Include="EntryPoints\StartupWizard.cs" />
|
<Compile Include="EntryPoints\StartupWizard.cs" />
|
||||||
|
<Compile Include="EntryPoints\UdpServerEntryPoint.cs" />
|
||||||
<Compile Include="EntryPoints\WebSocketEvents.cs" />
|
<Compile Include="EntryPoints\WebSocketEvents.cs" />
|
||||||
<Compile Include="Splash\SplashWindow.xaml.cs">
|
<Compile Include="Splash\SplashWindow.xaml.cs">
|
||||||
<DependentUpon>SplashWindow.xaml</DependentUpon>
|
<DependentUpon>SplashWindow.xaml</DependentUpon>
|
||||||
|
Loading…
Reference in New Issue
Block a user