Created
February 25, 2020 22:52
-
-
Save lrlineroa/93e7fb866b482f677f13e8d81338d2fd to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.cerezabusiness.supercerebros; | |
import androidx.multidex.MultiDexApplication; | |
import android.content.Context; | |
import com.facebook.react.PackageList; | |
import com.facebook.react.ReactApplication; | |
import com.facebook.react.ReactNativeHost; | |
import com.facebook.react.ReactPackage; | |
import com.facebook.soloader.SoLoader; | |
import java.lang.reflect.InvocationTargetException; | |
import java.util.List; | |
//react-native-unimodules installation | |
import com.cerezabusiness.supercerebros.generated.BasePackageList; | |
import org.unimodules.adapters.react.ModuleRegistryAdapter; | |
import org.unimodules.adapters.react.ReactModuleRegistryProvider; | |
import org.unimodules.core.interfaces.SingletonModule; | |
import java.util.Arrays; | |
//react-native-unimodules installation | |
public class MainApplication extends MultiDexApplication implements ReactApplication { | |
// react-native-unimodules installation | |
private final ReactModuleRegistryProvider mModuleRegistryProvider = new ReactModuleRegistryProvider( | |
new BasePackageList().getPackageList(), Arrays.<SingletonModule>asList()); | |
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(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()); | |
// react-native-unimodules installation | |
// Add unimodules | |
List<ReactPackage> unimodules = Arrays.<ReactPackage>asList(new ModuleRegistryAdapter(mModuleRegistryProvider)); | |
packages.addAll(unimodules); | |
// react-native-unimodules installation | |
return packages; | |
} | |
@Override | |
protected String getJSMainModuleName() { | |
return "index"; | |
} | |
}; | |
@Override | |
public ReactNativeHost getReactNativeHost() { | |
return mReactNativeHost; | |
} | |
@Override | |
public void onCreate() { | |
super.onCreate(); | |
SoLoader.init(this, /* native exopackage */ false); | |
initializeFlipper(this); // Remove this line if you don't want Flipper enabled | |
} | |
/** | |
* Loads Flipper in React Native templates. | |
* | |
* @param context | |
*/ | |
private static void initializeFlipper(Context context) { | |
if (BuildConfig.DEBUG) { | |
try { | |
/* | |
* We use reflection here to pick up the class that initializes Flipper, since | |
* Flipper library is not available in release mode | |
*/ | |
Class<?> aClass = Class.forName("com.facebook.flipper.ReactNativeFlipper"); | |
aClass.getMethod("initializeFlipper", Context.class).invoke(null, context); | |
} catch (ClassNotFoundException e) { | |
e.printStackTrace(); | |
} catch (NoSuchMethodException e) { | |
e.printStackTrace(); | |
} catch (IllegalAccessException e) { | |
e.printStackTrace(); | |
} catch (InvocationTargetException e) { | |
e.printStackTrace(); | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment