Example #1
0
        public void OpenReloginPage(ReloginPage reloginPage)
        {
            rootPage = null;

            NavPage = new BybNavigationPage(reloginPage);
            App.Current.MainPage = NavPage;
        }
Example #2
0
        public async Task ShowReloginPage()
        {
            if (this.reloginPage != null)
            {
                return; // the reloginPage is already open
            }
            if (timeLastOpenedReloginPage != null && (DateTime.UtcNow - timeLastOpenedReloginPage.Value).TotalMinutes < 1)
            {
                return; // already showed the reloginPage recently
            }
            timeLastOpenedReloginPage = DateTime.UtcNow;

            this.reloginPage = new ReloginPage("You have been logged out from snookerbyb.com. Please re-login.");
            this.reloginPage.UserWantsToCancel += (s1, e1) =>
            {
                this.reloginPage = null;
                App.Navigator.OpenMainPage();
            };
            App.Navigator.OpenReloginPage(this.reloginPage);

            this.reloginPage.ShowOtherOptions = false;
            this.reloginPage.ShowAutoRelogin(true);

            await Task.Delay(1000);

            if (await this.tryToRelogin() == true)
            {
                // was able to re-login automatically
                this.reloginPage = null;
                App.Navigator.OpenMainPage();
                return;
            }
            else
            {
                // ask the user to re-login
                this.reloginPage.ShowOtherOptions = true;
                this.reloginPage.ShowAutoRelogin(false);
            }
        }