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.BrightnessModule 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.FileSystemModule 26 import expo.modules.filesystem.FileSystemPackage 27 import expo.modules.font.FontLoaderPackage 28 import expo.modules.gl.GLPackage 29 import expo.modules.gl.GLViewModule 30 import expo.modules.haptics.HapticsModule 31 import expo.modules.image.ExpoImageModule 32 import expo.modules.imageloader.ImageLoaderPackage 33 import expo.modules.imagemanipulator.ImageManipulatorModule 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.MailComposerModule 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.random.RandomModule 51 import expo.modules.screencapture.ScreenCaptureModule 52 import expo.modules.screenorientation.ScreenOrientationModule 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.SplashScreenModule 59 import expo.modules.splashscreen.SplashScreenPackage 60 import expo.modules.sqlite.SQLiteModule 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 CalendarPackage(), 77 ConstantsPackage(), 78 ContactsPackage(), 79 FaceDetectorPackage(), 80 FileSystemPackage(), 81 FontLoaderPackage(), 82 GLPackage(), 83 ImageLoaderPackage(), 84 KeepAwakePackage(), 85 LocalAuthenticationPackage(), 86 LocationPackage(), 87 NavigationBarPackage(), 88 NotificationsPackage(), 89 PermissionsPackage(), 90 SecureStorePackage(), 91 SensorsPackage(), 92 SpeechPackage(), 93 SplashScreenPackage(), 94 SystemUIPackage(), 95 TaskManagerPackage(), 96 UpdatesPackage(), 97 ) 98 99 /** 100 * Returns all available packages. 101 */ 102 fun packages(): List<Package> { 103 return EXPO_MODULES_PACKAGES 104 } 105 106 /** 107 * Returns packages filtered based on the app's manifest. 108 * For now, filtering is not applied but it is on the todo list. 109 */ 110 fun packages(manifest: Manifest?): List<Package> { 111 return EXPO_MODULES_PACKAGES 112 } 113 114 override fun getModulesList(): List<Class<out Module>> = listOf( 115 BarCodeScannerModule::class.java, 116 CameraViewModule::class.java, 117 CellularModule::class.java, 118 ClipboardModule::class.java, 119 CryptoModule::class.java, 120 ConstantsModule::class.java, 121 DeviceModule::class.java, 122 DocumentPickerModule::class.java, 123 EASClientModule::class.java, 124 FileSystemModule::class.java, 125 PrintModule::class.java, 126 GLViewModule::class.java, 127 HapticsModule::class.java, 128 ImagePickerModule::class.java, 129 ImageManipulatorModule::class.java, 130 ExpoImageModule::class.java, 131 IntentLauncherModule::class.java, 132 LinearGradientModule::class.java, 133 LocalizationModule::class.java, 134 MailComposerModule::class.java, 135 MediaLibraryModule::class.java, 136 NetworkModule::class.java, 137 RandomModule::class.java, 138 ScreenCaptureModule::class.java, 139 ScreenOrientationModule::class.java, 140 SMSModule::class.java, 141 SharingModule::class.java, 142 SplashScreenModule::class.java, 143 StoreReviewModule::class.java, 144 SQLiteModule::class.java, 145 SystemUIModule::class.java, 146 VideoThumbnailsModule::class.java, 147 VideoViewModule::class.java, 148 WebBrowserModule::class.java, 149 BrightnessModule::class.java, 150 ) 151 } 152