/// <summary> /// Checks the installed version vs the version that is running, and will report either a new install /// if no previous version is found, or an upgrade if a lower version is found. If the same version /// is found, nothing is reported. /// </summary> private async Task CheckInstallationStatusAsync() { await JoinableTaskFactory.SwitchToMainThreadAsync(); AnalyticsOptions settings = GeneralSettings; if (settings.InstalledVersion == null) { // This is a new installation. Debug.WriteLine("New installation detected."); EventsReporterWrapper.ReportEvent(NewInstallEvent.Create()); } else if (settings.InstalledVersion != ApplicationVersion) { // This is an upgrade (or different version installed). Debug.WriteLine($"Found new version {settings.InstalledVersion} different than current {ApplicationVersion}"); if (!Version.TryParse(ApplicationVersion, out Version current)) { Debug.WriteLine($"Invalid application version: {ApplicationVersion}"); return; } if (!Version.TryParse(settings.InstalledVersion, out Version installed)) { Debug.WriteLine($"Invalid installed version: {settings.InstalledVersion}"); return; } if (installed < current) { Debug.WriteLine($"Upgrade to version {ApplicationVersion} detected."); EventsReporterWrapper.ReportEvent(UpgradeEvent.Create()); } } else { Debug.WriteLine($"Same version {settings.InstalledVersion} detected."); } // Update the stored settings with the current version. settings.InstalledVersion = ApplicationVersion; settings.SaveSettingsToStorage(); }
/// <summary> /// Checks the installed version vs the version that is running, and will report either a new install /// if no previous version is found, or an upgrade if a lower version is found. If the same version /// is found, nothing is reported. /// </summary> private void CheckInstallationStatus() { var settings = AnalyticsSettings; if (settings.InstalledVersion == null) { // This is a new installation. Debug.WriteLine("New installation detected."); EventsReporterWrapper.ReportEvent(NewInstallEvent.Create()); } else if (settings.InstalledVersion != ApplicationVersion) { // This is an upgrade (or different version installed). Debug.WriteLine($"Found new version {settings.InstalledVersion} different than current {ApplicationVersion}"); Version current, installed; if (!Version.TryParse(ApplicationVersion, out current)) { Debug.WriteLine($"Invalid application version: {ApplicationVersion}"); return; } if (!Version.TryParse(settings.InstalledVersion, out installed)) { Debug.WriteLine($"Invalid installed version: {settings.InstalledVersion}"); return; } if (installed < current) { Debug.WriteLine($"Upgrade to version {ApplicationVersion} detected."); EventsReporterWrapper.ReportEvent(UpgradeEvent.Create()); } } else { Debug.WriteLine($"Same version {settings.InstalledVersion} detected."); } // Update the stored settings with the current version. settings.InstalledVersion = ApplicationVersion; settings.SaveSettingsToStorage(); }