Пример #1
0
 /// <summary>
 /// Suspends the React instance manager.
 /// </summary>
 /// <param name="host">The React Native host.</param>
 public static void OnSuspend(this ReactNativeHost host)
 {
     if (host.HasInstance)
     {
         host.ReactInstanceManager.OnSuspend();
     }
 }
Пример #2
0
 /// <summary>
 /// Informs the React instance manager that the application is leaving
 /// background mode.
 /// </summary>
 /// <param name="host">The React Native host.</param>
 public static void OnLeavingBackground(this ReactNativeHost host)
 {
     if (host.HasInstance)
     {
         host.ReactInstanceManager.OnLeavingBackground();
     }
 }
Пример #3
0
        /// <summary>
        /// Applies the activation arguments.
        /// </summary>
        /// <param name="host">The React Native host.</param>
        /// <param name="arguments">The arguments.</param>
        public static void ApplyArguments(this ReactNativeHost host, string arguments)
        {
            if (!string.IsNullOrEmpty(arguments) && host.HasInstance)
            {
                var args = arguments.Split(',');

                var index = Array.IndexOf(args, "remoteDebugging");
                if (index < 0)
                {
                    return;
                }

                if (args.Length <= index + 1)
                {
                    throw new ArgumentException("Expected value for remoteDebugging argument.", nameof(arguments));
                }

                bool isRemoteDebuggingEnabled;
                if (bool.TryParse(args[index + 1], out isRemoteDebuggingEnabled))
                {
                    if (host.HasInstance)
                    {
                        host.ReactInstanceManager.DevSupportManager.IsRemoteDebuggingEnabled = isRemoteDebuggingEnabled;
                    }
                }
            }
        }
 private static void OnAcceleratorKeyActivated(ReactNativeHost host, CoreDispatcher sender, AcceleratorKeyEventArgs e)
 {
     if (host.HasInstance)
     {
         var reactInstanceManager = host.ReactInstanceManager;
         if (reactInstanceManager.DevSupportManager.IsEnabled)
         {
             if (e.VirtualKey == VirtualKey.Shift)
             {
                 s_isShiftKeyDown = e.EventType == CoreAcceleratorKeyEventType.KeyDown;
             }
             else if (e.VirtualKey == VirtualKey.Control)
             {
                 s_isControlKeyDown = e.EventType == CoreAcceleratorKeyEventType.KeyDown;
             }
             else if (e.EventType == CoreAcceleratorKeyEventType.KeyDown && s_isShiftKeyDown && e.VirtualKey == VirtualKey.F10)
             {
                 reactInstanceManager.DevSupportManager.ShowDevOptionsDialog();
             }
             else if (e.EventType == CoreAcceleratorKeyEventType.KeyUp && s_isControlKeyDown && e.VirtualKey == VirtualKey.R)
             {
                 reactInstanceManager.DevSupportManager.HandleReloadJavaScript();
             }
         }
     }
 }
 private static async void OnAcceleratorKeyActivated(ReactNativeHost host, CoreDispatcher sender, AcceleratorKeyEventArgs e)
 {
     if (host.HasInstance)
     {
         var reactInstanceManager = host.ReactInstanceManager;
         if (reactInstanceManager.DevSupportManager.IsEnabled)
         {
             if (e.VirtualKey == VirtualKey.Shift)
             {
                 s_isShiftKeyDown = e.EventType == CoreAcceleratorKeyEventType.KeyDown;
             }
             else if (e.VirtualKey == VirtualKey.Control)
             {
                 s_isControlKeyDown = e.EventType == CoreAcceleratorKeyEventType.KeyDown;
             }
             else if ((s_isShiftKeyDown && e.VirtualKey == VirtualKey.F10) ||
                      (e.EventType == CoreAcceleratorKeyEventType.KeyDown && e.VirtualKey == VirtualKey.Menu))
             {
                 reactInstanceManager.DevSupportManager.ShowDevOptionsDialog();
             }
             else if (e.EventType == CoreAcceleratorKeyEventType.KeyUp && s_isControlKeyDown && e.VirtualKey == VirtualKey.R)
             {
                 await reactInstanceManager.DevSupportManager.CreateReactContextFromPackagerAsync(CancellationToken.None).ConfigureAwait(false);
             }
         }
     }
 }
 private static void OnBackRequested(ReactNativeHost host, object sender, BackRequestedEventArgs e)
 {
     if (host.HasInstance)
     {
         host.ReactInstanceManager.OnBackPressed();
         e.Handled = true;
     }
 }
 public static void OnCreate(this ReactRootView rootView, ReactNativeHost host)
 {
     rootView.Background = (Brush)Application.Current.Resources["ApplicationPageBackgroundThemeBrush"];
     if (DispatcherHelpers.IsOnDispatcher())
     {
         SystemNavigationManager.GetForCurrentView().BackRequested += (sender, e) => OnBackRequested(host, sender, e);
         Window.Current.CoreWindow.Dispatcher.AcceleratorKeyActivated += (sender, e) => OnAcceleratorKeyActivated(host, sender, e);
     }
 }
Пример #8
0
        /// <summary>
        /// Called when the application is first initialized.
        /// </summary>
        /// <param name="host">The React Native host.</param>
        /// <param name="componentName">The component name.</param>
        /// <param name="initialProps">The initial props.</param>
        public static ReactRootView OnCreate(this ReactNativeHost host, string componentName, JObject initialProps)
        {
            var rootView = host.CreateRootView();

            rootView.OnCreate(host);
            rootView.StartReactApplication(
                host.ReactInstanceManager,
                componentName,
                initialProps);
            return(rootView);
        }
Пример #9
0
 /// <summary>
 /// Resumes the React instance manager.
 /// </summary>
 /// <param name="host">The React Native host.</param>
 /// <param name="onBackPressed">
 /// The action to take when back is pressed.
 /// </param>
 public static void OnResume(this ReactNativeHost host, Action onBackPressed)
 {
     host.ReactInstanceManager.OnResume(onBackPressed);
 }
Пример #10
0
 /// <summary>
 /// Called when the application is first initialized.
 /// </summary>
 /// <param name="host">The React Native host.</param>
 /// <param name="initialProps">The initial props.</param>
 public static ReactRootView OnCreate(this ReactNativeHost host, JObject initialProps)
 {
     return(host.OnCreate(host.MainComponentName, initialProps));
 }
Пример #11
0
 /// <summary>
 /// Called when the application is first initialized.
 /// </summary>
 /// <param name="host">The React Native host.</param>
 public static ReactRootView OnCreate(this ReactNativeHost host)
 {
     return(OnCreate(host, null));
 }