1 package expo.modules.devmenu.react
2 
3 import android.app.Application
4 import com.facebook.hermes.reactexecutor.HermesExecutorFactory
5 import com.facebook.react.bridge.JavaScriptExecutorFactory
6 import com.facebook.react.jscexecutor.JSCExecutorFactory
7 import com.facebook.react.modules.systeminfo.AndroidInfoHelpers
8 import com.facebook.soloader.SoLoader
9 
createNonDebuggableJavaScriptExecutorFactorynull10 fun createNonDebuggableJavaScriptExecutorFactory(application: Application): JavaScriptExecutorFactory {
11   SoLoader.init(application.applicationContext, /* native exopackage */ false)
12   if (SoLoader.getLibraryPath("libjsc.so") != null) {
13     return JSCExecutorFactory(application.packageName, AndroidInfoHelpers.getFriendlyDeviceName())
14   }
15   return HermesExecutorFactory().also {
16     try {
17       HermesExecutorFactory::class.java
18         .getMethod("setEnableDebugger", Boolean::class.java)
19         .invoke(it, false)
20     } catch (_: Throwable) {
21     }
22   }
23 }
24