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.facedetector.FaceDetectorPackage 24 import expo.modules.filesystem.FileSystemPackage 25 import expo.modules.font.FontLoaderPackage 26 import expo.modules.gl.GLPackage 27 import expo.modules.gl.GLViewModule 28 import expo.modules.haptics.HapticsModule 29 import expo.modules.image.ExpoImageModule 30 import expo.modules.imageloader.ImageLoaderPackage 31 import expo.modules.imagemanipulator.ImageManipulatorModule 32 import expo.modules.imagepicker.ImagePickerModule 33 import expo.modules.intentlauncher.IntentLauncherModule 34 import expo.modules.keepawake.KeepAwakePackage 35 import expo.modules.kotlin.ModulesProvider 36 import expo.modules.kotlin.modules.Module 37 import expo.modules.lineargradient.LinearGradientModule 38 import expo.modules.localauthentication.LocalAuthenticationPackage 39 import expo.modules.localization.LocalizationModule 40 import expo.modules.location.LocationPackage 41 import expo.modules.mailcomposer.MailComposerModule 42 import expo.modules.manifests.core.Manifest 43 import expo.modules.medialibrary.MediaLibraryModule 44 import expo.modules.navigationbar.NavigationBarPackage 45 import expo.modules.network.NetworkModule 46 import expo.modules.notifications.NotificationsPackage 47 import expo.modules.permissions.PermissionsPackage 48 import expo.modules.print.PrintPackage 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 PrintPackage(), 90 SQLitePackage(), 91 ScreenCapturePackage(), 92 ScreenOrientationPackage(), 93 SecureStorePackage(), 94 SensorsPackage(), 95 SpeechPackage(), 96 SplashScreenPackage(), 97 SystemUIPackage(), 98 TaskManagerPackage(), 99 UpdatesPackage(), 100 ) 101 102 /** 103 * Returns all available packages. 104 */ 105 fun packages(): List<Package> { 106 return EXPO_MODULES_PACKAGES 107 } 108 109 /** 110 * Returns packages filtered based on the app's manifest. 111 * For now, filtering is not applied but it is on the todo list. 112 */ 113 fun packages(manifest: Manifest?): List<Package> { 114 return EXPO_MODULES_PACKAGES 115 } 116 117 override fun getModulesList(): List<Class<out Module>> = listOf( 118 BarCodeScannerModule::class.java, 119 CameraViewModule::class.java, 120 CellularModule::class.java, 121 ClipboardModule::class.java, 122 CryptoModule::class.java, 123 ConstantsModule::class.java, 124 DeviceModule::class.java, 125 DocumentPickerModule::class.java, 126 EASClientModule::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