react-native-navigation的迁移库

ReactGateway.java 2.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package com.reactnativenavigation.react;
  2. import android.app.Activity;
  3. import android.content.Intent;
  4. import com.facebook.react.ReactNativeHost;
  5. import com.reactnativenavigation.NavigationActivity;
  6. public class ReactGateway {
  7. private final ReactNativeHost host;
  8. private final NavigationReactInitializer initializer;
  9. private final JsDevReloadHandler jsDevReloadHandler;
  10. public ReactGateway(ReactNativeHost host) {
  11. this.host = host;
  12. initializer = new NavigationReactInitializer(host.getReactInstanceManager(), host.getUseDeveloperSupport());
  13. jsDevReloadHandler = new JsDevReloadHandler(host.getReactInstanceManager().getDevSupportManager());
  14. if (host instanceof BundleDownloadListenerProvider) {
  15. ((BundleDownloadListenerProvider) host).setBundleLoaderListener(jsDevReloadHandler);
  16. }
  17. }
  18. public void onActivityCreated(NavigationActivity activity) {
  19. initializer.onActivityCreated();
  20. jsDevReloadHandler.setReloadListener(activity);
  21. }
  22. public void onActivityResumed(NavigationActivity activity) {
  23. initializer.onActivityResumed(activity);
  24. jsDevReloadHandler.onActivityResumed(activity);
  25. }
  26. public boolean onNewIntent(Intent intent) {
  27. if (host.hasInstance()) {
  28. host.getReactInstanceManager().onNewIntent(intent);
  29. return true;
  30. }
  31. return false;
  32. }
  33. public void onActivityPaused(NavigationActivity activity) {
  34. initializer.onActivityPaused(activity);
  35. jsDevReloadHandler.onActivityPaused(activity);
  36. }
  37. public void onActivityDestroyed(NavigationActivity activity) {
  38. jsDevReloadHandler.removeReloadListener(activity);
  39. initializer.onActivityDestroyed(activity);
  40. }
  41. public boolean onKeyUp(final int keyCode) {
  42. return jsDevReloadHandler.onKeyUp(keyCode);
  43. }
  44. public void onBackPressed() {
  45. host.getReactInstanceManager().onBackPressed();
  46. }
  47. public void onActivityResult(Activity activity, int requestCode, int resultCode, Intent data) {
  48. host.getReactInstanceManager().onActivityResult(activity, requestCode, resultCode, data);
  49. }
  50. }