using System;
using System.Collections.Generic;
-using System.Linq;
-using System.Text;
using System.Threading.Tasks;
namespace Oobe.Wifi.Controls.Wifi
{
- public struct WifiInfo
- {
- public string Essid { get; set; }
- }
-
internal class WifiState
{
public event Action OnTurningOnFailed;
}
}
- //asyncEnumerable is useless here while tizen api doesn't support it
- public async IAsyncEnumerable<WifiInfo> Scan()
+ public async Task<IEnumerable<Tizen.Network.WiFi.WiFiAP>> Scan()
{
OnScanStarted?.Invoke();
- foreach (var item in Enumerable.Range(1, 6))
- {
- await Task.Delay(1_000);
- yield return new WifiInfo { Essid = $"Wi-Fi_{item}" };
- }
await Tizen.Network.WiFi.WiFiManager.ScanAsync();
OnScanFinished?.Invoke();
+ return Tizen.Network.WiFi.WiFiManager.GetFoundAPs();
}
}
}
return manualWifi;
}
- private static View CreateWifiView(WifiInfo wifiInfo)
+ private static View CreateWifiView(Tizen.Network.WiFi.WiFiAP wifiAp)
{
var wifi = new View()
{
BackgroundImage = System.IO.Path.Combine(NUIApplication.Current.DirectoryInfo.Resource, "12_icon_wifi.svg"),
});
- wifi.Add(new TextLabel(wifiInfo.Essid)
+ wifi.Add(new TextLabel(wifiAp.NetworkInformation.Essid)
{
Position = new Position(78, 28),
PixelSize = 20f,
scan.ClickEvent += async (s, e) =>
{
scan.IsEnabled = false;
- await foreach(var item in State.Scan())
+ foreach(var item in await State.Scan())
{
items.Add(CreateWifiView(item));
}