Beispiel #1
0
        public void SetOptions(ConnectivityManagerOptions options)
        {
            Options = options ?? throw new InvalidOperationException("Please set valid options.");

            Timer = _timerFactory.Create(new TaskReference(IsNetworkAvailableInternalAsync), Options.TimerInterval);

            TaskDeferral = new TaskDeferral <bool>();
        }
Beispiel #2
0
        protected BaseInternetConnectionManager(ILogManager manager, IConnectivity connectivity, ITimerFactory timerFactory)
        {
            _connectivityPlugin = connectivity;
            _timerFactory       = timerFactory;

            TaskDeferral = new TaskDeferral <bool>();

            Logger = manager.GetLogger <BaseInternetConnectionManager>();
            SetOptions(new ConnectivityManagerOptions("www.google.com"));
        }
        protected override Task <bool> IsNetworkAvailableInternalAsync()
        {
            return(TaskDeferral.DoWorkAsync(async() =>
            {
                var state = CrossConnectivity.Current.IsConnected && await CheckConnectionAsync().ConfigureAwait(false);

                TryToUpdateInternetResult(state);

                return IsInternetConnectionAvailable == true;
            }));
        }
Beispiel #4
0
        protected override Task <bool> IsNetworkAvailableInternalAsync()
        {
            return(TaskDeferral.DoWorkAsync(async() =>
            {
                var isHostReachable = await IsHostReachableAsync().ConfigureAwait(false);

                UpdateIsInternetConnectionAvailable(isHostReachable);

                return IsInternetConnectionAvailable == true;
            }));
        }