|
@@ -83,8 +83,8 @@ namespace Vinno.FIS.Sonopost.Managers
|
|
|
_deviceManager = AppManager.Instance.GetManager<IDeviceManager>();
|
|
|
_deviceManager.WifiModuleInserted += OnWifiModuleInserted;
|
|
|
_deviceManager.NetworkAddressChanged += OnNetworkAddressChanged;
|
|
|
- RefreshAllNetworks();
|
|
|
- _timingRefreshInterval = 10;
|
|
|
+ RefreshAllNetworks(true);
|
|
|
+ _timingRefreshInterval = 15;
|
|
|
StartTimerRefreshTask();
|
|
|
AutoReconnectWifi(false);
|
|
|
}
|
|
@@ -99,6 +99,10 @@ namespace Vinno.FIS.Sonopost.Managers
|
|
|
|
|
|
private void AutoReconnectWifi(bool needRefresh)
|
|
|
{
|
|
|
+ if (needRefresh)
|
|
|
+ {
|
|
|
+ RefreshAllNetworks(true);
|
|
|
+ }
|
|
|
var isAutoConnect = SonopostUserDefinedSettings.Instance.NetworkSetting.IsAutoConnect;
|
|
|
var wifiName = SonopostUserDefinedSettings.Instance.NetworkSetting.WifiName;
|
|
|
var wifiPassword = DesBuilder.Decrypt(SonopostUserDefinedSettings.Instance.NetworkSetting.WifiPassword);
|
|
@@ -106,10 +110,6 @@ namespace Vinno.FIS.Sonopost.Managers
|
|
|
Logger.WriteLineInfo($"Network Manager Auto Conncect Wifi :{isAutoConnect},MacAddress:{wifiMacAddress}");
|
|
|
if (!string.IsNullOrWhiteSpace(wifiMacAddress) && isAutoConnect)
|
|
|
{
|
|
|
- if (needRefresh)
|
|
|
- {
|
|
|
- RefreshAllNetworks();
|
|
|
- }
|
|
|
var wifiInfo = GetAllNetworkInterfaceInfos().FirstOrDefault(x => x.NetworkInterfaceType == NetworkInterfaceType.Wireless80211 && x.MacAddress == wifiMacAddress);
|
|
|
if (wifiInfo == null)
|
|
|
{
|
|
@@ -146,11 +146,11 @@ namespace Vinno.FIS.Sonopost.Managers
|
|
|
{
|
|
|
lock (_networkAddresslocker)
|
|
|
{
|
|
|
- RefreshAllNetworks();
|
|
|
+ RefreshAllNetworks(false);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public void RefreshAllNetworks()
|
|
|
+ public void RefreshAllNetworks(bool wlanReScan)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
@@ -184,7 +184,7 @@ namespace Vinno.FIS.Sonopost.Managers
|
|
|
}
|
|
|
else if (network.NetworkInterfaceType == NetworkInterfaceType.Wireless80211)
|
|
|
{
|
|
|
- var wirelessInterfaceInfo = new WirelessNetworkInterfaceInfo(network);
|
|
|
+ var wirelessInterfaceInfo = new WirelessNetworkInterfaceInfo(network, wlanReScan);
|
|
|
_networkInterfaceInfos.Add(wirelessInterfaceInfo);
|
|
|
}
|
|
|
}
|
|
@@ -192,6 +192,10 @@ namespace Vinno.FIS.Sonopost.Managers
|
|
|
{
|
|
|
_currentNetworkInterfaces = _networkInterfaceInfos.ToList();
|
|
|
}
|
|
|
+ if (wlanReScan)
|
|
|
+ {
|
|
|
+ Thread.Sleep(3000);//扫描网络会卡顿3秒左右
|
|
|
+ }
|
|
|
SetCurrentNetwork();
|
|
|
}
|
|
|
catch (Exception ex)
|
|
@@ -585,7 +589,7 @@ namespace Vinno.FIS.Sonopost.Managers
|
|
|
{
|
|
|
lock (_networkAddresslocker)
|
|
|
{
|
|
|
- RefreshAllNetworks();
|
|
|
+ RefreshAllNetworks(false);
|
|
|
}
|
|
|
}
|
|
|
if (CurrentNetwork is WirelessNetworkInterfaceInfo wireless)
|