diff --git a/Directory.Packages.props b/Directory.Packages.props
index eabda4151d..c77a8898fc 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -108,7 +108,7 @@
-
+
diff --git a/src/settings-ui/Settings.UI/Activation/ActivationHandler.cs b/src/settings-ui/Settings.UI/Activation/ActivationHandler.cs
deleted file mode 100644
index aabe2aff53..0000000000
--- a/src/settings-ui/Settings.UI/Activation/ActivationHandler.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright (c) Microsoft Corporation
-// The Microsoft Corporation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.Diagnostics.CodeAnalysis;
-using System.Threading.Tasks;
-
-namespace Microsoft.PowerToys.Settings.UI.Activation
-{
- // For more information on understanding and extending activation flow see
- // https://github.com/Microsoft/WindowsTemplateStudio/blob/master/docs/activation.md
- internal abstract class ActivationHandler
- {
- public abstract bool CanHandle(object args);
-
- public abstract Task HandleAsync(object args);
- }
-
- [SuppressMessage("StyleCop.CSharp.MaintainabilityRules", "SA1402:File may only contain a single type", Justification = "abstract T and abstract")]
- internal abstract class ActivationHandler : ActivationHandler
- where T : class
- {
- public override async Task HandleAsync(object args)
- {
- await HandleInternalAsync(args as T).ConfigureAwait(false);
- }
-
- public override bool CanHandle(object args)
- {
- // CanHandle checks the args is of type you have configured
- return args is T && CanHandleInternal(args as T);
- }
-
- // Override this method to add the activation logic in your activation handler
- protected abstract Task HandleInternalAsync(T args);
-
- // You can override this method to add extra validation on activation args
- // to determine if your ActivationHandler should handle this activation args
- protected virtual bool CanHandleInternal(T args)
- {
- return true;
- }
- }
-}
diff --git a/src/settings-ui/Settings.UI/Activation/DefaultActivationHandler.cs b/src/settings-ui/Settings.UI/Activation/DefaultActivationHandler.cs
deleted file mode 100644
index 946fab205c..0000000000
--- a/src/settings-ui/Settings.UI/Activation/DefaultActivationHandler.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright (c) Microsoft Corporation
-// The Microsoft Corporation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System;
-using System.Threading.Tasks;
-
-using Microsoft.PowerToys.Settings.UI.Services;
-using Windows.ApplicationModel.Activation;
-
-namespace Microsoft.PowerToys.Settings.UI.Activation
-{
- internal sealed class DefaultActivationHandler : ActivationHandler
- {
- private readonly Type navElement;
-
- public DefaultActivationHandler(Type navElement)
- {
- this.navElement = navElement;
- }
-
- protected override async Task HandleInternalAsync(IActivatedEventArgs args)
- {
- // When the navigation stack isn't restored, navigate to the first page and configure
- // the new page by passing required information in the navigation parameter
- object arguments = null;
- if (args is LaunchActivatedEventArgs launchArgs)
- {
- arguments = launchArgs.Arguments;
- }
-
- NavigationService.Navigate(navElement, arguments);
- await Task.CompletedTask.ConfigureAwait(false);
- }
-
- protected override bool CanHandleInternal(IActivatedEventArgs args)
- {
- // None of the ActivationHandlers has handled the app activation
- return NavigationService.Frame.Content == null && navElement != null;
- }
- }
-}
diff --git a/src/settings-ui/Settings.UI/Services/ActivationService.cs b/src/settings-ui/Settings.UI/Services/ActivationService.cs
deleted file mode 100644
index 86ad2e4d7c..0000000000
--- a/src/settings-ui/Settings.UI/Services/ActivationService.cs
+++ /dev/null
@@ -1,106 +0,0 @@
-// Copyright (c) Microsoft Corporation
-// The Microsoft Corporation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
-
-using Microsoft.PowerToys.Settings.UI.Activation;
-using Microsoft.UI.Xaml;
-using Microsoft.UI.Xaml.Controls;
-using Windows.ApplicationModel.Activation;
-
-namespace Microsoft.PowerToys.Settings.UI.Services
-{
- // For more information on understanding and extending activation flow see
- // https://github.com/Microsoft/WindowsTemplateStudio/blob/master/docs/activation.md
- internal sealed class ActivationService
- {
- private readonly App app;
- private readonly Type defaultNavItem;
- private Lazy shell;
-
- private object lastActivationArgs;
-
- public ActivationService(App app, Type defaultNavItem, Lazy shell = null)
- {
- this.app = app;
- this.shell = shell;
- this.defaultNavItem = defaultNavItem;
- }
-
- public async Task ActivateAsync(object activationArgs)
- {
- if (IsInteractive(activationArgs))
- {
- // Initialize services that you need before app activation
- // take into account that the splash screen is shown while this code runs.
- await InitializeAsync().ConfigureAwait(false);
-
- // Do not repeat app initialization when the Window already has content,
- // just ensure that the window is active
- if (Window.Current.Content == null)
- {
- // Create a Shell or Frame to act as the navigation context
- Window.Current.Content = shell?.Value ?? new Frame();
- }
- }
-
- // Depending on activationArgs one of ActivationHandlers or DefaultActivationHandler
- // will navigate to the first page
- await HandleActivationAsync(activationArgs).ConfigureAwait(false);
- lastActivationArgs = activationArgs;
-
- if (IsInteractive(activationArgs))
- {
- // Ensure the current window is active
- Window.Current.Activate();
-
- // Tasks after activation
- await StartupAsync().ConfigureAwait(false);
- }
- }
-
- private static async Task InitializeAsync()
- {
- await Task.CompletedTask.ConfigureAwait(false);
- }
-
- private async Task HandleActivationAsync(object activationArgs)
- {
- var activationHandler = GetActivationHandlers()
- .FirstOrDefault(h => h.CanHandle(activationArgs));
-
- if (activationHandler != null)
- {
- await activationHandler.HandleAsync(activationArgs).ConfigureAwait(false);
- }
-
- if (IsInteractive(activationArgs))
- {
- var defaultHandler = new DefaultActivationHandler(defaultNavItem);
- if (defaultHandler.CanHandle(activationArgs))
- {
- await defaultHandler.HandleAsync(activationArgs).ConfigureAwait(false);
- }
- }
- }
-
- private static async Task StartupAsync()
- {
- await Task.CompletedTask.ConfigureAwait(false);
- }
-
- private static IEnumerable GetActivationHandlers()
- {
- yield break;
- }
-
- private static bool IsInteractive(object args)
- {
- return args is IActivatedEventArgs;
- }
- }
-}
diff --git a/src/settings-ui/Settings.UI/Services/NavigationService.cs b/src/settings-ui/Settings.UI/Services/NavigationService.cs
index b70976bd01..d7c408208b 100644
--- a/src/settings-ui/Settings.UI/Services/NavigationService.cs
+++ b/src/settings-ui/Settings.UI/Services/NavigationService.cs
@@ -24,12 +24,6 @@ namespace Microsoft.PowerToys.Settings.UI.Services
{
get
{
- if (frame == null)
- {
- frame = Window.Current.Content as Frame;
- RegisterFrameEvents();
- }
-
return frame;
}