Example #1
0
        public virtual async Task InitializePrimary()
        {
            if (State != MvxSetupState.Uninitialized)
            {
                throw new MvxException("The primary is initialized.");
            }

            State = MvxSetupState.InitializingPrimary;

            var iocProvider = InitializeIoC();

            // Register the default setup dependencies before
            // invoking the static call back.
            // Developers can either extend the MvxSetup and override
            // the RegisterDefaultSetupDependencies method, or can provide a
            // callback method by setting the RegisterSetupDependencies method
            RegisterDefaultSetupDependencies(iocProvider);
            RegisterSetupDependencies?.Invoke(iocProvider);

            await Task.WhenAll(new[]
            {
                InitializeLoggingServices(),
                InitializeFirstChance(),
                InitializeSettings(),
                InitializeSingletonCache(),
                InitializeViewDispatcher(),
                InitializeApp(),
                InitializeViewModelTypeFinder()
            }).ConfigureAwait(false);

            State = MvxSetupState.InitializedPrimary;
        }
Example #2
0
        public virtual void InitializePrimary()
        {
            if (State != MvxSetupState.Uninitialized)
            {
                return;
            }
            State = MvxSetupState.InitializingPrimary;
            var iocProvider = InitializeIoC();

            // Register the default setup dependencies before
            // invoking the static call back.
            // Developers can either extend the MvxSetup and override
            // the RegisterDefaultSetupDependencies method, or can provide a
            // callback method by setting the RegisterSetupDependencies method
            RegisterDefaultSetupDependencies(iocProvider);
            RegisterSetupDependencies?.Invoke(iocProvider);
            InitializeLoggingServices();
            SetupLog.Trace("Setup: Primary start");
            SetupLog.Trace("Setup: FirstChance start");
            InitializeFirstChance();
            SetupLog.Trace("Setup: Platform services");
            InitializePlatformServices();
            SetupLog.Trace("Setup: MvvmCross settings start");
            InitializeSettings();
            SetupLog.Trace("Setup: Singleton Cache start");
            InitializeSingletonCache();
            SetupLog.Trace("Setup: ViewDispatcher start");
            InitializeViewDispatcher();
            State = MvxSetupState.InitializedPrimary;
        }