Пример #1
0
        private void InitView()
        {
            PrepareView();

            foreach (Peer peer in _signaler._peers)
            {
                peersListView.Items.Add(peer);
            }

            AccountSettings.Click    += (sender, args) => Frame.Navigate(typeof(SettingsAccountPage));
            ConnectionSettings.Click += (sender, args) => Frame.Navigate(typeof(SettingsConnectionPage));
            DevicesSettings.Click    += (sender, args) => Frame.Navigate(typeof(SettingsDevicesPage));
            DebugSettings.Click      += (sender, args) => Frame.Navigate(typeof(SettingsDebugPage));

            ConnectPeer.Click += async(sender, args) =>
            {
                await _signaler.Connect(_account.ServiceUri);

                ConnectPeer.IsEnabled    = false;
                DisconnectPeer.IsEnabled = true;
            };
            DisconnectPeer.Click += async(sender, args) =>
            {
                await _signaler.SignOut();

                peersListView.Items.Clear();

                ConnectPeer.IsEnabled    = true;
                DisconnectPeer.IsEnabled = false;
            };
            CallRemotePeer.Click += (sender, args) =>
            {
                if (peersListView.SelectedIndex == -1)
                {
                    new MessageDialog("Please select a peer.").ShowAsync();
                    return;
                }
                Peer remotePeer = peersListView.SelectedItem as Peer;
                if (remotePeer == null)
                {
                    return;
                }

                Task.Run(async() =>
                {
                    _call.PeerId      = remotePeer.Id;
                    CallInfo callInfo = (CallInfo)await _call.PlaceCallAsync(null);
                });
            };
        }
Пример #2
0
        private void InitView()
        {
            if (_signaler.LocalPeerSignedIn)
            {
                ConnectPeer.IsEnabled    = false;
                DisconnectPeer.IsEnabled = true;
            }
            else
            {
                ConnectPeer.IsEnabled    = true;
                DisconnectPeer.IsEnabled = false;
            }

            peersListView.Items.Clear();

            foreach (Peer peer in _signaler._peers)
            {
                peersListView.Items.Add(peer);
            }

            if (_accountModel == null)
            {
                tbServiceUri.Text = "Please create/select account Service Uri.";
            }
            else
            {
                tbServiceUri.Text = $"Service Uri: { Account?.ServiceUri }";
            }

            peersListView.SelectedIndex = -1;
            peersListView.SelectedItem  = null;

            peersListView.Tapped += PeersListView_Tapped;

            AccountSettings.Click += (sender, args) => Frame.Navigate(typeof(SettingsAccountPage));

            ConnectionSettings.Click += (sender, args) => Frame.Navigate(typeof(SettingsConnectionPage));

            DevicesSettings.Click += (sender, args) => Frame.Navigate(typeof(SettingsDevicesPage));

            DebugSettings.Click += (sender, args) => Frame.Navigate(typeof(SettingsDebugPage));

            ConnectPeer.Click += async(sender, args) =>
            {
                await LogInToServer();

                ConnectPeer.IsEnabled    = false;
                DisconnectPeer.IsEnabled = true;
            };

            DisconnectPeer.Click += async(sender, args) =>
            {
                await LogOutFromServer();

                peersListView.Items.Clear();

                ConnectPeer.IsEnabled    = true;
                DisconnectPeer.IsEnabled = false;
            };

            CallRemotePeer.Click += (sender, args) =>
            {
                if (peersListView.SelectedIndex == -1)
                {
                    new MessageDialog("Please select a peer.").ShowAsync();
                    return;
                }

                Peer remotePeer = peersListView.SelectedItem as Peer;
                if (remotePeer == null)
                {
                    return;
                }

                Debug.WriteLine($"Call remote peer {remotePeer.ToString()}");

                Task.Run(async() =>
                {
                    _call.PeerId = remotePeer.Id;

                    CallInfo callInfo = (CallInfo)await _call.PlaceCallAsync(null);
                });
            };
        }