public static Task PushAsync(PopupPage page, bool animate = true)
{
var task = new TaskCompletionSource<bool>();
if (animate)
{
page.PreparingAnimation();
page.ExecuteWhenAppearingOnce(async () =>
{
await page.AppearingAnimation();
task.TrySetResult(true);
});
}
DependencyService.Get<IPopupNavigation>().AddPopup(page);
_popupStack.Add(page);
if (!animate) task.TrySetResult(true);
return task.Task;
}