vn-verdnaturachat/android/app/src/main/java/chat/rocket/reactnative/MainApplication.java

117 lines
4.2 KiB
Java
Raw Normal View History

package chat.rocket.reactnative;
2017-08-03 18:23:43 +00:00
2019-03-12 16:23:06 +00:00
import android.app.Application;
import com.facebook.react.ReactApplication;
2019-07-18 17:25:18 +00:00
import io.github.elyx0.reactnativedocumentpicker.DocumentPickerPackage;
import io.invertase.firebase.RNFirebasePackage;
import io.invertase.firebase.fabric.crashlytics.RNFirebaseCrashlyticsPackage;
import io.invertase.firebase.analytics.RNFirebaseAnalyticsPackage;
import io.invertase.firebase.perf.RNFirebasePerformancePackage;
import com.reactnativecommunity.webview.RNCWebViewPackage;
2019-03-12 16:23:06 +00:00
import org.wonday.orientation.OrientationPackage;
import org.devio.rn.splashscreen.SplashScreenReactPackage;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;
import com.facebook.soloader.SoLoader;
2017-08-03 18:23:43 +00:00
import com.reactcommunity.rnlocalize.RNLocalizePackage;
import com.reactnative.ivpusic.imagepicker.PickerPackage;
import com.brentvatne.react.ReactVideoPackage;
import com.dylanvann.fastimage.FastImageViewPackage;
import com.oblador.vectoricons.VectorIconsPackage;
import com.rnim.rn.audio.ReactNativeAudioPackage;
import com.wix.reactnativekeyboardinput.KeyboardInputPackage;
import com.wix.reactnativenotifications.RNNotificationsPackage;
import com.wix.reactnativenotifications.core.AppLaunchHelper;
import com.wix.reactnativenotifications.core.AppLifecycleFacade;
import com.wix.reactnativenotifications.core.JsIOHelper;
import com.wix.reactnativenotifications.core.notification.INotificationsApplication;
import com.wix.reactnativenotifications.core.notification.IPushNotification;
import com.swmansion.gesturehandler.react.RNGestureHandlerPackage;
import com.learnium.RNDeviceInfo.RNDeviceInfo;
2019-01-30 12:11:02 +00:00
import com.actionsheet.ActionSheetPackage;
import io.realm.react.RealmReactPackage;
2019-03-12 16:23:06 +00:00
import com.swmansion.rnscreens.RNScreensPackage;
import chat.rocket.reactnative.generated.BasePackageList;
import org.unimodules.adapters.react.ModuleRegistryAdapter;
import org.unimodules.adapters.react.ReactModuleRegistryProvider;
import org.unimodules.core.interfaces.SingletonModule;
2019-03-12 16:23:06 +00:00
import android.content.Context;
import android.os.Bundle;
2019-03-12 16:23:06 +00:00
import java.util.Arrays;
import java.util.List;
2017-08-03 18:23:43 +00:00
2019-03-12 16:23:06 +00:00
public class MainApplication extends Application implements ReactApplication, INotificationsApplication {
private final ReactModuleRegistryProvider mModuleRegistryProvider = new ReactModuleRegistryProvider(new BasePackageList().getPackageList(), Arrays.<SingletonModule>asList());
2019-03-12 16:23:06 +00:00
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
@Override
public boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
}
2019-03-12 16:23:06 +00:00
@Override
2017-08-03 18:23:43 +00:00
protected List<ReactPackage> getPackages() {
2019-03-12 16:23:06 +00:00
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
2019-07-18 17:25:18 +00:00
new DocumentPickerPackage(),
new RNFirebasePackage(),
new RNFirebaseCrashlyticsPackage(),
new RNFirebaseAnalyticsPackage(),
new RNFirebasePerformancePackage(),
new RNCWebViewPackage(),
2019-03-12 16:23:06 +00:00
new OrientationPackage(),
new SplashScreenReactPackage(),
new RNGestureHandlerPackage(),
new RNScreensPackage(),
new ActionSheetPackage(),
new RNDeviceInfo(),
new PickerPackage(),
new VectorIconsPackage(),
new RealmReactPackage(),
new ReactVideoPackage(),
new ReactNativeAudioPackage(),
new KeyboardInputPackage(MainApplication.this),
new FastImageViewPackage(),
new RNLocalizePackage(),
new RNNotificationsPackage(MainApplication.this),
new ModuleRegistryAdapter(mModuleRegistryProvider)
2019-03-12 16:23:06 +00:00
);
}
@Override
2019-03-12 16:23:06 +00:00
protected String getJSMainModuleName() {
return "index";
2017-08-03 18:23:43 +00:00
}
2019-03-12 16:23:06 +00:00
};
2017-08-03 18:23:43 +00:00
2019-03-12 16:23:06 +00:00
@Override
public ReactNativeHost getReactNativeHost() {
return mReactNativeHost;
}
2019-03-12 16:23:06 +00:00
@Override
public void onCreate() {
super.onCreate();
SoLoader.init(this, /* native exopackage */ false);
}
@Override
public IPushNotification getPushNotification(Context context, Bundle bundle, AppLifecycleFacade defaultFacade, AppLaunchHelper defaultAppLaunchHelper) {
return new CustomPushNotification(
context,
bundle,
defaultFacade,
defaultAppLaunchHelper,
new JsIOHelper()
);
}
2017-08-03 18:23:43 +00:00
}