public AndroidApplicationContext(BaseScreen baseActivity, Settings settings, Action loadComplete)
        {
            ApplicationBackground += () => { };
            ApplicationRestore += () => { };

            GlobalVariables = new Dictionary<string, object>();

            _baseActivity = baseActivity;
            _settings = settings;
            _loadComplete = loadComplete;

            LocationProvider = new GpsProvider(_baseActivity);
            LocationTracker = new GpsTracker(_baseActivity);
            GalleryProvider = new GalleryProvider(_baseActivity, this);
            CameraProvider = new CameraProvider(_baseActivity, this);
            DialogProvider = new DialogProvider(_baseActivity, this);
            DisplayProvider = new DisplayProvider();
            ClipboardProvider = new ClipboardProvider(_baseActivity);
            EmailProvider = new EmailProvider(_settings, _baseActivity);
            JokeProviderInternal = new JokeProvider(_baseActivity);
            LocalNotificationProvider = new LocalNotificationProvider(_baseActivity);
            WebProvider = new WebProvider(_baseActivity);

            var builder = new SolutionBuilder(this);
            builder.Build();

            _commonData = ValueStackContext.Current.CreateCommonData("Android");
        }
        public IOSApplicationContext(AppDelegate appDelegate, NavigationController controller,
            ApplicationSettings settings, CustomExceptionHandler exceptionHandler)
        {
            ApplicationBackground += () => { };
            ApplicationRestore += () => { };

            GlobalVariables = new Dictionary<string, object>();

            Settings = settings;
            _controller = controller;
            _exceptionHandler = exceptionHandler;

			LocationProvider = new GpsProvider ();
            LocationTracker = new GPSTracker();
            GalleryProvider = new GalleryProvider(controller, this);
            CameraProvider = new CameraProvider(controller, this);
            DialogProvider = new DialogProvider(this);
            DisplayProvider = new DisplayProvider();
            ClipboardProvider = new ClipboardProvider();
            EmailProvider = new EmailProvider(settings, appDelegate);
            JokeProviderInternal = new JokeProvider();
            LocalNotificationProvider = new LocalNotificationProvider();
            WebProvider = new WebProvider();

            var builder = new SolutionBuilder(this);
            builder.Build();

            StyleSheetContext.Current.Scale = UIScreen.MainScreen.Scale;
        }
		public ApplicationContext (NavigationController controller, BitMobile.Application.ApplicationSettings settings, CustomExceptionHandler exceptionHandler)
		{
			GlobalVariables = new Dictionary<string, object> ();

			Settings = settings;
			_controller = controller;
			_exceptionHandler = exceptionHandler;

			LocationProvider = new GPSProvider ();
			LocationTracker = new GPSTracker ();
			GalleryProvider = new GalleryProvider (controller, this);
			CameraProvider = new CameraProvider (controller, this);
			DialogProvider = new DialogProvider (this);
			DisplayProvider = new DisplayProvider ();

			var builder = new SolutionBuilder (this);
			builder.Build ();

			StyleSheetContext.Current.Scale = UIScreen.MainScreen.Scale;
		}