internal NetworkDisabledState GetNetworkAvailabilityState()
{
if (!this.networkState.HasFlag(NetworkState.Connected))
{
return NetworkDisabledState.NoConnection;
}
if (!this.networkState.HasFlag(NetworkState.IsCellular))
{
return NetworkDisabledState.Ok;
}
if (this.networkState.HasFlag(NetworkState.Roaming))
{
return NetworkDisabledState.CannotUseRoaming;
}
if (!DownloadsDatabase.Flags.HasFlag(ServiceFlags.FlagsDownloadOverCellular))
{
return NetworkDisabledState.TypeDisallowedByRequestor;
}
return NetworkDisabledState.Ok;
}