tidy up
This commit is contained in:
@@ -3,11 +3,12 @@ using Hyperbar.UI.Windows;
|
||||
|
||||
namespace Hyperbar.Widget.MediaController.Windows;
|
||||
|
||||
public sealed partial class MediaButtonView :
|
||||
public partial class MediaButtonView :
|
||||
UserControl
|
||||
{
|
||||
public MediaButtonView() =>
|
||||
this.InitializeComponent(ref _contentLoaded);
|
||||
|
||||
private IMediaButtonViewModel ViewModel => (IMediaButtonViewModel)DataContext;
|
||||
protected IMediaButtonViewModel ViewModel =>
|
||||
(IMediaButtonViewModel)DataContext;
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ namespace Hyperbar.Widget.MediaController.Windows;
|
||||
public class MediaControllerHandler(IMediator mediator,
|
||||
IServiceScopeProvider<MediaController> scopeProvider,
|
||||
ICache<MediaController, MediaControllerViewModel> cache) :
|
||||
INotificationHandler<Created<MediaController>>,
|
||||
INotificationHandler<Removed<MediaController>>
|
||||
INotificationHandler<Create<MediaController>>,
|
||||
INotificationHandler<Remove<MediaController>>
|
||||
{
|
||||
public async Task Handle(Created<MediaController> notification,
|
||||
public async Task Handle(Create<MediaController> notification,
|
||||
CancellationToken cancellationToken)
|
||||
{
|
||||
if (notification.Value is MediaController mediaController &&
|
||||
@@ -18,17 +18,17 @@ public class MediaControllerHandler(IMediator mediator,
|
||||
factory.Create(mediaController) is MediaControllerViewModel viewModel)
|
||||
{
|
||||
cache.Add(mediaController, viewModel);
|
||||
await mediator.PublishAsync(new Created<MediaControllerViewModel>(viewModel), cancellationToken);
|
||||
await mediator.PublishAsync(new Create<MediaControllerViewModel>(viewModel), cancellationToken);
|
||||
}
|
||||
}
|
||||
|
||||
public async Task Handle(Removed<MediaController> notification, CancellationToken cancellationToken)
|
||||
public async Task Handle(Remove<MediaController> notification, CancellationToken cancellationToken)
|
||||
{
|
||||
if (notification.Value is MediaController mediaController &&
|
||||
cache.TryGetValue(mediaController, out MediaControllerViewModel? viewModel) &&
|
||||
viewModel is not null)
|
||||
{
|
||||
await mediator.PublishAsync(new Removed<MediaControllerViewModel>(viewModel), cancellationToken);
|
||||
await mediator.PublishAsync(new Remove<MediaControllerViewModel>(viewModel), cancellationToken);
|
||||
cache.Remove(mediaController);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ public class MediaControllerService(IMediator mediator,
|
||||
{
|
||||
if (factory.Create(session) is MediaController mediaController)
|
||||
{
|
||||
await mediator.PublishAsync(new Created<MediaController>(mediaController));
|
||||
await mediator.PublishAsync(new Create<MediaController>(mediaController));
|
||||
cache.Add(new KeyValuePair<GlobalSystemMediaTransportControlsSession, MediaController>(session,
|
||||
mediaController));
|
||||
}
|
||||
@@ -53,7 +53,7 @@ public class MediaControllerService(IMediator mediator,
|
||||
{
|
||||
if (!sessions.Any(x => x.SourceAppUserModelId == session.Key.SourceAppUserModelId))
|
||||
{
|
||||
await mediator.PublishAsync(new Removed<MediaController>(session.Value));
|
||||
await mediator.PublishAsync(new Remove<MediaController>(session.Value));
|
||||
cache.Remove(session);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
HorizontalAlignment="Right"
|
||||
HorizontalContentAlignment="Right"
|
||||
ItemTemplateSelector="{Binding Converter={windows:DataTemplateConverter}}"
|
||||
ItemsSource="{Binding}">
|
||||
ItemsSource="{x:Bind ViewModel}">
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<StackPanel Orientation="Horizontal" Spacing="8" />
|
||||
|
||||
@@ -3,9 +3,12 @@ using Hyperbar.UI.Windows;
|
||||
|
||||
namespace Hyperbar.Widget.MediaController.Windows;
|
||||
|
||||
public sealed partial class MediaControllerView :
|
||||
public partial class MediaControllerView :
|
||||
UserControl
|
||||
{
|
||||
public MediaControllerView() =>
|
||||
this.InitializeComponent(ref _contentLoaded);
|
||||
|
||||
protected MediaControllerViewModel ViewModel =>
|
||||
(MediaControllerViewModel)DataContext;
|
||||
}
|
||||
|
||||
@@ -3,9 +3,12 @@ using Hyperbar.UI.Windows;
|
||||
|
||||
namespace Hyperbar.Widget.MediaController.Windows;
|
||||
|
||||
public sealed partial class MediaControllerWidgetView :
|
||||
public partial class MediaControllerWidgetView :
|
||||
UserControl
|
||||
{
|
||||
public MediaControllerWidgetView() =>
|
||||
this.InitializeComponent(ref _contentLoaded);
|
||||
|
||||
protected MediaControllerWidgetViewModel ViewModel =>
|
||||
(MediaControllerWidgetViewModel)DataContext;
|
||||
}
|
||||
@@ -3,11 +3,12 @@ using Hyperbar.UI.Windows;
|
||||
|
||||
namespace Hyperbar.Widget.MediaController.Windows;
|
||||
|
||||
public sealed partial class MediaInformationView :
|
||||
public partial class MediaInformationView :
|
||||
UserControl
|
||||
{
|
||||
public MediaInformationView() =>
|
||||
this.InitializeComponent(ref _contentLoaded);
|
||||
|
||||
private MediaInformationViewModel ViewModel => (MediaInformationViewModel)DataContext;
|
||||
protected MediaInformationViewModel ViewModel =>
|
||||
(MediaInformationViewModel)DataContext;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user