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.permissions.PermissionsPackage
48 import expo.modules.print.PrintPackage
49 import expo.modules.screencapture.ScreenCapturePackage
50 import expo.modules.screenorientation.ScreenOrientationPackage
51 import expo.modules.securestore.SecureStorePackage
52 import expo.modules.sensors.SensorsPackage
53 import expo.modules.sharing.SharingPackage
54 import expo.modules.sms.SMSPackage
55 import expo.modules.speech.SpeechPackage
56 import expo.modules.splashscreen.SplashScreenPackage
57 import expo.modules.sqlite.SQLitePackage
58 import expo.modules.storereview.StoreReviewPackage
59 import expo.modules.taskManager.TaskManagerPackage
60 import expo.modules.updates.UpdatesPackage
61 import expo.modules.manifests.core.Manifest
62 import expo.modules.videothumbnails.VideoThumbnailsPackage
63 import expo.modules.webbrowser.WebBrowserPackage
64 
65 object ExperiencePackagePicker {
66   private val EXPO_MODULES_PACKAGES = listOf(
67     AVPackage(),
68     AdMobPackage(),
69     AdsFacebookPackage(),
70     AppAuthPackage(),
71     ApplicationPackage(),
72     AmplitudePackage(),
73     BatteryPackage(),
74     BackgroundFetchPackage(),
75     BarCodeScannerPackage(),
76     BrightnessPackage(),
77     CalendarPackage(),
78     CameraPackage(),
79     CellularPackage(),
80     ClipboardPackage(),
81     ConstantsPackage(),
82     ContactsPackage(),
83     CryptoPackage(),
84     DevicePackage(),
85     DocumentPickerPackage(),
86     ErrorRecoveryPackage(),
87     FacebookPackage(),
88     FaceDetectorPackage(),
89     FileSystemPackage(),
90     FirebaseCorePackage(),
91     FirebaseAnalyticsPackage(),
92     FontLoaderPackage(),
93     GLPackage(),
94     GoogleSignInPackage(),
95     HapticsPackage(),
96     ImageLoaderPackage(),
97     ImageManipulatorPackage(),
98     ImagePickerPackage(),
99     IntentLauncherPackage(),
100     KeepAwakePackage(),
101     LinearGradientPackage(),
102     LocalAuthenticationPackage(),
103     LocalizationPackage(),
104     LocationPackage(),
105     MailComposerPackage(),
106     MediaLibraryPackage(),
107     NetworkPackage(),
108     NotificationsPackage(),
109     PermissionsPackage(),
110     PrintPackage(),
111     SMSPackage(),
112     StoreReviewPackage(),
113     SQLitePackage(),
114     ScreenCapturePackage(),
115     ScreenOrientationPackage(),
116     SecureStorePackage(),
117     SegmentPackage(),
118     SensorsPackage(),
119     SharingPackage(),
120     SpeechPackage(),
121     SplashScreenPackage(),
122     TaskManagerPackage(),
123     UpdatesPackage(),
124     VideoThumbnailsPackage(),
125     WebBrowserPackage()
126   )
127 
128   /**
129    * Returns all available packages.
130    */
131   fun packages(): List<Package> {
132     return EXPO_MODULES_PACKAGES
133   }
134 
135   /**
136    * Returns packages filtered based on the app's manifest.
137    * For now, filtering is not applied but it is on the todo list.
138    */
139   fun packages(manifest: Manifest?): List<Package> {
140     return EXPO_MODULES_PACKAGES
141   }
142 }
143