Esempio n. 1
0
 private void HohoemaInAppNotification_Loaded(object sender, RoutedEventArgs e)
 {
     _messenger.Register <InAppNotificationMessage>(this, (r, m) => PushNextNotication(m.Value));
     _messenger.Register <InAppNotificationDismissMessage>(this, (r, m) =>
     {
         LiteNotification.Dismiss();
     });
 }
Esempio n. 2
0
 private void TryNextDisplayNotication()
 {
     if (NoticationRequestQueue.TryDequeue(out var payload))
     {
         _CurrentNotication                 = payload;
         LiteNotification.DataContext       = payload;
         LiteNotification.ShowDismissButton = payload.IsShowDismissButton;
         LiteNotification.Show((int)(payload.ShowDuration ?? DefaultShowDuration).TotalMilliseconds);
     }
 }
Esempio n. 3
0
        private void PushNextNotication(Services.InAppNotificationPayload payload)
        {
            NoticationRequestQueue.Enqueue(payload);

            // 前に表示した通知が時間設定されていない場合には強制非表示
            if (_CurrentNotication != null && _CurrentNotication.ShowDuration == null)
            {
                LiteNotification.Dismiss();
            }
            else
            {
                TryNextDisplayNotication();
            }
        }
Esempio n. 4
0
        private void PushNextNotication(Services.InAppNotificationPayload payload)
        {
            NoticationRequestQueue.Enqueue(payload);

            _ = _uiDispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
            {
                // 前に表示した通知が時間設定されていない場合には強制非表示
                if (_CurrentNotication != null && _CurrentNotication.ShowDuration == null)
                {
                    LiteNotification.Dismiss();
                }
                else
                {
                    TryNextDisplayNotication();
                }
            });
        }
Esempio n. 5
0
        private void TryNextDisplayNotication()
        {
            // only show Active Window
            if (_lastActivationState == Windows.UI.Core.CoreWindowActivationState.Deactivated)
            {
                NoticationRequestQueue.Clear();
                return;
            }

            if (NoticationRequestQueue.TryDequeue(out var payload))
            {
                _CurrentNotication = payload;

                LiteNotification.DataContext       = payload;
                LiteNotification.ShowDismissButton = payload.IsShowDismissButton;
                LiteNotification.Show((int)(payload.ShowDuration ?? DefaultShowDuration).TotalMilliseconds);
            }
        }
Esempio n. 6
0
        public HohoemaInAppNotification()
        {
            this.InitializeComponent();



            var ea = App.Current.Container.Resolve <IEventAggregator>();
            var notificationEvent = ea.GetEvent <Services.InAppNotificationEvent>();

            notificationEvent.Subscribe(OnNotificationRequested, ThreadOption.UIThread);

            var notificationDismissEvent = ea.GetEvent <Services.InAppNotificationDismissEvent>();

            notificationDismissEvent.Subscribe((_) =>
            {
                LiteNotification.Dismiss();
            }, ThreadOption.UIThread);


            LiteNotification.Dismissed += LiteNotification_Dismissed;
        }
Esempio n. 7
0
        public HohoemaInAppNotification()
        {
            this.InitializeComponent();

            var ea = App.Current.Container.Resolve <IEventAggregator>();
            var notificationEvent = ea.GetEvent <Services.InAppNotificationEvent>();

            notificationEvent.Subscribe(PushNextNotication, ThreadOption.UIThread);

            var notificationDismissEvent = ea.GetEvent <Services.InAppNotificationDismissEvent>();

            notificationDismissEvent.Subscribe((_) =>
            {
                LiteNotification.Dismiss();
            }, ThreadOption.UIThread);


            LiteNotification.Closed += LiteNotification_Dismissed;

            Window.Current.CoreWindow.Activated += CoreWindow_Activated;
            _uiDispatcher = Dispatcher;
        }
Esempio n. 8
0
        private void TryNextDisplayNotication()
        {
            // only show Active Window
            if (_CurrentActiveWindowUIContextService.UIContext != UIContext)
            {
                NoticationRequestQueue.Clear();
                return;
            }

            if (NoticationRequestQueue.TryDequeue(out var payload))
            {
                if (payload == null)
                {
                    return;
                }

                _CurrentNotication = payload;

                LiteNotification.DataContext       = payload;
                LiteNotification.ShowDismissButton = payload.IsShowDismissButton;
                LiteNotification.Show((int)(payload.ShowDuration ?? DefaultShowDuration).TotalMilliseconds);
            }
        }