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