mirror of
https://github.com/Tyrrrz/DiscordChatExporter.git
synced 2024-09-18 19:58:45 -04:00
Clean up platform checks in update service
This commit is contained in:
parent
8380e88744
commit
3b3423dd9b
2 changed files with 24 additions and 17 deletions
|
@ -26,7 +26,7 @@
|
|||
<PackageReference Include="Material.Avalonia" Version="3.6.0" />
|
||||
<PackageReference Include="Material.Icons.Avalonia" Version="2.1.9" />
|
||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" />
|
||||
<PackageReference Include="Onova" Version="2.6.11" />
|
||||
<PackageReference Include="Onova" Version="2.6.12" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -9,18 +9,20 @@ namespace DiscordChatExporter.Gui.Services;
|
|||
|
||||
public class UpdateService(SettingsService settingsService) : IDisposable
|
||||
{
|
||||
private readonly IUpdateManager _updateManager = new UpdateManager(
|
||||
new GithubPackageResolver(
|
||||
"Tyrrrz",
|
||||
"DiscordChatExporter",
|
||||
// Examples:
|
||||
// DiscordChatExporter.win-arm64.zip
|
||||
// DiscordChatExporter.win-x64.zip
|
||||
// DiscordChatExporter.linux-x64.zip
|
||||
$"DiscordChatExporter.{RuntimeInformation.RuntimeIdentifier}.zip"
|
||||
),
|
||||
new ZipPackageExtractor()
|
||||
);
|
||||
private readonly IUpdateManager? _updateManager = OperatingSystem.IsWindows()
|
||||
? new UpdateManager(
|
||||
new GithubPackageResolver(
|
||||
"Tyrrrz",
|
||||
"DiscordChatExporter",
|
||||
// Examples:
|
||||
// DiscordChatExporter.win-arm64.zip
|
||||
// DiscordChatExporter.win-x64.zip
|
||||
// DiscordChatExporter.linux-x64.zip
|
||||
$"DiscordChatExporter.{RuntimeInformation.RuntimeIdentifier}.zip"
|
||||
),
|
||||
new ZipPackageExtractor()
|
||||
)
|
||||
: null;
|
||||
|
||||
private Version? _updateVersion;
|
||||
private bool _updatePrepared;
|
||||
|
@ -28,6 +30,9 @@ public class UpdateService(SettingsService settingsService) : IDisposable
|
|||
|
||||
public async ValueTask<Version?> CheckForUpdatesAsync()
|
||||
{
|
||||
if (_updateManager is null)
|
||||
return null;
|
||||
|
||||
if (!settingsService.IsAutoUpdateEnabled)
|
||||
return null;
|
||||
|
||||
|
@ -37,6 +42,9 @@ public class UpdateService(SettingsService settingsService) : IDisposable
|
|||
|
||||
public async ValueTask PrepareUpdateAsync(Version version)
|
||||
{
|
||||
if (_updateManager is null)
|
||||
return;
|
||||
|
||||
if (!settingsService.IsAutoUpdateEnabled)
|
||||
return;
|
||||
|
||||
|
@ -57,11 +65,10 @@ public class UpdateService(SettingsService settingsService) : IDisposable
|
|||
|
||||
public void FinalizeUpdate(bool needRestart)
|
||||
{
|
||||
if (!settingsService.IsAutoUpdateEnabled)
|
||||
if (_updateManager is null)
|
||||
return;
|
||||
|
||||
// Onova only works on Windows currently
|
||||
if (!OperatingSystem.IsWindows())
|
||||
if (!settingsService.IsAutoUpdateEnabled)
|
||||
return;
|
||||
|
||||
if (_updateVersion is null || !_updatePrepared || _updaterLaunched)
|
||||
|
@ -82,5 +89,5 @@ public class UpdateService(SettingsService settingsService) : IDisposable
|
|||
}
|
||||
}
|
||||
|
||||
public void Dispose() => _updateManager.Dispose();
|
||||
public void Dispose() => _updateManager?.Dispose();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue