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.application.ApplicationPackage 8 import expo.modules.av.AVPackage 9 import expo.modules.backgroundfetch.BackgroundFetchPackage 10 import expo.modules.barcodescanner.BarCodeScannerPackage 11 import expo.modules.battery.BatteryPackage 12 import expo.modules.brightness.BrightnessPackage 13 import expo.modules.calendar.CalendarPackage 14 import expo.modules.camera.CameraPackage 15 import expo.modules.cellular.CellularModule 16 import expo.modules.clipboard.ClipboardModule 17 import expo.modules.constants.ConstantsPackage 18 import expo.modules.contacts.ContactsPackage 19 import expo.modules.core.interfaces.Package 20 import expo.modules.crypto.CryptoModule 21 import expo.modules.device.DevicePackage 22 import expo.modules.documentpicker.DocumentPickerPackage 23 import expo.modules.easclient.EASClientModule 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.haptics.HapticsPackage 33 import expo.modules.imageloader.ImageLoaderPackage 34 import expo.modules.imagemanipulator.ImageManipulatorPackage 35 import expo.modules.imagepicker.ImagePickerModule 36 import expo.modules.intentlauncher.IntentLauncherPackage 37 import expo.modules.keepawake.KeepAwakePackage 38 import expo.modules.kotlin.ModulesProvider 39 import expo.modules.kotlin.modules.Module 40 import expo.modules.lineargradient.LinearGradientModule 41 import expo.modules.localauthentication.LocalAuthenticationPackage 42 import expo.modules.localization.LocalizationModule 43 import expo.modules.location.LocationPackage 44 import expo.modules.mailcomposer.MailComposerPackage 45 import expo.modules.manifests.core.Manifest 46 import expo.modules.medialibrary.MediaLibraryPackage 47 import expo.modules.navigationbar.NavigationBarPackage 48 import expo.modules.network.NetworkPackage 49 import expo.modules.notifications.NotificationsPackage 50 import expo.modules.permissions.PermissionsPackage 51 import expo.modules.print.PrintPackage 52 import expo.modules.random.RandomModule 53 import expo.modules.screencapture.ScreenCapturePackage 54 import expo.modules.screenorientation.ScreenOrientationPackage 55 import expo.modules.securestore.SecureStorePackage 56 import expo.modules.sensors.SensorsPackage 57 import expo.modules.sharing.SharingPackage 58 import expo.modules.sms.SMSPackage 59 import expo.modules.speech.SpeechPackage 60 import expo.modules.splashscreen.SplashScreenPackage 61 import expo.modules.sqlite.SQLitePackage 62 import expo.modules.storereview.StoreReviewPackage 63 import expo.modules.systemui.SystemUIPackage 64 import expo.modules.taskManager.TaskManagerPackage 65 import expo.modules.updates.UpdatesPackage 66 import expo.modules.videothumbnails.VideoThumbnailsPackage 67 import expo.modules.webbrowser.WebBrowserModule 68 69 object ExperiencePackagePicker : ModulesProvider { 70 private val EXPO_MODULES_PACKAGES = listOf( 71 AVPackage(), 72 AdMobPackage(), 73 AdsFacebookPackage(), 74 ApplicationPackage(), 75 AmplitudePackage(), 76 BatteryPackage(), 77 BackgroundFetchPackage(), 78 BarCodeScannerPackage(), 79 BrightnessPackage(), 80 CalendarPackage(), 81 CameraPackage(), 82 ConstantsPackage(), 83 ContactsPackage(), 84 DevicePackage(), 85 DocumentPickerPackage(), 86 ErrorRecoveryPackage(), 87 FacebookPackage(), 88 FaceDetectorPackage(), 89 FileSystemPackage(), 90 FirebaseCorePackage(), 91 FirebaseAnalyticsPackage(), 92 FontLoaderPackage(), 93 GLPackage(), 94 HapticsPackage(), 95 ImageLoaderPackage(), 96 ImageManipulatorPackage(), 97 IntentLauncherPackage(), 98 KeepAwakePackage(), 99 LocalAuthenticationPackage(), 100 LocationPackage(), 101 MailComposerPackage(), 102 MediaLibraryPackage(), 103 NavigationBarPackage(), 104 NetworkPackage(), 105 NotificationsPackage(), 106 PermissionsPackage(), 107 PrintPackage(), 108 SMSPackage(), 109 StoreReviewPackage(), 110 SQLitePackage(), 111 ScreenCapturePackage(), 112 ScreenOrientationPackage(), 113 SecureStorePackage(), 114 SegmentPackage(), 115 SensorsPackage(), 116 SharingPackage(), 117 SpeechPackage(), 118 SplashScreenPackage(), 119 SystemUIPackage(), 120 TaskManagerPackage(), 121 UpdatesPackage(), 122 VideoThumbnailsPackage(), 123 ) 124 125 /** 126 * Returns all available packages. 127 */ 128 fun packages(): List<Package> { 129 return EXPO_MODULES_PACKAGES 130 } 131 132 /** 133 * Returns packages filtered based on the app's manifest. 134 * For now, filtering is not applied but it is on the todo list. 135 */ 136 fun packages(manifest: Manifest?): List<Package> { 137 return EXPO_MODULES_PACKAGES 138 } 139 140 override fun getModulesList(): List<Class<out Module>> = listOf( 141 CellularModule::class.java, 142 ClipboardModule::class.java, 143 CryptoModule::class.java, 144 EASClientModule::class.java, 145 ImagePickerModule::class.java, 146 LinearGradientModule::class.java, 147 LocalizationModule::class.java, 148 RandomModule::class.java, 149 WebBrowserModule::class.java, 150 ) 151 } 152