public async Task InitializeAsync() { HasNavigated = false; if (_firstLoad) { NewCardsEnabled = false; _firstLoad = false; NewCardsText = "Checking for updates..."; await Task.Delay(1000); await _cardsService.CheckForUpdatesAsync(); await CheckForNewCardsAsync(); NewCardsEnabled = true; } }
public async Task CheckForUpdate(bool invalidateCache = true) { var activeVersion = Settings.ActiveCardDataVersion ?? Info.Current.CardDataVersion; ResetAvailable = activeVersion != Info.Current.CardDataVersion; RaisePropertyChanged(nameof(ActiveCardDataVersion)); try { if (_latestInfo == null || invalidateCache) { _latestInfo = await _cardsService.CheckForUpdatesAsync(); } CardDataUpdateAvailable = _latestInfo.CardDataVersion > activeVersion; UpdateAvailableText = CardDataUpdateAvailable ? $"Newer card data v{_latestInfo.CardDataVersion} available" : ""; if (CardDataUpdateAvailable && _latestInfo.CardDataStatus == DragonFrontDb.Enums.DataStatus.PREVIEW) { UpdateAvailableText += " - PREVIEW"; } } catch (Exception) { //TODO:Log } }