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 org.unimodules.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.videothumbnails.VideoThumbnailsPackage;
51 import expo.modules.webbrowser.WebBrowserPackage;
52 import okhttp3.OkHttpClient;
53 
54 // Needed for `react-native link`
55 // import com.facebook.react.ReactApplication;
56 
57 public class MainApplication extends ExpoApplication implements AppLoaderPackagesProviderInterface<ReactPackage> {
58 
59   @Override
60   public boolean isDebug() {
61     return BuildConfig.DEBUG;
62   }
63 
64   // Needed for `react-native link`
65   public List<ReactPackage> getPackages() {
66     return Arrays.<ReactPackage>asList(
67         // Add your own packages here!
68         // TODO: add native modules!
69 
70         // Needed for `react-native link`
71         // new MainReactPackage()
72     );
73   }
74 
75   public List<Package> getExpoPackages() {
76     return Arrays.<Package>asList(
77         new AVPackage(),
78         new AdMobPackage(),
79         new AdsFacebookPackage(),
80         new AppAuthPackage(),
81         new AmplitudePackage(),
82         new BackgroundFetchPackage(),
83         new BarCodeScannerPackage(),
84         new BrightnessPackage(),
85         new CalendarPackage(),
86         new CameraPackage(),
87         new ConstantsPackage(),
88         new ContactsPackage(),
89         new DocumentPickerPackage(),
90         new FaceDetectorPackage(),
91         new FacebookPackage(),
92         new FileSystemPackage(),
93         new FontLoaderPackage(),
94         new GLPackage(),
95         new GoogleSignInPackage(),
96         new HapticsPackage(),
97         new ImageManipulatorPackage(),
98         new ImagePickerPackage(),
99         new IntentLauncherPackage(),
100         new KeepAwakePackage(),
101         new LinearGradientPackage(),
102         new LocalAuthenticationPackage(),
103         new LocalizationPackage(),
104         new LocationPackage(),
105         new MailComposerPackage(),
106         new MediaLibraryPackage(),
107         new PermissionsPackage(),
108         new PrintPackage(),
109         new SMSPackage(),
110         new SQLitePackage(),
111         new SecureStorePackage(),
112         new SegmentPackage(),
113         new SensorsPackage(),
114         new SharingPackage(),
115         new SpeechPackage(),
116         new TaskManagerPackage(),
117         new VideoThumbnailsPackage(),
118         new WebBrowserPackage()
119     );
120   }
121 
122   @Override
123   public String gcmSenderId() {
124     return getString(R.string.gcm_defaultSenderId);
125   }
126 
127   public static OkHttpClient.Builder okHttpClientBuilder(OkHttpClient.Builder builder) {
128     // Customize/override OkHttp client here
129     return builder;
130   }
131 
132 }
133