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.print.PrintModule 24 import expo.modules.facedetector.FaceDetectorPackage 25 import expo.modules.filesystem.FileSystemPackage 26 import expo.modules.font.FontLoaderPackage 27 import expo.modules.gl.GLPackage 28 import expo.modules.gl.GLViewModule 29 import expo.modules.haptics.HapticsModule 30 import expo.modules.image.ExpoImageModule 31 import expo.modules.imageloader.ImageLoaderPackage 32 import expo.modules.imagemanipulator.ImageManipulatorModule 33 import expo.modules.imagepicker.ImagePickerModule 34 import expo.modules.intentlauncher.IntentLauncherModule 35 import expo.modules.keepawake.KeepAwakePackage 36 import expo.modules.kotlin.ModulesProvider 37 import expo.modules.kotlin.modules.Module 38 import expo.modules.lineargradient.LinearGradientModule 39 import expo.modules.localauthentication.LocalAuthenticationPackage 40 import expo.modules.localization.LocalizationModule 41 import expo.modules.location.LocationPackage 42 import expo.modules.mailcomposer.MailComposerModule 43 import expo.modules.manifests.core.Manifest 44 import expo.modules.medialibrary.MediaLibraryModule 45 import expo.modules.navigationbar.NavigationBarPackage 46 import expo.modules.network.NetworkModule 47 import expo.modules.notifications.NotificationsPackage 48 import expo.modules.permissions.PermissionsPackage 49 import expo.modules.random.RandomModule 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.SharingModule 55 import expo.modules.sms.SMSModule 56 import expo.modules.speech.SpeechPackage 57 import expo.modules.splashscreen.SplashScreenPackage 58 import expo.modules.sqlite.SQLitePackage 59 import expo.modules.storereview.StoreReviewModule 60 import expo.modules.systemui.SystemUIModule 61 import expo.modules.systemui.SystemUIPackage 62 import expo.modules.taskManager.TaskManagerPackage 63 import expo.modules.updates.UpdatesPackage 64 import expo.modules.videothumbnails.VideoThumbnailsModule 65 import expo.modules.webbrowser.WebBrowserModule 66 67 object ExperiencePackagePicker : ModulesProvider { 68 private val EXPO_MODULES_PACKAGES = listOf( 69 AVPackage(), 70 ApplicationPackage(), 71 BatteryPackage(), 72 BackgroundFetchPackage(), 73 BarCodeScannerPackage(), 74 BrightnessPackage(), 75 CalendarPackage(), 76 ConstantsPackage(), 77 ContactsPackage(), 78 FaceDetectorPackage(), 79 FileSystemPackage(), 80 FontLoaderPackage(), 81 GLPackage(), 82 ImageLoaderPackage(), 83 KeepAwakePackage(), 84 LocalAuthenticationPackage(), 85 LocationPackage(), 86 NavigationBarPackage(), 87 NotificationsPackage(), 88 PermissionsPackage(), 89 SQLitePackage(), 90 ScreenCapturePackage(), 91 ScreenOrientationPackage(), 92 SecureStorePackage(), 93 SensorsPackage(), 94 SpeechPackage(), 95 SplashScreenPackage(), 96 SystemUIPackage(), 97 TaskManagerPackage(), 98 UpdatesPackage(), 99 ) 100 101 /** 102 * Returns all available packages. 103 */ 104 fun packages(): List<Package> { 105 return EXPO_MODULES_PACKAGES 106 } 107 108 /** 109 * Returns packages filtered based on the app's manifest. 110 * For now, filtering is not applied but it is on the todo list. 111 */ 112 fun packages(manifest: Manifest?): List<Package> { 113 return EXPO_MODULES_PACKAGES 114 } 115 116 override fun getModulesList(): List<Class<out Module>> = listOf( 117 BarCodeScannerModule::class.java, 118 CameraViewModule::class.java, 119 CellularModule::class.java, 120 ClipboardModule::class.java, 121 CryptoModule::class.java, 122 ConstantsModule::class.java, 123 DeviceModule::class.java, 124 DocumentPickerModule::class.java, 125 EASClientModule::class.java, 126 PrintModule::class.java, 127 GLViewModule::class.java, 128 HapticsModule::class.java, 129 ImagePickerModule::class.java, 130 ImageManipulatorModule::class.java, 131 ExpoImageModule::class.java, 132 IntentLauncherModule::class.java, 133 LinearGradientModule::class.java, 134 LocalizationModule::class.java, 135 MailComposerModule::class.java, 136 MediaLibraryModule::class.java, 137 NetworkModule::class.java, 138 RandomModule::class.java, 139 SMSModule::class.java, 140 SharingModule::class.java, 141 StoreReviewModule::class.java, 142 SystemUIModule::class.java, 143 VideoThumbnailsModule::class.java, 144 VideoViewModule::class.java, 145 WebBrowserModule::class.java, 146 ) 147 } 148