Esempio n. 1
0
        public void UnLoad()
        {
            if (instance == null)
            {
                return;
            }

            Phone.GetInstance(null).UnRegisterToCore();
            MessageClient.GetInstance(null).UnRegisterToCore();
            m_core.exit();
            m_core.Dispose();
            instance = null;
        }
        public MessageSessionViewModel()
        {
            BackCommand          = new RelayCommand(BackToMain);
            SndMsgCommand        = new RelayCommand(SendMessage);
            DownloadFileCMD      = new RelayCommand(DownLoadFile);
            DownloadThumbnailCMD = new RelayCommand(DownloadThumbnail);
            AttachFileCMD        = new RelayCommand(AttachFile);
            DeleteMsgCommand     = new RelayCommand(DeleteMsg);
            ListMessageCMD       = new RelayCommand(ListMessage);
            GetMessageCMD        = new RelayCommand(GetMessage);

            spark                  = ApplicationController.Instance.CurSparkManager.CurSpark;
            messageClient          = spark?.Messages;
            messageClient.OnEvent += OnMessageEvent;
            MessageList            = new ObservableCollection <TimelineMessage>();
            AttachedFiles          = new ObservableCollection <string>();

            FilesList = new ObservableCollection <RemoteFile>();

            var address = ApplicationController.Instance.CurSparkManager.CurCalleeAddress;

            if (address.Contains('@') || StringExtention.Base64UrlDecode(address).Contains("PEOPLE"))
            {
                RoomTitle       = address;
                isDirectMessage = true;
                toPersonEmail   = address;
            }
            else
            {
                spark?.Rooms.Get(address, r =>
                {
                    if (r.IsSuccess)
                    {
                        RoomTitle = r.Data.Title;
                    }
                });
                toRoomId = address;
            }
        }