private void UpdateConnected(bool triggerChange = true) { var remoteHostStatus = Reachability.RemoteHostStatus(); var internetStatus = Reachability.InternetConnectionStatus(); var localWifiStatus = Reachability.LocalWifiConnectionStatus(); var previouslyConnected = isConnected; isConnected = internetStatus == NetworkStatus.ReachableViaWiFiNetwork || localWifiStatus == NetworkStatus.ReachableViaWiFiNetwork || remoteHostStatus == NetworkStatus.ReachableViaWiFiNetwork; if (triggerChange && (previouslyConnected != isConnected || previousInternetStatus != internetStatus)) { OnConnectivityChanged(new ConnectivityChangedEventArgs { IsConnected = isConnected }); } previousInternetStatus = internetStatus; }