44using System ;
55using System . Collections . Generic ;
66using Winfy . Core ;
7+ using Winfy . Core . Broadcast ;
78using Winfy . Core . Deployment ;
89using Action = System . Action ;
910using TinyIoC ;
@@ -17,6 +18,7 @@ public sealed class ShellViewModel : Screen, IToggleVisibility {
1718 private readonly IEventAggregator _EventAggregator ;
1819 private readonly IUpdateService _UpdateService ;
1920 private readonly IUsageTrackerService _UsageTrackerService ;
21+ private readonly IBroadcastService _BroadcastService ;
2022 private readonly AppSettings _Settings ;
2123 private readonly Core . ILog _Logger ;
2224 private const string NoCoverUri = @"pack://application:,,,/Winfy;component/Images/LogoWhite.png" ;
@@ -26,7 +28,7 @@ public sealed class ShellViewModel : Screen, IToggleVisibility {
2628 public event EventHandler CoverDisplayFadeOut ;
2729 public event EventHandler CoverDisplayFadeIn ;
2830
29- public ShellViewModel ( IWindowManager windowManager , ISpotifyController spotifyController , ICoverService coverService , IEventAggregator eventAggregator , AppSettings settings , Core . ILog logger , IUpdateService updateService , IUsageTrackerService usageTrackerService ) {
31+ public ShellViewModel ( IWindowManager windowManager , ISpotifyController spotifyController , ICoverService coverService , IEventAggregator eventAggregator , AppSettings settings , Core . ILog logger , IUpdateService updateService , IUsageTrackerService usageTrackerService , IBroadcastService broadcastService ) {
3032 _WindowManager = windowManager ;
3133 _SpotifyController = spotifyController ;
3234 _CoverService = coverService ;
@@ -35,6 +37,7 @@ public ShellViewModel(IWindowManager windowManager, ISpotifyController spotifyCo
3537 _Logger = logger ;
3638 _UpdateService = updateService ;
3739 _UsageTrackerService = usageTrackerService ;
40+ _BroadcastService = broadcastService ;
3841
3942 CoverImage = NoCoverUri ;
4043 UpdateView ( ) ;
@@ -45,6 +48,9 @@ public ShellViewModel(IWindowManager windowManager, ISpotifyController spotifyCo
4548 _UpdateService . UpdateReady += UpdateReady ;
4649 _UpdateService . StartBackgroundCheck ( ) ;
4750 _UsageTrackerService . Track ( ) ;
51+
52+ _BroadcastService . BroadcastMessageReceived += BroadcastMessageReceived ;
53+ _BroadcastService . StartListening ( ) ;
4854 }
4955
5056 protected override void OnViewLoaded ( object view ) {
@@ -209,7 +215,12 @@ void UpdateReady(object sender, UpdateReadyEventArgs e) {
209215 } ) ) ) ) ;
210216
211217 }
212-
218+
219+ private void BroadcastMessageReceived ( object sender , BroadcastMessageReceivedEventArgs e ) {
220+ Execute . OnUIThread ( ( ) => _WindowManager . ShowDialog (
221+ TinyIoCContainer . Current . Resolve < NewBroadcastMessageViewModel > (
222+ new NamedParameterOverloads ( new Dictionary < string , object > { { "message" , e . Message } } ) ) ) ) ;
223+ }
213224
214225 private void OnToggleVisibility ( ToggleVisibilityEventArgs e ) {
215226 Execute . OnUIThread ( ( ) => {
0 commit comments