Exemplo n.º 1
0
 public Dialogs(TelegramSession session) {
     this.session = session;
     model = new DialogListModel(session);
     session.Updates.NewMessageEvent += delegate(Message message) {
         Deployment.Current.Dispatcher.BeginInvoke(() => model.ProcessNewMessage(message));
     };
 }
Exemplo n.º 2
0
 private void Read(BinaryReader reader) {
     logger.info("loading dialogs");
     int stateExists = reader.ReadInt32();
     if(stateExists != 0) {
         logger.info("dialog model found");
         model = new DialogListModel(session, reader);
     } else {
         logger.info("dialogs model not found");
         model = null;
     }
 }
Exemplo n.º 3
0
        public async Task DialogsRequest() { // call it only on login!
            DialogListModel newState = new DialogListModel(session);

            int offset = 0;
            while(true) {
                logger.info("request dialogs with offset {0}", offset);
                messages_Dialogs dialogsPart = await session.Api.messages_getDialogs(offset, 0, 100);
                offset += newState.ProcessDialogs(dialogsPart);

                if(dialogsPart.Constructor == Constructor.messages_dialogs) {
                    break;
                }
            }

            //model.Replace(newState);
            model = newState;
        }