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