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; }
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; } }