Пример #1
0
        private async Task SetupWifi()
        {
            Debug.WriteLine("SetupWifi start");
            if (await networkPresenter.WifiIsAvailable())
            {
                IList <WiFiAvailableNetwork> networks;
                try
                {
                    networks = await networkPresenter.GetAvailableNetworks();

                    var emptys = networks.Where(w => string.IsNullOrEmpty(w.Ssid.Trim())).ToList();
                    foreach (WiFiAvailableNetwork wn in emptys)
                    {
                        networks.Remove(wn);
                    }
                    networks = networks.OrderBy(w => w.Ssid).ToList();
                }
                catch (Exception e)
                {
                    Debug.WriteLine(String.Format("Error scanning: 0x{0:X}: {1}", e.HResult, e.Message));
                    DisconnectButtonEnabled = true;
                    NoWifiFoundText         = e.Message;
                    NoWifiFoundVisibility   = Visibility.Visible;
                    return;
                }
                Debug.WriteLine("SetupWifi networks :: " + networks.Count);
                if (networks.Count > 0)
                {
                    ConnectedNetwork = networkPresenter.GetCurrentWifiNetwork();
                    Debug.WriteLine("SetupWifi ConnectedNetwork :: " + ConnectedNetwork);
                    if (ConnectedNetwork != null)
                    {
                        networks.Remove(ConnectedNetwork);
                        networks.Insert(0, ConnectedNetwork);
                        WifiListSources = new ObservableCollection <WiFiAvailableNetwork>(networks);
                        Debug.WriteLine("SetupWifi UpdateLayout!!!!!!!!!! :: ");
                        SwitchToItemState(ConnectedNetwork, "WifiConnectedState", true);
                    }
                    else
                    {
                        WifiListSources = new ObservableCollection <WiFiAvailableNetwork>(networks);
                    }

                    DisconnectButtonEnabled = true;
                    NoWifiFoundVisibility   = Visibility.Collapsed;
                    WifiListVisibility      = Visibility.Visible;

                    return;
                }
            }

            DisconnectButtonEnabled = true;
            NoWifiFoundVisibility   = Visibility.Visible;
            WifiListVisibility      = Visibility.Collapsed;
            Debug.WriteLine("SetupWifi end");
        }