public static void AddDefaultIceServersList(WebRtcAdapter.Call.Call call)
        {
            if (_localSettings.DeserializeIceServersList() == null ||
                !(_localSettings.DeserializeIceServersList()).Any())
            {
                List <IceServer> iceServersList = new List <IceServer>();

                ObservableCollection <IceServerModel> iceServerModelList = new ObservableCollection <IceServerModel>();

                foreach (IceServer iceServer in AddDefaultIceServers)
                {
                    IceServerModel iceServerModel = new IceServerModel();
                    iceServerModel.Urls       = iceServer.Urls;
                    iceServerModel.Username   = iceServer.Username;
                    iceServerModel.Credential = iceServer.Credential;

                    iceServerModelList.Add(iceServerModel);
                }

                _localSettings.SerializeIceServersList(iceServerModelList);

                foreach (var ice in iceServerModelList)
                {
                    IceServer iceServer = new IceServer();
                    iceServer.Urls       = ice.Urls;
                    iceServer.Username   = ice.Username;
                    iceServer.Credential = ice.Credential;

                    iceServersList.Add(iceServer);
                }

                call.AddIceServers(iceServersList);
                call.SetIceServers(iceServersList);
            }
            else
            {
                List <IceServer> iceServersList = new List <IceServer>();

                ObservableCollection <IceServerModel> iceServerModelList = _localSettings.DeserializeIceServersList();

                foreach (var ice in iceServerModelList)
                {
                    IceServer iceServer = new IceServer();
                    iceServer.Urls       = ice.Urls;
                    iceServer.Username   = ice.Username;
                    iceServer.Credential = ice.Credential;

                    iceServersList.Add(iceServer);
                }

                call.AddIceServers(iceServersList);
                call.SetIceServers(iceServersList);
            }
        }
Example #2
0
        private void AddDefaultIceServersList()
        {
            if (_localSettings.DeserializeIceServersList() == null ||
                !(_localSettings.DeserializeIceServersList()).Any())
            {
                ObservableCollection <IceServerModel> iceServersList = new ObservableCollection <IceServerModel>();

                foreach (IceServer iceServer in DefaultSettings.AddDefaultIceServers)
                {
                    IceServerModel iceServerModel = new IceServerModel();
                    iceServerModel.Urls       = iceServer.Urls;
                    iceServerModel.Username   = iceServer.Username;
                    iceServerModel.Credential = iceServer.Credential;

                    iceServersList.Add(iceServerModel);
                }

                _localSettings.SerializeIceServersList(iceServersList);
            }
            else
            {
                List <IceServer> iceServersList = new List <IceServer>();

                ObservableCollection <IceServerModel> list = _localSettings.DeserializeIceServersList();

                foreach (var ice in list)
                {
                    IceServer iceServer = new IceServer();
                    iceServer.Urls       = ice.Urls;
                    iceServer.Username   = ice.Username;
                    iceServer.Credential = ice.Credential;

                    iceServersList.Add(iceServer);
                }

                _call.AddIceServers(iceServersList);
                _call.SetIceServers(iceServersList);
            }
        }
Example #3
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            ObservableCollection <IceServerModel> list = _localSettings.DeserializeIceServersList();

            if (list != null)
            {
                foreach (IceServerModel ice in list)
                {
                    _iceServersList.Add(ice);
                }
            }

            if (e.Parameter != null)
            {
                IceServerModel iceServer = (IceServerModel)e.Parameter;

                // Add new IceServer to IceServersList
                _iceServersList.Add(iceServer);

                _localSettings.SerializeIceServersList(_iceServersList);

                foreach (string url in iceServer.Urls)
                {
                    listIceServers.Items.Add(url);
                    ListUrls.Add(url);
                }

                tbUsername.Text       = iceServer.Username != null ? iceServer.Username : string.Empty;
                pbCredential.Password = iceServer.Credential != null ? iceServer.Credential : string.Empty;
                btnAdd.Visibility     = Visibility.Collapsed;
                btnSave.Visibility    = Visibility.Visible;
                btnDelete.Visibility  = Visibility.Visible;

                btnDelete.Click += (sender, args) =>
                {
                    // Remove IceServer from IceServersList
                    _iceServersList.Remove(iceServer);

                    _localSettings.SerializeIceServersList(_iceServersList);

                    Frame.Navigate(typeof(SettingsConnectionPage));
                };

                btnSave.Click += (sender, args) =>
                {
                    // Remove IceServer from IceServersList
                    _iceServersList.Remove(iceServer);

                    // Add new IceServer to IceServersList
                    _iceServersList.Add(new IceServerModel
                    {
                        Urls       = ListUrls,
                        Username   = tbUsername.Text,
                        Credential = pbCredential.Password
                    });

                    _localSettings.SerializeIceServersList(_iceServersList);

                    Frame.Navigate(typeof(SettingsConnectionPage));
                };
            }

            btnAdd.Click += (sender, args) =>
            {
                // Add new IceServer to IceServersList
                _iceServersList.Add(new IceServerModel
                {
                    Urls       = ListUrls,
                    Username   = tbUsername.Text,
                    Credential = pbCredential.Password
                });

                _localSettings.SerializeIceServersList(_iceServersList);

                Frame.Navigate(typeof(SettingsConnectionPage));
            };

            btnAddUrl.Click += (sender, args) =>
            {
                listIceServers.Items.Add(tbServerUrl.Text);

                ListUrls.Add(tbServerUrl.Text);

                tbServerUrl.Text = "";
            };
        }
Example #4
0
        private void InitView()
        {
            ObservableCollection <IceServerModel> list = _localSettings.DeserializeIceServersList();

            foreach (IceServerModel ice in list)
            {
                _iceServersList.Add(ice);
            }

            GoToMainPage.Click += (sender, args) => Frame.Navigate(typeof(MainPage));

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

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

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

            AddServer.Click += (sender, args) => Frame.Navigate(typeof(SettingsConnectionIceServerEditorPage));

            EditServer.Click += async(sender, args) =>
            {
                if (IceServersListView.SelectedIndex == -1)
                {
                    await new MessageDialog("Please select Ice Server you want to edit.").ShowAsync();
                    return;
                }

                IceServerModel iceServer = IceServersListView.SelectedItem as IceServerModel;
                if (iceServer == null)
                {
                    return;
                }

                // Remove IceServer from IceServersList
                _iceServersList.Remove(iceServer);

                _localSettings.SerializeIceServersList(_iceServersList);

                Frame.Navigate(typeof(SettingsConnectionIceServerEditorPage), iceServer);
            };

            IceServersListView.Tapped += IceServersListView_Tapped;

            RemoveServer.Click += async(sender, args) =>
            {
                if (IceServersListView.SelectedIndex == -1)
                {
                    await new MessageDialog("Please select Ice Server you want to remove.").ShowAsync();
                    return;
                }

                IceServerModel iceServer = IceServersListView.SelectedItem as IceServerModel;
                if (iceServer == null)
                {
                    return;
                }

                // Remove IceServer from IceServersList
                _iceServersList.Remove(iceServer);

                _localSettings.SerializeIceServersList(_iceServersList);
            };
        }