/// <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(); } }
/// <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(); } }
/// <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); } }
/// <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); }
/// <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); }
/// <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)); }
/// <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)); }