public virtual async Task InitializePrimaryAsync() { if (StateWrapper != MvxSetupState.Uninitialized) { throw new MvxException($"Cannot start primary - as state already {StateWrapper}"); } StateWrapper = MvxSetupState.InitializingPrimary; InitializeIoC(); StateWrapper = MvxSetupState.InitializedPrimary; if (StateWrapper != MvxSetupState.InitializedPrimary) { throw new MvxException($"Cannot start seconday - as state is currently {StateWrapper}"); } InitializeLoggingServices(); InitializeDebugServices(); StateWrapper = MvxSetupState.InitializingSecondary; InitializeFirstChance(); var tasks = new[] { Task.Run(() => InitializePlatformServices()), Task.Run(() => InitializeSettings()), Task.Run(() => InitializeSingletonCache()) }; await Task.WhenAll(tasks).ConfigureAwait(false); }
private void FireStateChange(MvxSetupState state) { var handler = StateChanged; if (handler != null) { handler(this, new MvxSetupStateEventArgs(state)); } }
public virtual async Task InitializeSecondaryAsync() { await PerformBootstrapActionsAsync(); var pluginManager = InitializePluginFramework(); var app = CreateApp(); Mvx.RegisterSingleton(app); InitializeApp(pluginManager, app); await Task.Run(() => InitializeViewsContainer()).ConfigureAwait(false); var tasks = new[] { Task.Run(() => InitializeStringToTypeParser()), Task.Run(() => InitializeCommandHelper()), Task.Run(() => { InitializeNavigationService(app); LoadNavigationServiceRoutes(); }), Task.Run(() => InitializeViewModelTypeFinder()), Task.Run(() => InitializeViewDispatcher()), Task.Run(() => InitializeViewLookup()), Task.Run(() => InitializeCommandCollectionBuilder()), Task.Run(() => InitializeNavigationSerializer()), Task.Run(() => InitializeInpcInterception()), Task.Run(() => InitializeViewModelCache()) }; await Task.WhenAll(tasks).ConfigureAwait(false); InitializeLastChance(); SetupLog?.Trace("Setup: Secondary end"); StateWrapper = MvxSetupState.Initialized; }
private void FireStateChange(MvxSetupState state) { StateChanged?.Invoke(this, new MvxSetupStateEventArgs(state)); }
public MvxSetupStateEventArgs(MvxSetupState setupState) { SetupState = setupState; }
private void FireStateChange(MvxSetupState state) { var handler = StateChanged; handler?.Invoke(this, new MvxSetupStateEventArgs(state)); }
public virtual void InitializePrimary() { if (State != MvxSetupState.Uninitialized) { throw new MvxException("Cannot start primary - as state already {0}", State); } State = MvxSetupState.InitializingPrimary; MvxTrace.Trace("Setup: Primary start"); InitializeIoC(); State = MvxSetupState.InitializedPrimary; if (State != MvxSetupState.InitializedPrimary) { throw new MvxException("Cannot start seconday - as state is currently {0}", State); } State = MvxSetupState.InitializingSecondary; MvxTrace.Trace("Setup: FirstChance start"); InitializeFirstChance(); MvxTrace.Trace("Setup: DebugServices start"); InitializeDebugServices(); MvxTrace.Trace("Setup: PlatformServices start"); InitializePlatformServices(); }
public virtual void InitializeSecondary() { MvxTrace.Trace("Setup: Bootstrap actions"); PerformBootstrapActions(); MvxTrace.Trace("Setup: Singleton Cache start"); InitializeSingletonCache(); MvxTrace.Trace("Setup: MvvmCross settings start"); InitializeSettings(); MvxTrace.Trace("Setup: StringToTypeParser start"); InitializeStringToTypeParser(); MvxTrace.Trace("Setup: ViewModelFramework start"); InitializeViewModelFramework(); MvxTrace.Trace("Setup: PluginManagerFramework start"); var pluginManager = InitializePluginFramework(); MvxTrace.Trace("Setup: App start"); InitializeApp(pluginManager); MvxTrace.Trace("Setup: ViewModelTypeFinder start"); InitialiseViewModelTypeFinder(); MvxTrace.Trace("Setup: ViewsContainer start"); InitializeViewsContainer(); MvxTrace.Trace("Setup: ViewDispatcher start"); InitiaiseViewDispatcher(); MvxTrace.Trace("Setup: Views start"); InitializeViewLookup(); MvxTrace.Trace("Setup: CommandCollectionBuilder start"); InitialiseCommandCollectionBuilder(); MvxTrace.Trace("Setup: NavigationSerializer start"); InitializeNavigationSerializer(); MvxTrace.Trace("Setup: InpcInterception start"); InitializeInpcInterception(); MvxTrace.Trace("Setup: LastChance start"); InitializeLastChance(); MvxTrace.Trace("Setup: Secondary end"); State = MvxSetupState.Initialized; }
private void FireStateChange(MvxSetupState state) { var handler = this.StateChanged; handler?.Invoke(this, new MvxSetupStateEventArgs(state)); }