AcManager.Tools.Data.BaseUpdater.RestartPeriodicCheck C# (CSharp) Method

RestartPeriodicCheck() protected method

protected RestartPeriodicCheck ( ) : void
return void
        protected void RestartPeriodicCheck() {
            if (_periodicCheckCancellation != null) {
                _periodicCheckCancellation.Cancel();
                _periodicCheckCancellation = null;
            }

            var oldValue = UpdatePeriod;
            UpdatePeriod = GetUpdatePeriod();
            if (oldValue == TimeSpan.Zero && UpdatePeriod != TimeSpan.Zero) {
                CheckAndUpdateIfNeeded().Forget();
            }

            if (UpdatePeriod == TimeSpan.Zero) return;
            _periodicCheckCancellation = new CancellationTokenSource();
            PeriodicCheckAsync(_periodicCheckCancellation.Token).Forget();
        }