static ViewModelLocator()
        {
            ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);

            SimpleIoc.Default.Register <IBaconProvider>(() => _baconProvider);

            SimpleIoc.Default.Register <RedditViewModel>();
            SimpleIoc.Default.Register <LoginViewModel>();
            SimpleIoc.Default.Register <LoadIndicatorViewModel>();
            SimpleIoc.Default.Register <LinkedWebViewModel>();
            SimpleIoc.Default.Register <SubredditsViewModel>();
            SimpleIoc.Default.Register <AboutUserViewModel>();
            SimpleIoc.Default.Register <FileOpenPickerViewModel>();
            SimpleIoc.Default.Register <SearchResultsViewModel>();
            SimpleIoc.Default.Register <ContentPreferencesViewModel>();
            SimpleIoc.Default.Register <RedditPickerViewModel>();
            SimpleIoc.Default.Register <SearchQueryViewModel>();
            SimpleIoc.Default.Register <VisitedLinkConverter>();
            SimpleIoc.Default.Register <VisitedMainLinkConverter>();
            SimpleIoc.Default.Register <PreviewDataConverter>();


            if (DesignMode.DesignModeEnabled)
            {
                var dynamicViewLocator = new DynamicViewLocator();
                var baconProvider      = new BaconProvider();
                baconProvider.Initialize(null).Wait();
                baconProvider.AddService(typeof(IDynamicViewLocator), dynamicViewLocator);
                Initialize(baconProvider);
            }
        }
예제 #2
0
        static ViewModelLocator()
        {
            ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);

            SimpleIoc.Default.Register<IBaconProvider>(() => _baconProvider);

            SimpleIoc.Default.Register<RedditViewModel>();
            SimpleIoc.Default.Register<LoginViewModel>();
            SimpleIoc.Default.Register<LoadIndicatorViewModel>();
            SimpleIoc.Default.Register<LinkedWebViewModel>();
            SimpleIoc.Default.Register<SubredditsViewModel>();
            SimpleIoc.Default.Register<AboutUserViewModel>();
            SimpleIoc.Default.Register<FileOpenPickerViewModel>();
            SimpleIoc.Default.Register<SearchResultsViewModel>();
            SimpleIoc.Default.Register<ContentPreferencesViewModel>();
            SimpleIoc.Default.Register<RedditPickerViewModel>();
            SimpleIoc.Default.Register<SearchQueryViewModel>();
            SimpleIoc.Default.Register<VisitedLinkConverter>();
            SimpleIoc.Default.Register<VisitedMainLinkConverter>();
            SimpleIoc.Default.Register<PreviewDataConverter>();
            

            if (DesignMode.DesignModeEnabled)
            {
                var dynamicViewLocator = new DynamicViewLocator();
                var baconProvider = new BaconProvider(new Tuple<Type, Object>[] { new Tuple<Type, Object>(typeof(IDynamicViewLocator), new DynamicViewLocator()) });
                baconProvider.Initialize(null).Wait();
                Initialize(baconProvider);
            }
        }
예제 #3
0
        public async void Run(IBackgroundTaskInstance taskInstance)
        {
            _deferral = taskInstance.GetDeferral();

            var baconProvider = new BaconProvider();
            await baconProvider.Initialize(null);

            await RunBodyImpl(baconProvider);

            _deferral.Complete();
        }
예제 #4
0
        /// <summary>
        /// Invoked when the application is launched normally by the end user.  Other entry points
        /// will be used when the application is launched to open a specific file, to display
        /// search results, and so forth.
        /// </summary>
        /// <param name="args">Details about the launch request and process.</param>
        protected override async void OnLaunched(LaunchActivatedEventArgs args)
        {
            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();

                if (args.PreviousExecutionState == ApplicationExecutionState.Terminated)
                {
                    //TODO: Load state from previously suspended application
                }

                // Place the frame in the current Window
                Window.Current.Content = rootFrame;
            }

            if (_baconProvider == null)
            {
                _baconProvider = new BaconProvider();
                _baconProvider.AddService(typeof(IDynamicViewLocator), new DynamicViewLocator());

                await _baconProvider.Initialize(rootFrame);

                ViewModelLocator.Initialize(_baconProvider);
            }
            else
            {
                await _baconProvider.Initialize(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
                if (!rootFrame.Navigate(_baconProvider.GetService <IDynamicViewLocator>().RedditView, args.Arguments))
                {
                    throw new Exception("Failed to create initial page");
                }
            }
            // Ensure the current window is active
            Window.Current.Activate();

            LiveTileUpdater ltu = new LiveTileUpdater();

            ltu.RunBody(_baconProvider);
        }
