2020-04-07 10:19:14 -07:00
|
|
|
|
// 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.
|
2020-03-11 10:43:32 -07:00
|
|
|
|
|
2020-04-07 10:19:14 -07:00
|
|
|
|
using System;
|
|
|
|
|
|
using System.Threading.Tasks;
|
2020-03-11 10:43:32 -07:00
|
|
|
|
using Microsoft.PowerToys.Settings.UI.Services;
|
|
|
|
|
|
using Windows.ApplicationModel.Activation;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Microsoft.PowerToys.Settings.UI.Activation
|
|
|
|
|
|
{
|
2023-03-16 15:51:31 +01:00
|
|
|
|
internal sealed class DefaultActivationHandler : ActivationHandler<IActivatedEventArgs>
|
2020-03-11 10:43:32 -07:00
|
|
|
|
{
|
2020-04-07 10:19:14 -07:00
|
|
|
|
private readonly Type navElement;
|
2020-03-11 10:43:32 -07:00
|
|
|
|
|
|
|
|
|
|
public DefaultActivationHandler(Type navElement)
|
|
|
|
|
|
{
|
2020-04-07 10:19:14 -07:00
|
|
|
|
this.navElement = navElement;
|
2020-03-11 10:43:32 -07:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2020-04-10 15:22:07 -07:00
|
|
|
|
NavigationService.Navigate(navElement, arguments);
|
2020-10-29 14:24:16 -07:00
|
|
|
|
await Task.CompletedTask.ConfigureAwait(false);
|
2020-03-11 10:43:32 -07:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected override bool CanHandleInternal(IActivatedEventArgs args)
|
|
|
|
|
|
{
|
|
|
|
|
|
// None of the ActivationHandlers has handled the app activation
|
2020-04-10 15:22:07 -07:00
|
|
|
|
return NavigationService.Frame.Content == null && navElement != null;
|
2020-03-11 10:43:32 -07:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|