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