Ejemplo n.º 1
0
        public void ReturnToPreviousScreen()
        {
            if (isTransitioningScreens || !previousScreen || (appMenu && appMenu.BeganValidDrag) || previousScreen == splashScreen)
            {
                return;
            }

            isTransitioningScreens = true;

            backButton.ResetColor();

            Sequence hideSequence = currentScreen.HideReversed();
            Sequence showSequence = previousScreen.Show();

            navigationHistory.Pop();
            currentScreen = navigationHistory.Peek();
            navigationHistory.Pop();
            previousScreen = navigationHistory.Peek();
            navigationHistory.Push(currentScreen);

            showSequence.OnComplete(() => { isTransitioningScreens = false; });

            CheckAppMenuAvailability(hideSequence);
            CheckBackHeaderAvailability(showSequence, hideSequence);
            CheckAppHeaderAvailability(showSequence, hideSequence);
            CheckAppFooterAvailability(showSequence, hideSequence);
        }