mirror of
https://github.com/achiez/NebulaAuth-Steam-Desktop-Authenticator-by-Achies.git
synced 2026-07-25 06:14:31 +00:00
83 lines
2.0 KiB
C#
83 lines
2.0 KiB
C#
using AutoUpdaterDotNET;
|
|
using MaterialDesignThemes.Wpf;
|
|
using NebulaAuth.Model;
|
|
using NebulaAuth.View;
|
|
using NebulaAuth.ViewModel.Other;
|
|
using System;
|
|
using System.IO;
|
|
using System.Net;
|
|
using System.Windows.Forms;
|
|
using System.Windows.Threading;
|
|
using Application = System.Windows.Application;
|
|
|
|
|
|
namespace NebulaAuth.Core;
|
|
|
|
public static class UpdateManager
|
|
{
|
|
private const string UPDATE_URL = "https://raw.githubusercontent.com/achiez/NebulaAuth-Steam-Desktop-Authenticator-by-Achies/master/NebulaAuth/update.xml";
|
|
public static void CheckForUpdates()
|
|
{
|
|
string jsonPath = Path.Combine(Environment.CurrentDirectory, "update-settings.json");
|
|
AutoUpdater.PersistenceProvider = new JsonFilePersistenceProvider(jsonPath);
|
|
AutoUpdater.ShowSkipButton = false;
|
|
if (Settings.Instance.AllowAutoUpdate)
|
|
AutoUpdater.UpdateMode = Mode.ForcedDownload;
|
|
AutoUpdater.Start(UPDATE_URL);
|
|
|
|
|
|
}
|
|
|
|
|
|
static UpdateManager()
|
|
{
|
|
//AutoUpdater.CheckForUpdateEvent += AutoUpdaterOnCheckForUpdateEvent;
|
|
|
|
}
|
|
|
|
private static async void AutoUpdaterOnCheckForUpdateEvent(UpdateInfoEventArgs args)
|
|
{
|
|
if (args.Error == null)
|
|
{
|
|
if (args.IsUpdateAvailable)
|
|
{
|
|
DialogResult dialogResult;
|
|
var dialog = new UpdaterView()
|
|
{
|
|
DataContext = new UpdaterVM(args)
|
|
};
|
|
|
|
await DialogHost.Show(dialog);
|
|
Application.Current.Shutdown();
|
|
|
|
}
|
|
else
|
|
{
|
|
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (args.Error is WebException)
|
|
{
|
|
|
|
}
|
|
else
|
|
{
|
|
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
private static void RunUpdate(UpdateInfoEventArgs args)
|
|
{
|
|
Application.Current.Dispatcher.Invoke(() =>
|
|
{
|
|
if (AutoUpdater.DownloadUpdate(args))
|
|
{
|
|
Application.Current.Shutdown();
|
|
}
|
|
}, DispatcherPriority.ContextIdle);
|
|
}
|
|
} |