Files
status-react/android/app/src/main/java/im/status/ethereum/MainApplication.java
T

88 lines
3.0 KiB
Java
Raw Normal View History

2016-11-18 16:49:51 +02:00
package im.status.ethereum;
2019-08-07 15:08:22 +02:00
import androidx.multidex.MultiDexApplication;
2020-05-01 10:20:06 +03:00
import android.content.Context;
import android.webkit.WebView;
import im.status.ethereum.newarchitecture.MainApplicationReactNativeHost;
2020-05-01 10:20:06 +03:00
import java.lang.reflect.InvocationTargetException;
2019-08-06 18:16:51 +02:00
import com.facebook.react.PackageList;
2019-01-24 14:18:34 +01:00
2017-05-17 16:22:10 +03:00
import com.aakashns.reactnativedialogs.ReactNativeDialogsPackage;
import com.facebook.react.ReactApplication;
2021-08-30 19:51:19 -03:00
import cl.json.RNSharePackage;
import com.facebook.react.ReactNativeHost;
2021-05-24 16:25:05 +02:00
import com.reactnativenavigation.NavigationApplication;
import com.reactnativenavigation.react.NavigationReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.config.ReactFeatureFlags;
2020-05-01 10:20:06 +03:00
import com.facebook.react.ReactInstanceManager;
import com.facebook.react.modules.network.OkHttpClientProvider;
import com.reactnativecommunity.blurview.BlurViewPackage;
import java.util.List;
2019-01-24 14:18:34 +01:00
import im.status.ethereum.keycard.RNStatusKeycardPackage;
import im.status.ethereum.module.StatusPackage;
2020-09-25 15:35:10 +03:00
import im.status.ethereum.pushnotifications.PushNotificationPackage;
import im.status.ethereum.StatusOkHttpClientFactory;
2022-06-28 22:57:14 +05:30
import com.facebook.react.bridge.JSIModulePackage;
import com.swmansion.reanimated.ReanimatedJSIModulePackage;
2021-05-24 16:25:05 +02:00
public class MainApplication extends NavigationApplication {
2021-05-24 16:25:05 +02:00
private final ReactNativeHost mReactNativeHost = new NavigationReactNativeHost(this) {
2017-05-17 16:22:10 +03:00
@Override
public boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
}
@Override
protected List<ReactPackage> getPackages() {
2019-01-24 14:18:34 +01:00
StatusPackage statusPackage = new StatusPackage(RootUtil.isDeviceRooted());
2020-09-25 15:35:10 +03:00
2019-08-06 18:16:51 +02:00
List<ReactPackage> packages = new PackageList(this).getPackages();
packages.add(statusPackage);
packages.add(new ReactNativeDialogsPackage());
packages.add(new RNStatusKeycardPackage());
2020-09-25 15:35:10 +03:00
packages.add(new PushNotificationPackage());
packages.add(new BlurViewPackage());
2019-08-06 18:16:51 +02:00
return packages;
2017-05-17 16:22:10 +03:00
}
@Override
protected String getJSMainModuleName() {
2019-09-07 14:57:22 +02:00
return "index";
}
2022-06-28 22:57:14 +05:30
@Override
protected JSIModulePackage getJSIModulePackage() {
return new ReanimatedJSIModulePackage();
}
2017-05-17 16:22:10 +03:00
};
private final ReactNativeHost mNewArchitectureNativeHost = new MainApplicationReactNativeHost(this);
@Override
2017-05-17 16:22:10 +03:00
public ReactNativeHost getReactNativeHost() {
if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
return mNewArchitectureNativeHost;
} else {
return mReactNativeHost;
}
}
@Override
public void onCreate() {
super.onCreate();
// If you opted-in for the New Architecture, we enable the TurboModule system
ReactFeatureFlags.useTurboModules = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
OkHttpClientProvider.setOkHttpClientFactory(new StatusOkHttpClientFactory());
WebView.setWebContentsDebuggingEnabled(BuildConfig.DEBUG_WEBVIEW == "1");
}
}