1 package versioned.host.exp.exponent
2 
3 import expo.modules.ads.admob.AdMobPackage
4 import expo.modules.ads.facebook.AdsFacebookPackage
5 import expo.modules.analytics.amplitude.AmplitudePackage
6 import expo.modules.analytics.segment.SegmentPackage
7 import expo.modules.appauth.AppAuthPackage
8 import expo.modules.application.ApplicationPackage
9 import expo.modules.av.AVPackage
10 import expo.modules.backgroundfetch.BackgroundFetchPackage
11 import expo.modules.barcodescanner.BarCodeScannerPackage
12 import expo.modules.battery.BatteryPackage
13 import expo.modules.brightness.BrightnessPackage
14 import expo.modules.calendar.CalendarPackage
15 import expo.modules.camera.CameraPackage
16 import expo.modules.cellular.CellularPackage
17 import expo.modules.clipboard.ClipboardPackage
18 import expo.modules.constants.ConstantsPackage
19 import expo.modules.contacts.ContactsPackage
20 import expo.modules.core.interfaces.Package
21 import expo.modules.crypto.CryptoPackage
22 import expo.modules.device.DevicePackage
23 import expo.modules.documentpicker.DocumentPickerPackage
24 import expo.modules.errorrecovery.ErrorRecoveryPackage
25 import expo.modules.facebook.FacebookPackage
26 import expo.modules.facedetector.FaceDetectorPackage
27 import expo.modules.filesystem.FileSystemPackage
28 import expo.modules.firebase.analytics.FirebaseAnalyticsPackage
29 import expo.modules.firebase.core.FirebaseCorePackage
30 import expo.modules.font.FontLoaderPackage
31 import expo.modules.gl.GLPackage
32 import expo.modules.google.signin.GoogleSignInPackage
33 import expo.modules.haptics.HapticsPackage
34 import expo.modules.imageloader.ImageLoaderPackage
35 import expo.modules.imagemanipulator.ImageManipulatorPackage
36 import expo.modules.imagepicker.ImagePickerPackage
37 import expo.modules.intentlauncher.IntentLauncherPackage
38 import expo.modules.keepawake.KeepAwakePackage
39 import expo.modules.lineargradient.LinearGradientPackage
40 import expo.modules.localauthentication.LocalAuthenticationPackage
41 import expo.modules.localization.LocalizationPackage
42 import expo.modules.location.LocationPackage
43 import expo.modules.mailcomposer.MailComposerPackage
44 import expo.modules.medialibrary.MediaLibraryPackage
45 import expo.modules.network.NetworkPackage
46 import expo.modules.notifications.NotificationsPackage
47 import expo.modules.payments.stripe.StripePackage
48 import expo.modules.permissions.PermissionsPackage
49 import expo.modules.print.PrintPackage
50 import expo.modules.screencapture.ScreenCapturePackage
51 import expo.modules.screenorientation.ScreenOrientationPackage
52 import expo.modules.securestore.SecureStorePackage
53 import expo.modules.sensors.SensorsPackage
54 import expo.modules.sharing.SharingPackage
55 import expo.modules.sms.SMSPackage
56 import expo.modules.speech.SpeechPackage
57 import expo.modules.splashscreen.SplashScreenPackage
58 import expo.modules.sqlite.SQLitePackage
59 import expo.modules.storereview.StoreReviewPackage
60 import expo.modules.taskManager.TaskManagerPackage
61 import expo.modules.updates.UpdatesPackage
62 import expo.modules.manifests.core.Manifest
63 import expo.modules.videothumbnails.VideoThumbnailsPackage
64 import expo.modules.webbrowser.WebBrowserPackage
65 
66 object ExperiencePackagePicker {
67   private val EXPO_MODULES_PACKAGES = listOf(
68     AVPackage(),
69     AdMobPackage(),
70     AdsFacebookPackage(),
71     AppAuthPackage(),
72     ApplicationPackage(),
73     AmplitudePackage(),
74     BatteryPackage(),
75     BackgroundFetchPackage(),
76     BarCodeScannerPackage(),
77     BrightnessPackage(),
78     CalendarPackage(),
79     CameraPackage(),
80     CellularPackage(),
81     ClipboardPackage(),
82     ConstantsPackage(),
83     ContactsPackage(),
84     CryptoPackage(),
85     DevicePackage(),
86     DocumentPickerPackage(),
87     ErrorRecoveryPackage(),
88     FacebookPackage(),
89     FaceDetectorPackage(),
90     FileSystemPackage(),
91     FirebaseCorePackage(),
92     FirebaseAnalyticsPackage(),
93     FontLoaderPackage(),
94     GLPackage(),
95     GoogleSignInPackage(),
96     HapticsPackage(),
97     ImageLoaderPackage(),
98     ImageManipulatorPackage(),
99     ImagePickerPackage(),
100     IntentLauncherPackage(),
101     KeepAwakePackage(),
102     LinearGradientPackage(),
103     LocalAuthenticationPackage(),
104     LocalizationPackage(),
105     LocationPackage(),
106     MailComposerPackage(),
107     MediaLibraryPackage(),
108     NetworkPackage(),
109     NotificationsPackage(),
110     PermissionsPackage(),
111     PrintPackage(),
112     SMSPackage(),
113     StoreReviewPackage(),
114     SQLitePackage(),
115     ScreenCapturePackage(),
116     ScreenOrientationPackage(),
117     SecureStorePackage(),
118     SegmentPackage(),
119     SensorsPackage(),
120     SharingPackage(),
121     SpeechPackage(),
122     SplashScreenPackage(),
123     StripePackage(),
124     TaskManagerPackage(),
125     UpdatesPackage(),
126     VideoThumbnailsPackage(),
127     WebBrowserPackage()
128   )
129 
130   /**
131    * Returns all available packages.
132    */
133   fun packages(): List<Package> {
134     return EXPO_MODULES_PACKAGES
135   }
136 
137   /**
138    * Returns packages filtered based on the app's manifest.
139    * For now, filtering is not applied but it is on the todo list.
140    */
141   fun packages(manifest: Manifest?): List<Package> {
142     return EXPO_MODULES_PACKAGES
143   }
144 }
145