From 44117667573f81e2ef6a22d39bf60633f59fb23c Mon Sep 17 00:00:00 2001 From: HMZ Date: Tue, 1 Jun 2021 18:17:19 +0300 Subject: [PATCH] Fix a possible exception when a "choice" key wasn't found in the toast arguments. --- .../NetStalker/ToastNotifications/NotificationChoice.cs | 1 + NetStalker/NetStalker/ToastNotifications/ToastAPI.cs | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/NetStalker/NetStalker/ToastNotifications/NotificationChoice.cs b/NetStalker/NetStalker/ToastNotifications/NotificationChoice.cs index 54ca260..58469e0 100644 --- a/NetStalker/NetStalker/ToastNotifications/NotificationChoice.cs +++ b/NetStalker/NetStalker/ToastNotifications/NotificationChoice.cs @@ -13,5 +13,6 @@ public enum NotificationChoice Show, Block, Suppress, + None } } diff --git a/NetStalker/NetStalker/ToastNotifications/ToastAPI.cs b/NetStalker/NetStalker/ToastNotifications/ToastAPI.cs index ead64b7..9a9e804 100644 --- a/NetStalker/NetStalker/ToastNotifications/ToastAPI.cs +++ b/NetStalker/NetStalker/ToastNotifications/ToastAPI.cs @@ -86,11 +86,18 @@ private async static void Notifications_OnActivated(ToastNotificationActivatedEv return; } - if (!Enum.TryParse(args["Choice"], out NotificationChoice NotificationChoice)) + if (!args.Contains("Choice")) { return; //No choice to select then no action required e.g. body tapped } + NotificationChoice NotificationChoice = NotificationChoice.None; + + if (!Enum.TryParse(args["Choice"], out NotificationChoice)) + { + return; //No valid choice, we return + } + switch (Enum.Parse(typeof(NotificationPurpose), args["Action"])) { case NotificationPurpose.NotificationsSuppression: