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.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 CalendarPackage(), 75 ConstantsPackage(), 76 ContactsPackage(), 77 FaceDetectorPackage(), 78 FileSystemPackage(), 79 FontLoaderPackage(), 80 GLPackage(), 81 ImageLoaderPackage(), 82 KeepAwakePackage(), 83 LocalAuthenticationPackage(), 84 LocationPackage(), 85 NavigationBarPackage(), 86 NotificationsPackage(), 87 PermissionsPackage(), 88 SQLitePackage(), 89 ScreenCapturePackage(), 90 ScreenOrientationPackage(), 91 SecureStorePackage(), 92 SensorsPackage(), 93 SpeechPackage(), 94 SplashScreenPackage(), 95 SystemUIPackage(), 96 TaskManagerPackage(), 97 UpdatesPackage(), 98 ) 99 100 /** 101 * Returns all available packages. 102 */ 103 fun packages(): List<Package> { 104 return EXPO_MODULES_PACKAGES 105 } 106 107 /** 108 * Returns packages filtered based on the app's manifest. 109 * For now, filtering is not applied but it is on the todo list. 110 */ 111 fun packages(manifest: Manifest?): List<Package> { 112 return EXPO_MODULES_PACKAGES 113 } 114 115 override fun getModulesList(): List<Class<out Module>> = listOf( 116 BarCodeScannerModule::class.java, 117 CameraViewModule::class.java, 118 CellularModule::class.java, 119 ClipboardModule::class.java, 120 CryptoModule::class.java, 121 ConstantsModule::class.java, 122 DeviceModule::class.java, 123 DocumentPickerModule::class.java, 124 EASClientModule::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 SMSModule::class.java, 139 SharingModule::class.java, 140 StoreReviewModule::class.java, 141 SystemUIModule::class.java, 142 VideoThumbnailsModule::class.java, 143 VideoViewModule::class.java, 144 WebBrowserModule::class.java, 145 BrightnessModule::class.java, 146 ) 147 } 148