/// <summary> /// Constructor for the Application object. /// </summary> public App() { // Global handler for uncaught exceptions. UnhandledException += Application_UnhandledException; // Initialise the ViewModel VM = new AppViewModel(); // Setup settings, since are used to resolve some XAML loaded Settings = new SettingsHelpers(); // Standard Silverlight initialization InitializeComponent(); // Phone-specific initialization InitializePhoneApplication(); // Set theme dictionaries before loading components // Load appropriate resource dictionary if (VM.ApplicationTheme == ApplicationTheme.Light) { ThemeManager.ToLightTheme(); } else { ThemeManager.ToDarkTheme(); } ThemeHelpers.LoadThemeDictionary(VM.ApplicationTheme); // Show graphics profiling information while debugging. if (System.Diagnostics.Debugger.IsAttached) { // Display the current frame rate counters. //Application.Current.Host.Settings.EnableFrameRateCounter = true; // Show the areas of the app that are being redrawn in each frame. //Application.Current.Host.Settings.EnableRedrawRegions = true; // Enable non-production analysis visualization mode, // which shows areas of a page that are handed off to GPU with a colored overlay. //Application.Current.Host.Settings.EnableCacheVisualization = true; // Disable the application idle detection by setting the UserIdleDetectionMode property of the // application's PhoneApplicationService object to Disabled. // Caution:- Use this under debug mode only. Application that disables user idle detection will continue to run // and consume battery power when the user is not using the phone. PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled; } // Create DB if not there already using (AppDataContext db = new AppDataContext(AppConstants.APP_DB_CONNECTION_STRING)) { if (!db.DatabaseExists()) { SetupDatabase.InitialiseDB(db); } } // Load cache Cache = new Cache(); // Connect to databases VM.ConnectToAppDB(AppConstants.APP_DB_CONNECTION_STRING); if (VersionHelpers.IsWP8) { VM.ConnectToConversionsDB(AppConstants.CONVERSIONS_DB_WP8_CONNECTION_STRING); } else { VM.ConnectToConversionsDB(AppConstants.CONVERSIONS_DB_WP7_CONNECTION_STRING); } // Load and send feedback FeedbackAgent = new FeedbackAgent(); FeedbackAgent.DeliverAdjustmentsTaskAsync(); // Check if ready to rate VM.AddALaunch(); // Update to cool new tiles if v.7.8+ if (VersionHelpers.IsWideTileCapable) { TileHelpers.UpdateFlipTile("Pocketailor", "", "", "", 0, new Uri("/", UriKind.Relative), new Uri("/Images/Tiles/SmallBackgroundImage.png", UriKind.Relative), new Uri("/Images/Tiles/BackgroundImage.png", UriKind.Relative), new Uri("/Images/Tiles/BackBackgroundImage.png", UriKind.Relative), new Uri("/Images/Tiles/WideBackgroundImage.png", UriKind.Relative), new Uri("/Images/Tiles/WideBackBackgroundImage.png", UriKind.Relative)); } }