diff options
| author | Alberto-Duarte <alberto@albertoduarte.com> | 2023-05-11 11:40:35 +0100 |
|---|---|---|
| committer | Alberto-Duarte <alberto@albertoduarte.com> | 2023-05-11 11:40:35 +0100 |
| commit | 6ff7c459e3d08ebdf6da6973ebe0410b5cab9c0a (patch) | |
| tree | cc54b937a9c854c3f2bd27960a2e3234fce3f355 /android/app/src/main/java/com/reactnativeapp | |
first commit
Diffstat (limited to 'android/app/src/main/java/com/reactnativeapp')
| -rw-r--r-- | android/app/src/main/java/com/reactnativeapp/MainActivity.java | 35 | ||||
| -rw-r--r-- | android/app/src/main/java/com/reactnativeapp/MainApplication.java | 62 |
2 files changed, 97 insertions, 0 deletions
diff --git a/android/app/src/main/java/com/reactnativeapp/MainActivity.java b/android/app/src/main/java/com/reactnativeapp/MainActivity.java new file mode 100644 index 0000000..1dff2f8 --- /dev/null +++ b/android/app/src/main/java/com/reactnativeapp/MainActivity.java @@ -0,0 +1,35 @@ +package com.reactnativeapp; + +import com.facebook.react.ReactActivity; +import com.facebook.react.ReactActivityDelegate; +import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; +import com.facebook.react.defaults.DefaultReactActivityDelegate; + +public class MainActivity extends ReactActivity { + + /** + * Returns the name of the main component registered from JavaScript. This is used to schedule + * rendering of the component. + */ + @Override + protected String getMainComponentName() { + return "reactnativeapp"; + } + + /** + * Returns the instance of the {@link ReactActivityDelegate}. Here we use a util class {@link + * DefaultReactActivityDelegate} which allows you to easily enable Fabric and Concurrent React + * (aka React 18) with two boolean flags. + */ + @Override + protected ReactActivityDelegate createReactActivityDelegate() { + return new DefaultReactActivityDelegate( + this, + getMainComponentName(), + // If you opted-in for the New Architecture, we enable the Fabric Renderer. + DefaultNewArchitectureEntryPoint.getFabricEnabled(), // fabricEnabled + // If you opted-in for the New Architecture, we enable Concurrent React (i.e. React 18). + DefaultNewArchitectureEntryPoint.getConcurrentReactEnabled() // concurrentRootEnabled + ); + } +} diff --git a/android/app/src/main/java/com/reactnativeapp/MainApplication.java b/android/app/src/main/java/com/reactnativeapp/MainApplication.java new file mode 100644 index 0000000..832b75e --- /dev/null +++ b/android/app/src/main/java/com/reactnativeapp/MainApplication.java @@ -0,0 +1,62 @@ +package com.reactnativeapp; + +import android.app.Application; +import com.facebook.react.PackageList; +import com.facebook.react.ReactApplication; +import com.facebook.react.ReactNativeHost; +import com.facebook.react.ReactPackage; +import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; +import com.facebook.react.defaults.DefaultReactNativeHost; +import com.facebook.soloader.SoLoader; +import java.util.List; + +public class MainApplication extends Application implements ReactApplication { + + private final ReactNativeHost mReactNativeHost = + new DefaultReactNativeHost(this) { + @Override + public boolean getUseDeveloperSupport() { + return BuildConfig.DEBUG; + } + + @Override + protected List<ReactPackage> getPackages() { + @SuppressWarnings("UnnecessaryLocalVariable") + List<ReactPackage> packages = new PackageList(this).getPackages(); + // Packages that cannot be autolinked yet can be added manually here, for example: + // packages.add(new MyReactNativePackage()); + return packages; + } + + @Override + protected String getJSMainModuleName() { + return "index"; + } + + @Override + protected boolean isNewArchEnabled() { + return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED; + } + + @Override + protected Boolean isHermesEnabled() { + return BuildConfig.IS_HERMES_ENABLED; + } + }; + + @Override + public ReactNativeHost getReactNativeHost() { + return mReactNativeHost; + } + + @Override + public void onCreate() { + super.onCreate(); + SoLoader.init(this, /* native exopackage */ false); + if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { + // If you opted-in for the New Architecture, we load the native entry point for this app. + DefaultNewArchitectureEntryPoint.load(); + } + ReactNativeFlipper.initializeFlipper(this, getReactNativeHost().getReactInstanceManager()); + } +} |