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.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.MailComposerPackage 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.print.PrintPackage 50 import expo.modules.random.RandomModule 51 import expo.modules.screencapture.ScreenCapturePackage 52 import expo.modules.screenorientation.ScreenOrientationPackage 53 import expo.modules.securestore.SecureStorePackage 54 import expo.modules.sensors.SensorsPackage 55 import expo.modules.sharing.SharingModule 56 import expo.modules.sms.SMSModule 57 import expo.modules.speech.SpeechPackage 58 import expo.modules.splashscreen.SplashScreenPackage 59 import expo.modules.sqlite.SQLitePackage 60 import expo.modules.storereview.StoreReviewModule 61 import expo.modules.systemui.SystemUIModule 62 import expo.modules.systemui.SystemUIPackage 63 import expo.modules.taskManager.TaskManagerPackage 64 import expo.modules.updates.UpdatesPackage 65 import expo.modules.videothumbnails.VideoThumbnailsModule 66 import expo.modules.webbrowser.WebBrowserModule 67 68 object ExperiencePackagePicker : ModulesProvider { 69 private val EXPO_MODULES_PACKAGES = listOf( 70 AVPackage(), 71 ApplicationPackage(), 72 BatteryPackage(), 73 BackgroundFetchPackage(), 74 BarCodeScannerPackage(), 75 BrightnessPackage(), 76 CalendarPackage(), 77 ConstantsPackage(), 78 ContactsPackage(), 79 ErrorRecoveryPackage(), 80 FaceDetectorPackage(), 81 FileSystemPackage(), 82 FontLoaderPackage(), 83 GLPackage(), 84 ImageLoaderPackage(), 85 KeepAwakePackage(), 86 LocalAuthenticationPackage(), 87 LocationPackage(), 88 MailComposerPackage(), 89 NavigationBarPackage(), 90 NotificationsPackage(), 91 PermissionsPackage(), 92 PrintPackage(), 93 SQLitePackage(), 94 ScreenCapturePackage(), 95 ScreenOrientationPackage(), 96 SecureStorePackage(), 97 SensorsPackage(), 98 SpeechPackage(), 99 SplashScreenPackage(), 100 SystemUIPackage(), 101 TaskManagerPackage(), 102 UpdatesPackage(), 103 ) 104 105 /** 106 * Returns all available packages. 107 */ 108 fun packages(): List<Package> { 109 return EXPO_MODULES_PACKAGES 110 } 111 112 /** 113 * Returns packages filtered based on the app's manifest. 114 * For now, filtering is not applied but it is on the todo list. 115 */ 116 fun packages(manifest: Manifest?): List<Package> { 117 return EXPO_MODULES_PACKAGES 118 } 119 120 override fun getModulesList(): List<Class<out Module>> = listOf( 121 BarCodeScannerModule::class.java, 122 CameraViewModule::class.java, 123 CellularModule::class.java, 124 ClipboardModule::class.java, 125 CryptoModule::class.java, 126 ConstantsModule::class.java, 127 DeviceModule::class.java, 128 DocumentPickerModule::class.java, 129 EASClientModule::class.java, 130 GLViewModule::class.java, 131 HapticsModule::class.java, 132 ImagePickerModule::class.java, 133 ImageManipulatorModule::class.java, 134 ExpoImageModule::class.java, 135 IntentLauncherModule::class.java, 136 LinearGradientModule::class.java, 137 LocalizationModule::class.java, 138 MediaLibraryModule::class.java, 139 NetworkModule::class.java, 140 RandomModule::class.java, 141 SMSModule::class.java, 142 SharingModule::class.java, 143 StoreReviewModule::class.java, 144 SystemUIModule::class.java, 145 VideoThumbnailsModule::class.java, 146 VideoViewModule::class.java, 147 WebBrowserModule::class.java, 148 ) 149 } 150