diff options
author | Mike Antipov <mantipov@productengine.com> | 2010-07-29 15:52:36 +0300 |
---|---|---|
committer | Mike Antipov <mantipov@productengine.com> | 2010-07-29 15:52:36 +0300 |
commit | 92afbfaf88764e9be75458c5e2b2514e59a0deed (patch) | |
tree | dd8afccb4048e88ec4d249a231f84160f59738bd /indra/newview/llfriendcard.cpp | |
parent | 1229730484ff6121cfd6461b9062c43058045a44 (diff) |
EXT-7706 FIXED Implemented delayed friends cards synchronization and filling People/Friends tab with data until it is visible to user first time.
* Moved location of synchronization of the Friends/All inventory folder with friends list from startup to first requesting of data.
* Also updated "update Friends list" logic to be really trigged only when Friends tab is visible to user.
NOTE:
* Friends List/All is filled with some delay on first opening.
TODO: refactoring is needed to switch code of updating People/nearby list to use the same approach as for Friends.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/805/
--HG--
branch : product-engine
Diffstat (limited to 'indra/newview/llfriendcard.cpp')
-rw-r--r-- | indra/newview/llfriendcard.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/indra/newview/llfriendcard.cpp b/indra/newview/llfriendcard.cpp index 7f28e09933..2f4dae0af8 100644 --- a/indra/newview/llfriendcard.cpp +++ b/indra/newview/llfriendcard.cpp @@ -299,6 +299,17 @@ void LLFriendCardsManager::collectFriendsLists(folderid_buddies_map_t& folderBud { folderBuddiesMap.clear(); + static bool syncronize_friends_folders = true; + if (syncronize_friends_folders) + { + // Checks whether "Friends" and "Friends/All" folders exist in "Calling Cards" folder, + // fetches their contents if needed and synchronizes it with buddies list. + // If the folders are not found they are created. + LLFriendCardsManager::instance().syncFriendCardsFolders(); + syncronize_friends_folders = false; + } + + LLInventoryModel::cat_array_t* listFolders; LLInventoryModel::item_array_t* items; |