Example #1
0
        /// <remarks>
        /// ScheduledAgent constructor, initializes the UnhandledException handler
        /// </remarks>
        public ScheduledAgent()
        {
            if (!_classInitialized)
            {
                _classInitialized = true;
                // Subscribe to the managed exception handler
                Deployment.Current.Dispatcher.BeginInvoke(delegate
                {
                    Application.Current.UnhandledException += ScheduledAgent_UnhandledException;
                });
            }

            // Initialize the database utilities and storage settings.
            LocalDatabaseDataContext db = new LocalDatabaseDataContext(DBLocation);
            DataBaseTools = new DataUtils(DBLocation);
            AgentSettings = new Settings();
        }
Example #2
0
        /// <summary>
        /// Constructor for the Application object.
        /// </summary>
        public App()
        {
            // Global handler for uncaught exceptions.
            UnhandledException += Application_UnhandledException;

            // Standard Silverlight initialization
            InitializeComponent();

            // Phone-specific initialization
            InitializePhoneApplication();

            // Enable URI Mapper
            RootFrame.UriMapper = Resources["UriMapper"] as UriMapper;

            // Show graphics profiling information while debugging.
            if (System.Diagnostics.Debugger.IsAttached)
            {
                // Display the current frame rate counters.
                Application.Current.Host.Settings.EnableFrameRateCounter = false;

                // 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;
            }

            // Initialize application wide settings and DataBase utilities.
            using (LocalDatabaseDataContext db = new LocalDatabaseDataContext(DBLocation))
            {
                //Inorder to clean the db uncomment the next line (or, if debugging, rebuild solution)
                //db.DeleteDatabase();
                if (!db.DatabaseExists())
                {
                    db.CreateDatabase();
                }
                db.SubmitChanges();
            }

            // Needs to be called AFTER DatabaseContext is Disposed above.
            DataBaseUtility = new DataUtils(DBLocation);

            Favorites = new Category { CategoryTitle = "Favorites" };
            App.DataBaseUtility.AddCategory(Favorites);
            App.DataBaseUtility.SaveChangesToDB();

            ApplicationSettings = new Settings();

            // WebTools object used for initial download and refreshing.
            SynFeedDownloader = new WebTools(new SynFeedParser());

            // ArticleSource array used to keep track of article page source.
            ArticleSource = new string[2];

            // Create the background agent if it does not already exist on the scheduler.
            BackgroundAgentTools BGTools = new BackgroundAgentTools();
            BGTools.StartPeriodicAgent();

            // Redirect initial navigation.
            RootFrame.Navigating += new NavigatingCancelEventHandler(RootFrame_Navigating);
        }