1 package host.exp.exponent; 2 3 import com.facebook.react.ReactPackage; 4 5 import java.util.Arrays; 6 import java.util.List; 7 8 import expo.core.interfaces.Package; 9 import expo.loaders.provider.interfaces.AppLoaderPackagesProviderInterface; 10 import expo.modules.ads.admob.AdMobPackage; 11 import expo.modules.ads.facebook.AdsFacebookPackage; 12 import expo.modules.analytics.segment.SegmentPackage; 13 import expo.modules.appauth.AppAuthPackage; 14 import expo.modules.av.AVPackage; 15 import expo.modules.backgroundfetch.BackgroundFetchPackage; 16 import expo.modules.barcodescanner.BarCodeScannerPackage; 17 import expo.modules.blurview.BlurViewPackage; 18 import expo.modules.camera.CameraPackage; 19 import expo.modules.constants.ConstantsPackage; 20 import expo.modules.contacts.ContactsPackage; 21 import expo.modules.documentpicker.DocumentPickerPackage; 22 import expo.modules.facebook.FacebookPackage; 23 import expo.modules.facedetector.FaceDetectorPackage; 24 import expo.modules.filesystem.FileSystemPackage; 25 import expo.modules.font.FontLoaderPackage; 26 import expo.modules.gl.GLPackage; 27 import expo.modules.google.signin.GoogleSignInPackage; 28 import expo.modules.imagepicker.ImagePickerPackage; 29 import expo.modules.keepawake.KeepAwakePackage; 30 import expo.modules.lineargradient.LinearGradientPackage; 31 import expo.modules.localauthentication.LocalAuthenticationPackage; 32 import expo.modules.localization.LocalizationPackage; 33 import expo.modules.location.LocationPackage; 34 import expo.modules.mailcomposer.MailComposerPackage; 35 import expo.modules.medialibrary.MediaLibraryPackage; 36 import expo.modules.permissions.PermissionsPackage; 37 import expo.modules.print.PrintPackage; 38 import expo.modules.securestore.SecureStorePackage; 39 import expo.modules.sensors.SensorsPackage; 40 import expo.modules.sms.SMSPackage; 41 import expo.modules.speech.SpeechPackage; 42 import expo.modules.sqlite.SQLitePackage; 43 import expo.modules.taskManager.TaskManagerPackage; 44 import expolib_v1.okhttp3.OkHttpClient; 45 46 // Needed for `react-native link` 47 // import com.facebook.react.ReactApplication; 48 49 public class MainApplication extends ExpoApplication implements AppLoaderPackagesProviderInterface<ReactPackage> { 50 51 @Override 52 public boolean isDebug() { 53 return BuildConfig.DEBUG; 54 } 55 56 // Needed for `react-native link` 57 public List<ReactPackage> getPackages() { 58 return Arrays.<ReactPackage>asList( 59 // Add your own packages here! 60 // TODO: add native modules! 61 62 // Needed for `react-native link` 63 // new MainReactPackage() 64 ); 65 } 66 67 public List<Package> getExpoPackages() { 68 return Arrays.<Package>asList( 69 new AVPackage(), 70 new AdMobPackage(), 71 new AdsFacebookPackage(), 72 new AppAuthPackage(), 73 new BackgroundFetchPackage(), 74 new BarCodeScannerPackage(), 75 new BlurViewPackage(), 76 new CameraPackage(), 77 new ConstantsPackage(), 78 new ContactsPackage(), 79 new DocumentPickerPackage(), 80 new FaceDetectorPackage(), 81 new FacebookPackage(), 82 new FileSystemPackage(), 83 new FontLoaderPackage(), 84 new GLPackage(), 85 new GoogleSignInPackage(), 86 new ImagePickerPackage(), 87 new KeepAwakePackage(), 88 new LinearGradientPackage(), 89 new LocalAuthenticationPackage(), 90 new LocalizationPackage(), 91 new LocationPackage(), 92 new MailComposerPackage(), 93 new MediaLibraryPackage(), 94 new PermissionsPackage(), 95 new PrintPackage(), 96 new SMSPackage(), 97 new SQLitePackage(), 98 new SecureStorePackage(), 99 new SegmentPackage(), 100 new SensorsPackage(), 101 new SpeechPackage(), 102 new TaskManagerPackage() 103 ); 104 } 105 106 @Override 107 public String gcmSenderId() { 108 return getString(R.string.gcm_defaultSenderId); 109 } 110 111 @Override 112 public boolean shouldUseInternetKernel() { 113 return BuildVariantConstants.USE_INTERNET_KERNEL; 114 } 115 116 public static OkHttpClient.Builder okHttpClientBuilder(OkHttpClient.Builder builder) { 117 // Customize/override OkHttp client here 118 return builder; 119 } 120 } 121