Beispiel #1
0
 public void clear()
 {
     lock (typeof(TelegramSession)) {
         using (IsolatedStorageFile fileStorage = IsolatedStorageFile.GetUserStoreForApplication()) {
             if (fileStorage.FileExists("/session.dat"))
             {
                 fileStorage.DeleteFile("/session.dat");
             }
         }
         instance = loadIfExists();
     }
 }
Beispiel #2
0
        public SignupPhone() {
            InitializeComponent();
            session = TelegramSession.Instance;
            flow = new Login(session, "en");
            
            ShowPhoneScene();

            this.BackKeyPress += delegate {
                Application.Current.Terminate();
            };

            Login();
        }
Beispiel #3
0
 public void clear() {
     lock (typeof (TelegramSession)) {
         using (IsolatedStorageFile fileStorage = IsolatedStorageFile.GetUserStoreForApplication()) {
             if (fileStorage.FileExists("/session.dat")) {
                 fileStorage.DeleteFile("/session.dat");
             }
         }
         instance = loadIfExists();
     }
 }
Beispiel #4
0
        private static TelegramSession loadIfExists() {
            TelegramSession session;
            lock(typeof(TelegramSession)) {
                try {
                    using(IsolatedStorageFile fileStorage = IsolatedStorageFile.GetUserStoreForApplication())
                    using(Stream fileStream = new IsolatedStorageFileStream("session.dat", FileMode.Open, fileStorage))
                    using(BinaryReader fileReader = new BinaryReader(fileStream)) {
                        session = new TelegramSession(fileReader);
                        logger.info("loaded telegram session: {0}", session);
                    }
                } catch(Exception e) {
                    logger.info("error loading session, create new...: {0}", e);

                    logger.info("cleaning contacts");
                    CleanContacts();

                    ulong sessionId = Helpers.GenerateRandomUlong();
                    session = new TelegramSession(sessionId, 0);
                    // prod 173.240.5.1 
                    // test 173.240.5.253
                    TelegramEndpoint endpoint = new TelegramEndpoint("173.240.5.1", 443);
                    TelegramDC dc = new TelegramDC();
                    dc.Endpoints.Add(endpoint);
                    session.Dcs.Add(1, dc);
                    session.SetMainDcId(1);


                    logger.info("created new telegram session: {0}", session);
                }
            }

            return session;
        }
Beispiel #5
0
 public Login(TelegramSession session, string langCode) {
     this.langCode = langCode;
     this.session = session;
 }
 public DialogModelEncrypted(TelegramSession session, BinaryReader reader) : base(session) {
     Read(reader);
 }
 public DialogModelEncrypted(TelegramSession session, EncryptedChat chat, byte[] key, long fingerprint, byte[] a) : base(session) {
     this.chat = chat;
     this.key = key;
     this.fingerprint = EncryptedChats.CalculateKeyFingerprint(key);//;fingerprint;
     this.a = a;
 }
 public DialogModelEncrypted(TelegramSession session, EncryptedChat chat, byte[] a) : base(session) {
     logger.info("encrypted chat created with a: {0}", BitConverter.ToString(a).Replace("-", "").ToLower());
     this.chat = chat;
     this.a = a;
 }
Beispiel #9
0
 public DialogModel(TelegramSession session) {
     this.session = session;
     this.messages = new ObservableCollectionUI<MessageModel>();
 }
Beispiel #10
0
        public DialogPage() {

            session = TelegramSession.Instance;
            model = TelegramSession.Instance.Dialogs.OpenedDialog;
            
            

            InitializeComponent();

            UpdateDataContext();

            DisableEditBox();

            messageEditor.GotFocus += delegate {
                AttachPopup.IsOpen = false;
                EmojiPopup.IsOpen = false;
            };

            messageEditor.LostFocus += delegate {
                if (!EmojiPopup.IsOpen && !AttachPopup.IsOpen)
                    MainPanel.Margin = new Thickness(0, 0, 0, 0);
            };

            timer = new DispatcherTimer();
            timer.Interval = TimeSpan.FromSeconds(1);
            timer.Tick += TimerOnTick;
            

            messageEditor.TextChanged += MessageEditorOnTextChanged;

            EmojiPanelControl.BackspaceClick += EmojiPanelControlOnBackspaceClick;
            EmojiPanelControl.KeyboardClick += EmojiPanelControlOnKeyboardClick;
            EmojiPanelControl.EmojiGridListSelector.SelectionChanged += EmojiGridListSelectorOnSelectionChanged;

        }
Beispiel #11
0
 public DialogListModel(TelegramSession session, BinaryReader reader) : this(session) {
     Read(reader);
 }
Beispiel #12
0
 public DialogListModel(TelegramSession session) {
     this.session = session;
 }
Beispiel #13
0
        public DialogModelPlain(Peer peer, TelegramSession session)
            : base(session) {
            this.dialog = (DialogConstructor)TL.dialog(peer, 0, 1);

            SubscribeToDialog();
        }
Beispiel #14
0
        public DialogModelPlain(TelegramSession session, BinaryReader reader) : base(session) {
            Read(reader);

            SubscribeToDialog();
        }
Beispiel #15
0
 public DialogModelPlain(MessageModelDelivered topMessage, TelegramSession session) : base(session) {
     this.dialog = (DialogConstructor) TL.dialog(topMessage.Peer, topMessage.Id, 1);
     this.messages.Add(topMessage);
     
     SubscribeToDialog();
 }
Beispiel #16
0
        public DialogModelPlain(Dialog dialog, TelegramSession session, Dictionary<int, MessageModel> messagesMap) : base(session) {
            this.dialog = (DialogConstructor) dialog;
            this.messages.Add(messagesMap[this.dialog.top_message]);

            SubscribeToDialog();
        }