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