Пример #1
0
        /// <summary>
        /// Instantiates a <see cref="UIManagerModule"/>.
        /// </summary>
        /// <param name="reactContext">The React context.</param>
        /// <param name="viewManagers">The view managers.</param>
        /// <param name="uiImplementationProvider">The UI implementation provider.</param>
        /// <param name="layoutActionQueue">The layout action queue.</param>
        public UIManagerModule(
            ReactContext reactContext,
            IReadOnlyList <IViewManager> viewManagers,
            UIImplementationProvider uiImplementationProvider,
            IActionQueue layoutActionQueue)
            : base(reactContext, layoutActionQueue)
        {
            if (viewManagers == null)
            {
                throw new ArgumentNullException(nameof(viewManagers));
            }
            if (uiImplementationProvider == null)
            {
                throw new ArgumentNullException(nameof(uiImplementationProvider));
            }
            if (layoutActionQueue == null)
            {
                throw new ArgumentNullException(nameof(layoutActionQueue));
            }

            _eventDispatcher   = new EventDispatcher(reactContext);
            _uiImplementation  = uiImplementationProvider.Create(reactContext, viewManagers, _eventDispatcher);
            _moduleConstants   = CreateConstants(viewManagers);
            _layoutActionQueue = layoutActionQueue;
            reactContext.AddLifecycleEventListener(this);
        }
        /// <summary>
        /// Instantiates a <see cref="UIManagerModule"/>.
        /// </summary>
        /// <param name="reactContext">The React context.</param>
        /// <param name="viewManagers">The view managers.</param>
        /// <param name="uiImplementationProvider">The UI implementation provider.</param>
        /// <param name="window">The Framework Element.</param>
        public UIManagerModule(
            ReactContext reactContext,
            IReadOnlyList <IViewManager> viewManagers,
            UIImplementationProvider uiImplementationProvider,
            FrameworkElement window)
            : base(reactContext)
        {
            if (viewManagers == null)
            {
                throw new ArgumentNullException(nameof(viewManagers));
            }
            if (uiImplementationProvider == null)
            {
                throw new ArgumentNullException(nameof(uiImplementationProvider));
            }
            if (window == null)
            {
                throw new ArgumentNullException(nameof(window));
            }

            _window           = window;
            _eventDispatcher  = new EventDispatcher(reactContext);
            _uiImplementation = uiImplementationProvider.Create(reactContext, viewManagers, _eventDispatcher);
            _moduleConstants  = CreateConstants(viewManagers);
            reactContext.AddLifecycleEventListener(this);
        }
Пример #3
0
        /// <summary>
        /// Instantiates a <see cref="UIManagerModule"/>.
        /// </summary>
        /// <param name="reactContext">The React context.</param>
        /// <param name="viewManagers">The view managers.</param>
        /// <param name="uiImplementationProvider">The UI implementation provider.</param>
        /// <param name="layoutActionQueue">The layout action queue.</param>
        /// <param name="options">Options for the <see cref="UIManagerModule"/>.</param>
        public UIManagerModule(
            ReactContext reactContext,
            IReadOnlyList <IViewManager> viewManagers,
            UIImplementationProvider uiImplementationProvider,
            IActionQueue layoutActionQueue,
            UIManagerModuleOptions options)
            : base(reactContext, layoutActionQueue)
        {
            if (viewManagers == null)
            {
                throw new ArgumentNullException(nameof(viewManagers));
            }
            if (uiImplementationProvider == null)
            {
                throw new ArgumentNullException(nameof(uiImplementationProvider));
            }
            if (layoutActionQueue == null)
            {
                throw new ArgumentNullException(nameof(layoutActionQueue));
            }

            _eventDispatcher  = new EventDispatcher(reactContext);
            _uiImplementation = uiImplementationProvider.Create(reactContext, viewManagers, _eventDispatcher);
            var lazyViewManagersEnabled = IsLazyViewManagersEnabled(options);

            _customDirectEvents = lazyViewManagersEnabled ? GetDirectEventTypeConstants() : new JObject();
            _moduleConstants    = CreateConstants(viewManagers, null, _customDirectEvents, IsLazyViewManagersEnabled(options));
            _layoutActionQueue  = layoutActionQueue;
            reactContext.AddLifecycleEventListener(this);
        }
