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