예제 #5
0
        private void InitializeBacon()
        {
            if (_baconProvider == null)
            {
                _baconProvider = new BaconProvider();
                _baconProvider.AddService(typeof(IDynamicViewLocator), new DynamicViewLocator());

                _baconProvider.Initialize(RootFrame);

                ViewModelLocator.Initialize(_baconProvider);
            }
            else
            {
                _baconProvider.Initialize(RootFrame);
            }
        }
예제 #6
0
        /// <summary>
        /// Invoked when the application is activated to display a file open picker.
        /// </summary>
        /// <param name="args">Details about the activation request.</param>
        protected override async void OnFileOpenPickerActivated(Windows.ApplicationModel.Activation.FileOpenPickerActivatedEventArgs args)
        {
            if (_baconProvider == null)
            {
                _baconProvider = new BaconProvider();
                _baconProvider.AddService(typeof(IDynamicViewLocator), new DynamicViewLocator());

                await _baconProvider.Initialize(null);

                ViewModelLocator.Initialize(_baconProvider);
            }

            var fileOpenPickerPage = new FileOpenPickerView();

            fileOpenPickerPage.Activate(args);
        }
예제 #7
0
        static ViewModelLocator()
        {
			try
			{
				ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);

				SimpleIoc.Default.Register<IBaconProvider>(() => _baconProvider);

				SimpleIoc.Default.Register<RedditViewModel>();
				SimpleIoc.Default.Register<LoginPageViewModel>();
				SimpleIoc.Default.Register<LoadIndicatorViewModel>();
				SimpleIoc.Default.Register<LinkedWebViewModel>();
				SimpleIoc.Default.Register<SubredditsViewModel>();
				SimpleIoc.Default.Register<SubredditSelectorViewModel>();
				SimpleIoc.Default.Register<AboutUserViewModel>();
				SimpleIoc.Default.Register<FileOpenPickerViewModel>();
				SimpleIoc.Default.Register<SearchResultsViewModel>();
				SimpleIoc.Default.Register<ContentPreferencesViewModel>();
				SimpleIoc.Default.Register<RedditPickerViewModel>();
				SimpleIoc.Default.Register<MainPageViewModel>();
				SimpleIoc.Default.Register<SearchQueryViewModel>();
				SimpleIoc.Default.Register<VisitedLinkConverter>();
				SimpleIoc.Default.Register<VisitedMainLinkConverter>();
				SimpleIoc.Default.Register<PreviewDataConverter>();
				SimpleIoc.Default.Register<ReplyViewModel>();
                SimpleIoc.Default.Register<MessagesViewModel>();
                SimpleIoc.Default.Register<CaptchaViewModel>();
                SimpleIoc.Default.Register<LockScreenViewModel>();
                SimpleIoc.Default.Register<ComposePostViewModel>();
                SimpleIoc.Default.Register<SubredditPickerViewModel>();
                SimpleIoc.Default.Register<CombinedSearchViewModel>();

				if (DesignerProperties.IsInDesignTool)
				{
                    var baconProvider = new BaconProvider(new Tuple<Type, Object>[] { new Tuple<Type, Object>(typeof(IDynamicViewLocator), new DynamicViewLocator()) });
					baconProvider.Initialize(null).Wait();
					Initialize(baconProvider);
				}
			}
			catch
			{
				System.Diagnostics.Debug.WriteLine("uhh, something happend, ignore it");
			}
        }
        static ViewModelLocator()
        {
            try
            {
                ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);

                SimpleIoc.Default.Register <IBaconProvider>(() => _baconProvider);

                SimpleIoc.Default.Register <RedditViewModel>();
                SimpleIoc.Default.Register <LoginPageViewModel>();
                SimpleIoc.Default.Register <LoadIndicatorViewModel>();
                SimpleIoc.Default.Register <LinkedWebViewModel>();
                SimpleIoc.Default.Register <SubredditsViewModel>();
                SimpleIoc.Default.Register <SubredditSelectorViewModel>();
                SimpleIoc.Default.Register <AboutUserViewModel>();
                SimpleIoc.Default.Register <FileOpenPickerViewModel>();
                SimpleIoc.Default.Register <SearchResultsViewModel>();
                SimpleIoc.Default.Register <ContentPreferencesViewModel>();
                SimpleIoc.Default.Register <RedditPickerViewModel>();
                SimpleIoc.Default.Register <MainPageViewModel>();
                SimpleIoc.Default.Register <SearchQueryViewModel>();
                SimpleIoc.Default.Register <VisitedLinkConverter>();
                SimpleIoc.Default.Register <VisitedMainLinkConverter>();
                SimpleIoc.Default.Register <PreviewDataConverter>();


                if (DesignerProperties.IsInDesignTool)
                {
                    var dynamicViewLocator = new DynamicViewLocator();
                    var baconProvider      = new BaconProvider();
                    baconProvider.Initialize(null).Wait();
                    baconProvider.AddService(typeof(IDynamicViewLocator), dynamicViewLocator);
                    Initialize(baconProvider);
                }
            }
            catch
            {
                System.Diagnostics.Debug.WriteLine("uhh, something happend, ignore it");
            }
        }
