// Token: 0x06002FAD RID: 12205 RVA: 0x00114FD0 File Offset: 0x001131D0 private int SetCollapsedTreeNodes(int originalValue, string parameterName, StatusPersistTreeNodeType treeNodeType) { if (base.IsParameterSet(parameterName)) { if ((bool)base.GetParameter(parameterName)) { originalValue &= (int)(~(int)treeNodeType); } else { originalValue |= (int)treeNodeType; } } return(originalValue); }
public static void CreateFavoriteAndMailboxTreeAndGetBuddyListStatus(UserContext userContext, out NavigationTree favoritesTree, out MailboxFolderTree mailboxFolderTree, out MailboxFolderTree[] archiveFolderTrees, out bool expandBuddyList) { NavigationTree.NormalAndSearchFolderList item; NavigationTree.NormalAndSearchFolderList[] array; NavigationTree.CreateNormalAndSearchFolderLists(userContext, true, true, out item, out array); NavigationNodeCollection navigationCollection = NavigationNodeCollection.TryCreateNavigationNodeCollection(userContext, userContext.MailboxSession, NavigationNodeGroupSection.First); List <NavigationTree.NormalAndSearchFolderList> list = new List <NavigationTree.NormalAndSearchFolderList>(1 + array.Length); list.Add(item); list.AddRange(array); favoritesTree = NavigationTree.CreateFavoriteTreeByFolderLists(userContext, navigationCollection, list.ToArray()); mailboxFolderTree = MailboxFolderTree.CreateStartPageMailboxFolderTree(userContext, item.DeepHierarchyFolderList, item.SearchFolderList); StatusPersistTreeNodeType valueToTest = StatusPersistTreeNodeType.None; object folderProperty = item.DeepHierarchyFolderList.GetFolderProperty(userContext.GetRootFolderId(userContext.MailboxSession), ViewStateProperties.TreeNodeCollapseStatus); if (folderProperty is int) { valueToTest = (StatusPersistTreeNodeType)folderProperty; } expandBuddyList = !Utilities.IsFlagSet((int)valueToTest, 4); bool flag = !Utilities.IsFlagSet((int)valueToTest, 2); bool flag2 = !Utilities.IsFlagSet((int)valueToTest, 1); OwaStoreObjectId folderId = OwaStoreObjectId.CreateFromMailboxFolderId(userContext.InboxFolderId); if (!flag || flag2 || !favoritesTree.RootNode.SelectSpecifiedFolder(folderId)) { mailboxFolderTree.RootNode.SelectSpecifiedFolder(folderId); } archiveFolderTrees = null; if (array.Length > 0) { List <MailboxFolderTree> list2 = new List <MailboxFolderTree>(array.Length); for (int i = 0; i < array.Length; i++) { list2.Add(MailboxFolderTree.CreateStartPageArchiveMailboxFolderTree(userContext, array[i].DeepHierarchyFolderList, array[i].SearchFolderList)); } archiveFolderTrees = list2.ToArray(); } }