Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 4
0
 public void Handle(TLUpdateChatUserTyping chatUserTyping)
 {
     HandleTypingCommon(chatUserTyping, _chatUserTypingCache);
 }