예제 #9
0
        /// <summary>
        /// Invoked when the application is launched normally by the end user.  Other entry points
        /// will be used when the application is launched to open a specific file, to display
        /// search results, and so forth.
        /// </summary>
        /// <param name="args">Details about the launch request and process.</param>
        protected override async void OnLaunched(LaunchActivatedEventArgs args)
        {
            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();

                if (args.PreviousExecutionState == ApplicationExecutionState.Terminated)
                {
                    //TODO: Load state from previously suspended application
                }

                // Place the frame in the current Window
                Window.Current.Content = rootFrame;
            }

            if (_baconProvider == null)
            {
                _baconProvider = new BaconProvider(new Tuple<Type, Object>[] { new Tuple<Type, Object>(typeof(IDynamicViewLocator), new DynamicViewLocator()) });

                await _baconProvider.Initialize(rootFrame);
				var settingsService = _baconProvider.GetService<ISettingsService>();
				settingsService.AllowAdvertising = false;

                ViewModelLocator.Initialize(_baconProvider);
            }
            else
            {
                await _baconProvider.Initialize(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
                if (!rootFrame.Navigate(_baconProvider.GetService<IDynamicViewLocator>().RedditView, args.Arguments))
                {
                    throw new Exception("Failed to create initial page");
                }
            }
            // Ensure the current window is active
            Window.Current.Activate();

            LiveTileUpdater ltu = new LiveTileUpdater();
            ltu.RunBody(_baconProvider);
        }
예제 #10
0
        /// <summary>
        /// Invoked when the application is activated to display a file open picker.
        /// </summary>
        /// <param name="args">Details about the activation request.</param>
        protected override async void OnFileOpenPickerActivated(Windows.ApplicationModel.Activation.FileOpenPickerActivatedEventArgs args)
        {

            if (_baconProvider == null)
            {
                _baconProvider = new BaconProvider(new Tuple<Type, Object>[] { new Tuple<Type, Object>(typeof(IDynamicViewLocator), new DynamicViewLocator()) });

                await _baconProvider.Initialize(null);

                ViewModelLocator.Initialize(_baconProvider);
            }

            var fileOpenPickerPage = new FileOpenPickerView();
            fileOpenPickerPage.Activate(args);
        }