async void RestoreStateAsync(ApplicationExecutionState executionState)
{
DateTime beforLoading = DateTime.UtcNow;
await Task.Delay(100);
await RestoreCatrobatStateAsync(executionState);
if (executionState == ApplicationExecutionState.Terminated)
{
await SuspensionManager.RestoreAsync();
}
var loadingDuration = DateTime.UtcNow.Subtract(beforLoading);
var timeToWait = MinimalLoadingTime.Subtract(loadingDuration);
if (timeToWait > new TimeSpan())
await Task.Delay(timeToWait);
Window.Current.Content = _rootFrame;
ServiceLocator.NavigationService = new NavigationServiceWindowsShared(_rootFrame);
if (_activationArguments.Kind == ActivationKind.Protocol)
{
ServiceLocator.NavigationService.NavigateTo<UploadProgramNewPasswordViewModel>();
}
else
{
ServiceLocator.NavigationService.NavigateTo<MainViewModel>();
}
}