Added application session services, along with initial restore and tracker implementations.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
using Harmonia.Core.Extensions;
|
||||
using Harmonia.WinUI.Caching;
|
||||
using Harmonia.WinUI.Messaging;
|
||||
using Harmonia.WinUI.Session;
|
||||
using Harmonia.WinUI.Storage;
|
||||
using Harmonia.WinUI.ViewModels;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
@@ -31,6 +32,14 @@ public partial class App : Application
|
||||
services.AddSingleton<IStorageProvider, WindowsStorageProvider>();
|
||||
services.AddSingleton<IMessageService, WindowsMessageService>();
|
||||
|
||||
services.AddSingleton<ISessionService, JsonSessionService>();
|
||||
services.AddSingleton(sp => sp.GetRequiredService<ISessionService>().Session.Window);
|
||||
services.AddSingleton(sp => sp.GetRequiredService<ISessionService>().Session.Player);
|
||||
services.AddSingleton(sp => sp.GetRequiredService<ISessionService>().Session.Playlist);
|
||||
|
||||
services.AddSingleton<ISessionRestorer, SessionRestorer>();
|
||||
services.AddSingleton<ISessionTracker, SessionTracker>();
|
||||
|
||||
services.AddHarmonia();
|
||||
|
||||
ServiceProvider = services.BuildServiceProvider();
|
||||
@@ -45,6 +54,15 @@ public partial class App : Application
|
||||
{
|
||||
await ServiceProvider.InitializeHarmoniaAsync();
|
||||
|
||||
ISessionService sessionService = ServiceProvider.GetRequiredService<ISessionService>();
|
||||
await sessionService.LoadAsync();
|
||||
|
||||
ISessionRestorer sessionRestorer = ServiceProvider.GetRequiredService<ISessionRestorer>();
|
||||
sessionRestorer.Restore();
|
||||
|
||||
ISessionTracker sessionTracker = ServiceProvider.GetRequiredService<ISessionTracker>();
|
||||
sessionTracker.Start();
|
||||
|
||||
_mainWindow = ServiceProvider.GetRequiredService<MainWindow>();
|
||||
_mainWindow.Activate();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user