private void OnFriendUpdate(FriendListUpdateDto update) { Friend friend; if (_friends.TryGetValue(update.ItemId, out friend)) { friend.Status = update.Data.Status; friend.Details = update.Data.Details; friend.LastConnected = update.Data.LastConnected; friend.UserId = update.Data.UserId; var action = FriendUpdated; if (action != null) { MainThread.Post(() => { action(friend); }); } } else { _logger.Log(Diagnostics.LogLevel.Warn, "friends.update", "Unknown friend with id " + update.ItemId); } }
private void OnFriendNotification(FriendListUpdateDto update) { switch (update.Operation) { case "remove": OnFriendRemove(update); break; case "update": OnFriendUpdate(update); break; case "add": OnFriendAdd(update); break; case "update.status": OnFriendUpdateStatus(update); break; default: _logger.Log(Diagnostics.LogLevel.Error, "friends", "Unknown friends operation: " + update.Operation); break; } }
private void OnFriendAdd(FriendListUpdateDto update) { _friends[update.ItemId] = update.Data; var action = FriendAdded; if (action != null) { MainThread.Post(() => { action(update.Data); }); } }
private void OnFriendRemove(FriendListUpdateDto update) { Friend friend; if (_friends.TryRemove(update.ItemId, out friend)) { var action = FriendRemoved; if (action != null) { MainThread.Post(() => { action(update.Data); }); } } else { _logger.Log(Diagnostics.LogLevel.Warn, "friends.remove", "Unknown friend with id " + update.ItemId); } }