Пример #4
0
        public async void installUpdate(JObject updatePackage, InstallMode installMode, int minimumBackgroundDuration, IPromise promise)
        {
            await _codePush.UpdateManager.InstallPackageAsync(updatePackage, SettingsManager.IsPendingUpdate(null)).ConfigureAwait(false);

            var pendingHash = (string)updatePackage[CodePushConstants.PackageHashKey];

            SettingsManager.SavePendingUpdate(pendingHash, /* isLoading */ false);
            if (installMode == InstallMode.OnNextResume)
            {
                if (_minimumBackgroundListener == null)
                {
                    // Ensure we do not add the listener twice.
                    Action loadBundleAction = () =>
                    {
                        Context.RunOnNativeModulesQueueThread(async() =>
                        {
                            await LoadBundleAsync().ConfigureAwait(false);
                        });
                    };

                    _minimumBackgroundListener = new MinimumBackgroundListener(loadBundleAction, minimumBackgroundDuration);
                    _reactContext.AddLifecycleEventListener(_minimumBackgroundListener);
                }
                else
                {
                    _minimumBackgroundListener.MinimumBackgroundDuration = minimumBackgroundDuration;
                }
            }

            promise.Resolve("");
        }
Пример #5
0
 public MediaPlayerModule(ReactContext reactContext)
     : base(reactContext)
 {
     // Log.Info(MEDIA_PALYER_MODULE, "[Constructor] MediaPlayerModule ");
     //Context.AddLifecycleEventListener(this);
     reactContext.AddLifecycleEventListener(this);
 }
        /// <summary>
        /// Instantiates the <see cref="EventDispatcher"/>.
        /// </summary>
        /// <param name="reactContext">The context.</param>
        public EventDispatcher(ReactContext reactContext)
        {
            if (reactContext == null)
                throw new ArgumentNullException(nameof(reactContext));

            _reactContext = reactContext;
            _reactContext.AddLifecycleEventListener(this);
        }
        /// <summary>
        /// Instantiates a <see cref="UIManagerModule"/>.
        /// </summary>
        /// <param name="reactContext">The React context.</param>
        /// <param name="viewManagers">The view managers.</param>
        /// <param name="uiImplementation">The UI implementation.</param>
        public UIManagerModule(
            ReactContext reactContext,
            IReadOnlyList<IViewManager> viewManagers,
            UIImplementation uiImplementation)
            : base(reactContext)
        {
            if (viewManagers == null)
                throw new ArgumentNullException(nameof(viewManagers));
            if (uiImplementation == null)
                throw new ArgumentNullException(nameof(uiImplementation));

            _eventDispatcher = new EventDispatcher(reactContext);
            _uiImplementation = uiImplementation;
            _moduleConstants = CreateConstants(viewManagers);
            reactContext.AddLifecycleEventListener(this);
        }
Пример #8
0
        /// <summary>
        /// Instantiates a <see cref="UIManagerModule"/>.
        /// </summary>
        /// <param name="reactContext">The React context.</param>
        /// <param name="viewManagers">The view managers.</param>
        /// <param name="uiImplementation">The UI implementation.</param>
        public UIManagerModule(
            ReactContext reactContext,
            IReadOnlyList <IViewManager> viewManagers,
            UIImplementation uiImplementation)
            : base(reactContext)
        {
            if (viewManagers == null)
            {
                throw new ArgumentNullException(nameof(viewManagers));
            }
            if (uiImplementation == null)
            {
                throw new ArgumentNullException(nameof(uiImplementation));
            }

            _eventDispatcher  = new EventDispatcher(reactContext);
            _uiImplementation = uiImplementation;
            _moduleConstants  = CreateConstants(viewManagers);
            reactContext.AddLifecycleEventListener(this);
        }
 /// <summary>
 /// Adds a lifecycle event listener to the context.
 /// </summary>
 /// <param name="listener">The listener.</param>
 public void AddLifecycleEventListener(ILifecycleEventListener listener)
 {
     _reactContext.AddLifecycleEventListener(listener);
 }