public void OpenReloginPage(ReloginPage reloginPage) { rootPage = null; NavPage = new BybNavigationPage(reloginPage); App.Current.MainPage = NavPage; }
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); } }