public ScreenLifecycle(EventAggregator aggregator, IScreenBase parent) { _parent = parent; _subscriptionManager = new EventSubscriptionManager(aggregator); _sm = new LifecycleStateMachine(_parent); DefineTransitions(); _subscriptionManager.Subscribe(b => b.AddSubscription(_sm) ); RegisterHandlerForINeedsInitializationImplementations(); _parent.Children.Add(this); }
internal ReactInstanceManager( string jsBundleFile, string jsMainModuleName, IReadOnlyList <IReactPackage> packages, bool useDeveloperSupport, LifecycleState initialLifecycleState, UIImplementationProvider uiImplementationProvider, Func <IJavaScriptExecutor> javaScriptExecutorFactory, Action <Exception> nativeModuleCallExceptionHandler, bool lazyViewManagersEnabled) { RnLog.Info(ReactConstants.RNW, $"ReactInstanceManager: constructor"); if (packages == null) { throw new ArgumentNullException(nameof(packages)); } if (uiImplementationProvider == null) { throw new ArgumentNullException(nameof(uiImplementationProvider)); } if (javaScriptExecutorFactory == null) { throw new ArgumentNullException(nameof(javaScriptExecutorFactory)); } _jsBundleFile = jsBundleFile; _jsMainModuleName = jsMainModuleName; _packages = packages; _useDeveloperSupport = useDeveloperSupport; _devSupportManager = _useDeveloperSupport ? (IDevSupportManager) new DevSupportManager( new ReactInstanceDevCommandsHandler(this), _jsBundleFile == null, _jsMainModuleName) : new DisabledDevSupportManager(); _lifecycleStateMachine = new LifecycleStateMachine(initialLifecycleState); _uiImplementationProvider = uiImplementationProvider; _javaScriptExecutorFactory = javaScriptExecutorFactory; _nativeModuleCallExceptionHandler = nativeModuleCallExceptionHandler; _lazyViewManagersEnabled = lazyViewManagersEnabled; }