public void Handle(TLUpdateChatUserTyping update) { var chatBase = CacheService.GetChat(update.ChatId) as TLChatBase; if (chatBase != null) { _typingManagers.TryGetValue(update.ChatId, out InputTypingManager typingManager); if (typingManager == null) { typingManager = new InputTypingManager(users => { chatBase.TypingSubtitle = DialogViewModel.GetTypingString(chatBase.ToPeer(), users, CacheService.GetUser, null); chatBase.IsTyping = true; }, () => { chatBase.TypingSubtitle = null; chatBase.IsTyping = false; }); _typingManagers[update.ChatId] = typingManager; } var action = update.Action; if (action is TLSendMessageCancelAction) { typingManager.RemoveTypingUser(update.UserId); return; } typingManager.AddTypingUser(update.UserId, action); } }
public void Handle(TLUpdateChatUserTyping chatUserTyping) { var chat = With as TLChatBase; if (chat != null && chat.Index == chatUserTyping.ChatId.Value) { HandleTypingCommon(chatUserTyping); } }
public void Handle(TLUpdateChatUserTyping chatUserTyping) { var chatBase = With as TLChatBase; if (chatBase != null && chatBase.Id == chatUserTyping.ChatId) { var action = chatUserTyping.Action; if (action is TLSendMessageCancelAction) { InputTypingManager.RemoveTypingUser(chatUserTyping.UserId); return; } InputTypingManager.AddTypingUser(chatUserTyping.UserId, action); } }
public void Handle(TLUpdateChatUserTyping chatUserTyping) { HandleTypingCommon(chatUserTyping, _chatUserTypingCache); }