Adding dependency injection

This commit is contained in:
watsonb8
2020-01-31 20:41:45 -05:00
parent f8ad2f459e
commit 48d0ffa77d
27 changed files with 550 additions and 114 deletions

View File

@ -2,7 +2,9 @@ using System;
using System.Threading.Tasks;
using Aurora.Proto.Sync;
using Aurora.Proto.General;
using Aurora.Services.PlayerService;
using Aurora.Services.Player;
using Aurora;
using Autofac;
namespace Aurora.RemoteImpl
{
@ -19,31 +21,36 @@ namespace Aurora.RemoteImpl
Grpc.Core.IServerStreamWriter<Sync> responseStream,
Grpc.Core.ServerCallContext context)
{
bool continueSync = true;
string currentId = PlayerService.Instance.CurrentMedia.Id;
MediaChangedEventHandler mediaChanged = (sender, e) =>
using (var scope = App.Container.BeginLifetimeScope())
{
if (e.NewId != currentId)
IPlayer player = scope.Resolve<IPlayer>();
bool continueSync = true;
string currentId = player.CurrentMedia.Id;
MediaChangedEventHandler mediaChanged = (sender, e) =>
{
continueSync = false;
}
};
PlayerService.Instance.MediaChanged += mediaChanged;
while (continueSync)
{
float length = PlayerService.Instance.CurrentMediaLength;
Sync sync = new Sync()
{
TrackPosition = PlayerService.Instance.CurrentMediaPosition,
ServerTimeTicks = Utils.TimeUtils.GetNetworkTime().DateTime.Ticks
if (e.NewId != currentId)
{
continueSync = false;
}
};
await responseStream.WriteAsync(sync);
Console.WriteLine("Sent Sync");
await Task.Delay(5000);
player.MediaChanged += mediaChanged;
while (continueSync)
{
float length = player.CurrentMediaLength;
Sync sync = new Sync()
{
TrackPosition = player.CurrentMediaPosition,
ServerTimeTicks = Utils.TimeUtils.GetNetworkTime().DateTime.Ticks
};
await responseStream.WriteAsync(sync);
Console.WriteLine("Sent Sync");
await Task.Delay(5000);
}
}
}
}
}