/// <summary> /// Logic performed during initialization of the application. /// </summary> /// <param name="mode">Mode indicates how this app instance is being run.</param> /// <returns>Awaitable task is returned.</returns> public override async Task AppInitializingAsync(InitializationModes mode) { // Call to base.AppInitializing is required to be executed first so all adapters and the framework are properly initialized await base.AppInitializingAsync(mode); // Your custom app logic which you want to always run at start of // your app should be placed here. if (this.ViewModel == null) this.ViewModel = new MainViewModel(); if (mode == InitializationModes.New) { // Check for previous app crashes await Platform.Current.Logger.CheckForFatalErrorReportsAsync(this.ViewModel); // Check to see if the user should be prompted to rate the application await Platform.Current.Ratings.CheckForRatingsPromptAsync(this.ViewModel); } }
/// <summary> /// Logic performed during sign out of a user in this application. /// </summary> /// <returns>Awaitable task is returned.</returns> internal override async Task SignoutAll() { await base.SignoutAll(); // Instantiate a new instance of settings and the MainViewModel // to ensure no previous user data is shown on the UI. this.ResetAppSettings(); this.ViewModel = new MainViewModel(); }