Example #1
0
        /// <summary>
        /// Clears data before logging out.
        /// </summary>
        public void ClearAllData()
        {
            try
            {
                _settings.AccessToken = string.Empty;
                _settings.Password = string.Empty;
                _settings.Secret = string.Empty;
                _settings.Ts = -1;
                _settings.UserId = string.Empty;
                _settings.UserName = string.Empty;

                _dialogsCache.Clear();
                _usersCache.Clear();
                _friendsCache.Clear();
                _messagesCache.Clear();
                _usersCache.Clear();

                _imageCache.Clear();

                var contactsCache = new ContactsCache();
                contactsCache.Clear();

                Dialogs.Clear();
                Friends.Clear();
                FriendsRequests.Clear();
                FriendsMutual.Clear();
                OtherUsers.Clear();
                Contacts.Clear();

                CurrentPhoneContact = null;

                MessagesToForward = string.Empty;
                AttachedLatitude = string.Empty;
                AttachedLongitude = string.Empty;

                _isInited = false;

                AttachmentPhotos.Clear();

                _stateCounter.CountOfRequests = 0;
                _stateCounter.UnreadMids.Clear();

                App.Current.PushNotifications.SwitchOff();

                App.Current.LastContactsSync = DateTime.MinValue;

                App.Current.LongPollService.TurnOff();

                CurrentUser.FullName = string.Empty;
                CurrentUser.Photo = DefaultAvatar;
            }
            catch(Exception ex)
            {
                Debug.WriteLine("ClearAllData failed: " + ex.Message);
            }
        }