SEBWIN-788: Improved network adapter implementation.
This commit is contained in:
		
							parent
							
								
									04dce13d86
								
							
						
					
					
						commit
						471e69d460
					
				
					 1 changed files with 30 additions and 26 deletions
				
			
		|  | @ -255,7 +255,7 @@ namespace SafeExamBrowser.SystemComponents.Network | |||
| 
 | ||||
| 		private void NetworkChange_NetworkAvailabilityChanged(object sender, NetworkAvailabilityEventArgs e) | ||||
| 		{ | ||||
| 			logger.Debug($"Network availability changed ({(e.IsAvailable ? "available" : "unavailable")}."); | ||||
| 			logger.Debug($"Network availability changed ({(e.IsAvailable ? "available" : "unavailable")})."); | ||||
| 			Update(); | ||||
| 		} | ||||
| 
 | ||||
|  | @ -317,28 +317,27 @@ namespace SafeExamBrowser.SystemComponents.Network | |||
| 		{ | ||||
| 			try | ||||
| 			{ | ||||
| 				lock (@lock) | ||||
| 				{ | ||||
| 				var currentNetwork = default(WirelessNetwork); | ||||
| 				var hasConnection = nativeMethods.HasInternetConnection(); | ||||
| 				var isConnecting = Status == ConnectionStatus.Connecting; | ||||
| 				var networks = new List<WirelessNetwork>(); | ||||
| 				var previousStatus = Status; | ||||
| 
 | ||||
| 					wirelessNetworks.Clear(); | ||||
| 
 | ||||
| 				if (HasWirelessAdapter) | ||||
| 				{ | ||||
| 						hasConnection &= TryGetCurrentWirelessNetwork(out var currentNetwork); | ||||
| 					hasConnection &= TryGetCurrentWirelessNetwork(out var current); | ||||
| 
 | ||||
| 					foreach (var network in adapter.NetworkReport.AvailableNetworks.FilterAndOrder()) | ||||
| 					{ | ||||
| 						var wirelessNetwork = network.ToWirelessNetwork(); | ||||
| 
 | ||||
| 							if (network.Ssid == currentNetwork) | ||||
| 						if (network.Ssid == current) | ||||
| 						{ | ||||
| 							currentNetwork = wirelessNetwork; | ||||
| 							wirelessNetwork.Status = ConnectionStatus.Connected; | ||||
| 						} | ||||
| 
 | ||||
| 							wirelessNetworks.Add(wirelessNetwork); | ||||
| 						networks.Add(wirelessNetwork); | ||||
| 					} | ||||
| 
 | ||||
| 					if (rescan) | ||||
|  | @ -347,11 +346,16 @@ namespace SafeExamBrowser.SystemComponents.Network | |||
| 					} | ||||
| 				} | ||||
| 
 | ||||
| 				lock (@lock) | ||||
| 				{ | ||||
| 					wirelessNetworks.Clear(); | ||||
| 					wirelessNetworks.AddRange(networks); | ||||
| 				} | ||||
| 
 | ||||
| 				Type = HasWirelessAdapter ? ConnectionType.Wireless : (hasConnection ? ConnectionType.Wired : ConnectionType.Undefined); | ||||
| 				Status = hasConnection ? ConnectionStatus.Connected : (isConnecting ? ConnectionStatus.Connecting : ConnectionStatus.Disconnected); | ||||
| 
 | ||||
| 					LogNetworkChanges(previousStatus, wirelessNetworks.FirstOrDefault(n => n.Status == ConnectionStatus.Connected)); | ||||
| 				} | ||||
| 				LogNetworkChanges(previousStatus, currentNetwork); | ||||
| 			} | ||||
| 			catch (Exception e) | ||||
| 			{ | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Damian Büchel
						Damian Büchel