| 
									
										
										
										
											2018-04-18 22:00:55 +02:00
										 |  |  |  | using System; | 
					
						
							|  |  |  |  | using System.Collections.Generic; | 
					
						
							|  |  |  |  | using System.IO; | 
					
						
							|  |  |  |  | using System.Linq; | 
					
						
							| 
									
										
										
										
											2019-08-12 20:21:07 +02:00
										 |  |  |  | using System.Reflection; | 
					
						
							| 
									
										
										
										
											2018-04-18 22:00:55 +02:00
										 |  |  |  | using System.Runtime.InteropServices.WindowsRuntime; | 
					
						
							| 
									
										
										
										
											2019-06-24 00:52:44 +02:00
										 |  |  |  | using System.Text; | 
					
						
							| 
									
										
										
										
											2018-04-18 22:00:55 +02:00
										 |  |  |  | using Windows.ApplicationModel; | 
					
						
							|  |  |  |  | using Windows.ApplicationModel.Activation; | 
					
						
							|  |  |  |  | using Windows.Foundation; | 
					
						
							|  |  |  |  | using Windows.Foundation.Collections; | 
					
						
							|  |  |  |  | using Windows.UI.Xaml; | 
					
						
							|  |  |  |  | using Windows.UI.Xaml.Controls; | 
					
						
							|  |  |  |  | using Windows.UI.Xaml.Controls.Primitives; | 
					
						
							|  |  |  |  | using Windows.UI.Xaml.Data; | 
					
						
							|  |  |  |  | using Windows.UI.Xaml.Input; | 
					
						
							|  |  |  |  | using Windows.UI.Xaml.Media; | 
					
						
							|  |  |  |  | using Windows.UI.Xaml.Navigation; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | namespace AideDeJeu.UWP | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// Provides application-specific behavior to supplement the default Application class. | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     sealed partial class App : Application | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// Initializes the singleton application object.  This is the first line of authored code | 
					
						
							|  |  |  |  |         /// executed, and as such is the logical equivalent of main() or WinMain(). | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         public App() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             this.InitializeComponent(); | 
					
						
							|  |  |  |  |             this.Suspending += OnSuspending; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// Invoked when the application is launched normally by the end user.  Other entry points | 
					
						
							|  |  |  |  |         /// will be used such as when the application is launched to open a specific file. | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="e">Details about the launch request and process.</param> | 
					
						
							|  |  |  |  |         protected override void OnLaunched(LaunchActivatedEventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             Frame rootFrame = Window.Current.Content as Frame; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             // Do not repeat app initialization when the Window already has content, | 
					
						
							|  |  |  |  |             // just ensure that the window is active | 
					
						
							|  |  |  |  |             if (rootFrame == null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 // Create a Frame to act as the navigation context and navigate to the first page | 
					
						
							|  |  |  |  |                 rootFrame = new Frame(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 rootFrame.NavigationFailed += OnNavigationFailed; | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-09-24 23:15:08 +02:00
										 |  |  |  |                 Rg.Plugins.Popup.Popup.Init(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-09-24 23:33:04 +02:00
										 |  |  |  |                 //Xamarin.Forms.Forms.Init(e); | 
					
						
							| 
									
										
										
										
											2019-04-09 15:13:08 +02:00
										 |  |  |  |                 //Xamarin.Forms.SetFlags("CollectionView_Experimental"); | 
					
						
							| 
									
										
										
										
											2019-04-04 23:55:03 +02:00
										 |  |  |  |                 //Xamarin.Forms.SetFlags("Shell_Experimental"); | 
					
						
							| 
									
										
										
										
											2019-04-22 19:50:24 +02:00
										 |  |  |  |                 Xamarin.Essentials.ExperimentalFeatures.Enable(Xamarin.Essentials.ExperimentalFeatures.ShareFileRequest); | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-08-12 20:21:07 +02:00
										 |  |  |  |                 var assemblies = new List<System.Reflection.Assembly>(); | 
					
						
							|  |  |  |  |                 assemblies.AddRange(Rg.Plugins.Popup.Popup.GetExtraAssemblies()); | 
					
						
							|  |  |  |  |                 assemblies.Add(typeof(Urho.Forms.UwpSurfaceRenderer).GetTypeInfo().Assembly); | 
					
						
							|  |  |  |  |                 Xamarin.Forms.Forms.Init(e, assemblies); | 
					
						
							|  |  |  |  |                 //Xamarin.Forms.Forms.Init(e, Rg.Plugins.Popup.Popup.GetExtraAssemblies()); | 
					
						
							| 
									
										
										
										
											2018-10-14 01:01:57 +02:00
										 |  |  |  |                 SQLitePCL.raw.SetProvider(new SQLitePCL.SQLite3Provider_e_sqlite3()); | 
					
						
							| 
									
										
										
										
											2019-06-24 00:52:44 +02:00
										 |  |  |  |                 Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); | 
					
						
							| 
									
										
										
										
											2018-04-18 22:00:55 +02:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |                 if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     //TODO: Load state from previously suspended application | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 // Place the frame in the current Window | 
					
						
							|  |  |  |  |                 Window.Current.Content = rootFrame; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             if (rootFrame.Content == null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 // When the navigation stack isn't restored navigate to the first page, | 
					
						
							|  |  |  |  |                 // configuring the new page by passing required information as a navigation | 
					
						
							|  |  |  |  |                 // parameter | 
					
						
							|  |  |  |  |                 rootFrame.Navigate(typeof(MainPage), e.Arguments); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             // Ensure the current window is active | 
					
						
							|  |  |  |  |             Window.Current.Activate(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// Invoked when Navigation to a certain page fails | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender">The Frame which failed navigation</param> | 
					
						
							|  |  |  |  |         /// <param name="e">Details about the navigation failure</param> | 
					
						
							|  |  |  |  |         void OnNavigationFailed(object sender, NavigationFailedEventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             throw new Exception("Failed to load Page " + e.SourcePageType.FullName); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// Invoked when application execution is being suspended.  Application state is saved | 
					
						
							|  |  |  |  |         /// without knowing whether the application will be terminated or resumed with the contents | 
					
						
							|  |  |  |  |         /// of memory still intact. | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender">The source of the suspend request.</param> | 
					
						
							|  |  |  |  |         /// <param name="e">Details about the suspend request.</param> | 
					
						
							|  |  |  |  |         private void OnSuspending(object sender, SuspendingEventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             var deferral = e.SuspendingOperation.GetDeferral(); | 
					
						
							|  |  |  |  |             //TODO: Save application state and stop any background activity | 
					
						
							|  |  |  |  |             deferral.Complete(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | } |