public void RemoveNotificationItem(string id)
        {
            StackPanel content = this.mNotificationScroll.Content as StackPanel;

            foreach (NotificationDrawerItem notificationDrawerItem in content.Children.OfType <NotificationDrawerItem>())
            {
                if (string.Equals(notificationDrawerItem.Id, id, StringComparison.InvariantCultureIgnoreCase))
                {
                    GenericNotificationManager.MarkNotification((IEnumerable <string>) new List <string>()
                    {
                        id
                    }, (System.Action <GenericNotificationItem>)(x => x.IsDeleted = true));
                    int index = content.Children.IndexOf((UIElement)notificationDrawerItem);
                    content.Children.Remove((UIElement)notificationDrawerItem);
                    if (content.Children.Count > index)
                    {
                        content.Children.RemoveAt(index);
                        break;
                    }
                    break;
                }
            }
            if (content.Children.Count != 0)
            {
                return;
            }
            this.noNotifControl.Visibility      = Visibility.Visible;
            this.mNotificationScroll.Visibility = Visibility.Collapsed;
            this.noNotification = true;
        }
        public void RemoveAllNotificationItems()
        {
            StackPanel content = this.mNotificationScroll.Content as StackPanel;

            GenericNotificationManager.MarkNotification(content.Children.OfType <NotificationDrawerItem>().Select <NotificationDrawerItem, string>((Func <NotificationDrawerItem, string>)(_ => _.Id)), (System.Action <GenericNotificationItem>)(_ => _.IsDeleted = true));
            content.Children.Clear();
            this.noNotifControl.Visibility      = Visibility.Visible;
            this.mNotificationScroll.Visibility = Visibility.Collapsed;
            this.noNotification = true;
        }
Exemple #3
0
        private void pikanotificationcontrol_MouseUp(object sender, MouseButtonEventArgs e)
        {
            if (this.ParentWindow == null || !this.ParentWindow.mGuestBootCompleted)
            {
                return;
            }
            this.ParentWindow.Utils.HandleGenericActionFromDictionary((Dictionary <string, string>) this.mNotificationItem.ExtraPayload, "notification_ribbon", this.mNotificationItem.NotificationMenuImageName);
            ClientStats.SendMiscellaneousStatsAsync("RibbonClicked", RegistryManager.Instance.UserGuid, RegistryManager.Instance.ClientVersion, this.mNotificationItem.Id, this.mNotificationItem.Title, JsonConvert.SerializeObject((object)this.mNotificationItem.ExtraPayload), (string)null, (string)null, (string)null, "Android");
            GenericNotificationManager.MarkNotification((IEnumerable <string>) new List <string>()
            {
                this.mNotificationItem.Id
            }, (System.Action <GenericNotificationItem>)(x => x.IsRead = true));
            IEnumerable <NotificationDrawerItem> source = (this.ParentWindow.mTopBar.mNotificationDrawerControl.mNotificationScroll.Content as StackPanel).Children.OfType <NotificationDrawerItem>().Where <NotificationDrawerItem>((Func <NotificationDrawerItem, bool>)(_ => _.Id == this.mNotificationItem.Id));

            if (source.Any <NotificationDrawerItem>())
            {
                source.First <NotificationDrawerItem>().ChangeToReadBackground();
            }
            this.ParentWindow.mTopBar.RefreshNotificationCentreButton();
            this.CloseClicked(sender, (EventArgs)e);
        }
        private void UserControl_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            string fileName = RegistryStrings.InstallDir + "\\HD-RunApp.exe";
            GenericNotificationItem notificationItem = GenericNotificationManager.Instance.GetNotificationItem(this.Id);
            JsonParser jsonParser = new JsonParser(this.ParentWindow.mVmName);

            if (this.ParentWindow != null && this.ParentWindow.mGuestBootCompleted)
            {
                if (notificationItem == null)
                {
                    return;
                }
                ClientStats.SendMiscellaneousStatsAsync("NotificationDrawerItemClicked", RegistryManager.Instance.UserGuid, RegistryManager.Instance.ClientVersion, notificationItem.Id, notificationItem.Title, JsonConvert.SerializeObject((object)notificationItem.ExtraPayload), notificationItem.ExtraPayload.ContainsKey("campaign_id") ? notificationItem.ExtraPayload["campaign_id"] : "", (string)null, (string)null, "Android");
                GenericNotificationManager.MarkNotification((IEnumerable <string>) new List <string>()
                {
                    notificationItem.Id
                }, (System.Action <GenericNotificationItem>)(x => x.IsRead = true));
                this.ChangeToReadBackground();
                this.ParentWindow.mTopBar.RefreshNotificationCentreButton();
                if (notificationItem.ExtraPayload.Keys.Count > 0)
                {
                    this.ParentWindow.Utils.HandleGenericActionFromDictionary((Dictionary <string, string>)notificationItem.ExtraPayload, "notification_drawer", notificationItem.NotificationMenuImageName);
                }
                else
                {
                    try
                    {
                        if (string.Compare(notificationItem.Title, "Successfully copied files:", StringComparison.OrdinalIgnoreCase) == 0 || string.Compare(notificationItem.Title, "Cannot copy files:", StringComparison.OrdinalIgnoreCase) == 0)
                        {
                            NotificationPopup.LaunchExplorer(notificationItem.Message);
                        }
                        else
                        {
                            Logger.Info("launching " + notificationItem.Title);
                            AppInfo infoFromPackageName = jsonParser.GetAppInfoFromPackageName(this.PackageName);
                            if (infoFromPackageName != null)
                            {
                                string str = "-json \"" + new JObject()
                                {
                                    {
                                        "app_icon_url",
                                        (JToken)""
                                    },
                                    {
                                        "app_name",
                                        (JToken)infoFromPackageName.Name
                                    },
                                    {
                                        "app_url",
                                        (JToken)""
                                    },
                                    {
                                        "app_pkg",
                                        (JToken)this.PackageName
                                    }
                                }.ToString(Formatting.None).Replace("\"", "\\\"") + "\"";
                                Process.Start(fileName, string.Format((IFormatProvider)CultureInfo.InvariantCulture, "{0} -vmname {1}", (object)str, (object)this.ParentWindow.mVmName));
                            }
                            else
                            {
                                this.ParentWindow.Utils.HandleGenericActionFromDictionary(new Dictionary <string, string>()
                                {
                                    {
                                        "click_generic_action",
                                        GenericAction.InstallPlay.ToString()
                                    },
                                    {
                                        "click_action_packagename",
                                        notificationItem.Package
                                    }
                                }, "notification_drawer", "");
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        Logger.Error(ex.ToString());
                    }
                    finally
                    {
                        this.ParentWindow.mTopBar.mNotificationCentrePopup.IsOpen = false;
                    }
                }
            }
            else
            {
                if (notificationItem == null)
                {
                    return;
                }
                this.ParentWindow.mPostBootNotificationAction             = this.PackageName;
                this.ParentWindow.mTopBar.mNotificationCentrePopup.IsOpen = false;
            }
        }