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

CheckAndUpdateIfNeeded() public method

public CheckAndUpdateIfNeeded ( ) : Task
return Task
        public virtual async Task CheckAndUpdateIfNeeded() {
            if (_checkingInProcess) return;
            _checkingInProcess = true;
            _checkAndUpdateIfNeededCommand?.RaiseCanExecuteChanged();

            LatestError = null;

            await Task.Delay(500);

            try {
                if (await CheckAndUpdateIfNeededInner()) {
                    OnUpdated();
                }
            } catch (InformativeException e) {
                LatestError = e.ToSingleString();
            } catch (Exception e) {
                LatestError = ToolsStrings.Common_UnhandledError_Commentary;
                Logging.Warning(e);
            } finally {
                _checkingInProcess = false;
                _checkAndUpdateIfNeededCommand?.RaiseCanExecuteChanged();
            }
        }