protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); if (e.NavigationMode == NavigationMode.New) { ErrorReporting.CheckForPreviousException(true); AppMetadata.CheckForNewVersion(); } // settings changed if (lastEmail != null && lastEmail != Settings.GetString(Setting.Email)) { ErrorReporting.Log("Settings changed"); activeCourses.ItemsSource = null; upcomingCourses.ItemsSource = null; finishedCourses.ItemsSource = null; } var email = Settings.GetString(Setting.Email); var password = Settings.GetString(Setting.Password); lastEmail = email; if (string.IsNullOrEmpty(email) || string.IsNullOrEmpty(password)) { if (e.NavigationMode != NavigationMode.Back) { this.NavigateToSettings(); } else { messageTextBlock.Text = "Please set your email and password in the Settings."; messageTextBlock.Visibility = Visibility.Visible; } } else if (activeCourses.ItemsSource == null) { LoadCourses(email, password, false); } }
protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); fromStation = NavigationContext.QueryString.ContainsKey("fromStation") ? Stations.Get(NavigationContext.QueryString["fromStation"]) : null; excludeStation = NavigationContext.QueryString.ContainsKey("excludeStation") ? NavigationContext.QueryString["excludeStation"] : null; if (fromStation == null) { if (e.NavigationMode == NavigationMode.New) { if (Stations.Country == Country.UK) { Task.Run(() => InstallVoiceCommands()); } ErrorReporting.CheckForPreviousException(true); AppMetadata.CheckForNewVersion(); if (!Settings.GetBool(Setting.LocationServicesEnabled) && !Settings.GetBool(Setting.LocationServicesPromptShown)) { Settings.Set(Setting.LocationServicesPromptShown, true); if (Extensions.ShowMessageBox("Location Services", "This application uses your current location to improve the experience. Do you wish to give it permission to use your location?", "Use location", "No thanks")) { Settings.Set(Setting.LocationServicesEnabled, true); } } } } else { pivot.Title = fromStation.Name + " calling at"; nearest.Header = "Near " + fromStation.Name; } var removeBackEntry = NavigationContext.QueryString.ContainsKey("removeBackEntry"); if (removeBackEntry) { NavigationService.RemoveBackEntry(); } LocationService.PositionChanged += LoadNearestStations; LoadNearestStations(); RefreshRecentItemsList(); if (NavigationContext.QueryString.ContainsKey("initialFilter")) { filter.Text = NavigationContext.QueryString["initialFilter"]; pivot.SelectedIndex = 2; } else if (hasRecentItemsToDisplay) { pivot.SelectedIndex = 1; } else if (fromStation == null && Settings.GetBool(Setting.LocationServicesEnabled)) { pivot.SelectedIndex = 0; } else { pivot.SelectedIndex = 2; } }