ExpansionDownloader.Service.DownloaderService.UpdateNetworkState C# (CSharp) Method

UpdateNetworkState() private method

The update network state.
private UpdateNetworkState ( NetworkInfo info ) : void
info NetworkInfo /// The info. ///
return void
        private void UpdateNetworkState(NetworkInfo info)
        {
            NetworkState tempState = this.networkState;

            this.networkState = NetworkState.Disconnected;

            if (info != null && info.IsConnected)
            {
                this.networkState = NetworkState.Connected;

                if (info.IsRoaming)
                {
                    this.networkState |= NetworkState.Roaming;
                }

                if (info.IsFailover)
                {
                    this.networkState |= NetworkState.IsFailOver;
                }

                this.networkState |= this.GetNetworkState(info);
            }

            this.stateChanged = this.stateChanged || this.networkState != tempState;

            if (this.stateChanged)
            {
                Log.Debug(Tag,"LVLDL Network state changed: ");
                Log.Debug(Tag,"LVLDL Starting State: {0}", tempState);
                Log.Debug(Tag,"LVLDL Ending State: {0}", this.networkState);

                if (this.IsServiceRunning)
                {
                    if (this.networkState.HasFlag(NetworkState.Roaming))
                    {
                        this.Status = ExpansionDownloadStatus.WaitingForNetwork;
                        this.Control = ControlAction.Paused;
                    }
                    else if (this.networkState.HasFlag(NetworkState.IsCellular))
                    {
                        ServiceFlags flags = DownloadsDatabase.Flags;
                        if (!flags.HasFlag(ServiceFlags.FlagsDownloadOverCellular))
                        {
                            this.Status = ExpansionDownloadStatus.QueuedForWifi;
                            this.Control = ControlAction.Paused;
                        }
                    }
                }
            }
        }