From c1dcd52a28f603f4adabd6e9be4296d58d840c37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Burak=20Kaan=20K=C3=B6se?= Date: Thu, 12 Sep 2024 00:08:31 +0200 Subject: [PATCH] Don't crash when StartupTask is not present. --- .../Services/StartupBehaviorService.cs | 35 ++++++++++++++----- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/Wino.Core.UWP/Services/StartupBehaviorService.cs b/Wino.Core.UWP/Services/StartupBehaviorService.cs index e889b21f..8eb16c60 100644 --- a/Wino.Core.UWP/Services/StartupBehaviorService.cs +++ b/Wino.Core.UWP/Services/StartupBehaviorService.cs @@ -1,5 +1,6 @@ using System; using System.Threading.Tasks; +using Serilog; using Windows.ApplicationModel; using Wino.Core.Domain.Enums; using Wino.Core.Domain.Interfaces; @@ -13,15 +14,23 @@ namespace Wino.Core.UWP.Services public async Task ToggleStartupBehavior(bool isEnabled) { - var task = await StartupTask.GetAsync(WinoServerTaskId); + try + { + var task = await StartupTask.GetAsync(WinoServerTaskId); - if (isEnabled) - { - await task.RequestEnableAsync(); + if (isEnabled) + { + await task.RequestEnableAsync(); + } + else + { + task.Disable(); + } } - else + catch (Exception) { - task.Disable(); + Log.Error("Error toggling startup behavior"); + } return await GetCurrentStartupBehaviorAsync(); @@ -29,9 +38,19 @@ namespace Wino.Core.UWP.Services public async Task GetCurrentStartupBehaviorAsync() { - var task = await StartupTask.GetAsync(WinoServerTaskId); + try + { + var task = await StartupTask.GetAsync(WinoServerTaskId); - return task.State.AsStartupBehaviorResult(); + return task.State.AsStartupBehaviorResult(); + + } + catch (Exception ex) + { + Log.Error(ex, "Error getting startup behavior"); + + return StartupBehaviorResult.Fatal; + } } } }