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.brightness.BrightnessPackage;
19 import expo.modules.calendar.CalendarPackage;
20 import expo.modules.camera.CameraPackage;
21 import expo.modules.constants.ConstantsPackage;
22 import expo.modules.contacts.ContactsPackage;
23 import expo.modules.documentpicker.DocumentPickerPackage;
24 import expo.modules.facebook.FacebookPackage;
25 import expo.modules.facedetector.FaceDetectorPackage;
26 import expo.modules.filesystem.FileSystemPackage;
27 import expo.modules.font.FontLoaderPackage;
28 import expo.modules.gl.GLPackage;
29 import expo.modules.google.signin.GoogleSignInPackage;
30 import expo.modules.haptics.HapticsPackage;
31 import expo.modules.imagemanipulator.ImageManipulatorPackage;
32 import expo.modules.imagepicker.ImagePickerPackage;
33 import expo.modules.intentlauncher.IntentLauncherPackage;
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.sharing.SharingPackage;
46 import expo.modules.sms.SMSPackage;
47 import expo.modules.speech.SpeechPackage;
48 import expo.modules.sqlite.SQLitePackage;
49 import expo.modules.taskManager.TaskManagerPackage;
50 import expo.modules.webbrowser.WebBrowserPackage;
51 import okhttp3.OkHttpClient;
52 
53 // Needed for `react-native link`
54 // import com.facebook.react.ReactApplication;
55 
56 public class MainApplication extends ExpoApplication implements AppLoaderPackagesProviderInterface<ReactPackage> {
57 
58   @Override
59   public boolean isDebug() {
60     return BuildConfig.DEBUG;
61   }
62 
63   // Needed for `react-native link`
64   public List<ReactPackage> getPackages() {
65     return Arrays.<ReactPackage>asList(
66         // Add your own packages here!
67         // TODO: add native modules!
68 
69         // Needed for `react-native link`
70         // new MainReactPackage()
71     );
72   }
73 
74   public List<Package> getExpoPackages() {
75     return Arrays.<Package>asList(
76         new AVPackage(),
77         new AdMobPackage(),
78         new AdsFacebookPackage(),
79         new AppAuthPackage(),
80         new AmplitudePackage(),
81         new BackgroundFetchPackage(),
82         new BarCodeScannerPackage(),
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 IntentLauncherPackage(),
99         new KeepAwakePackage(),
100         new LinearGradientPackage(),
101         new LocalAuthenticationPackage(),
102         new LocalizationPackage(),
103         new LocationPackage(),
104         new MailComposerPackage(),
105         new MediaLibraryPackage(),
106         new PermissionsPackage(),
107         new PrintPackage(),
108         new SMSPackage(),
109         new SQLitePackage(),
110         new SecureStorePackage(),
111         new SegmentPackage(),
112         new SensorsPackage(),
113         new SharingPackage(),
114         new SpeechPackage(),
115         new TaskManagerPackage(),
116         new WebBrowserPackage()
117     );
118   }
119 
120   @Override
121   public String gcmSenderId() {
122     return getString(R.string.gcm_defaultSenderId);
123   }
124 
125   public static OkHttpClient.Builder okHttpClientBuilder(OkHttpClient.Builder builder) {
126     // Customize/override OkHttp client here
127     return builder;
128   }
129 
130 }
131