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.ScreenCaptureModule 51 import expo.modules.screenorientation.ScreenOrientationModule 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 SecureStorePackage(), 90 SensorsPackage(), 91 SpeechPackage(), 92 SplashScreenPackage(), 93 SystemUIPackage(), 94 TaskManagerPackage(), 95 UpdatesPackage(), 96 ) 97 98 /** 99 * Returns all available packages. 100 */ 101 fun packages(): List<Package> { 102 return EXPO_MODULES_PACKAGES 103 } 104 105 /** 106 * Returns packages filtered based on the app's manifest. 107 * For now, filtering is not applied but it is on the todo list. 108 */ 109 fun packages(manifest: Manifest?): List<Package> { 110 return EXPO_MODULES_PACKAGES 111 } 112 113 override fun getModulesList(): List<Class<out Module>> = listOf( 114 BarCodeScannerModule::class.java, 115 CameraViewModule::class.java, 116 CellularModule::class.java, 117 ClipboardModule::class.java, 118 CryptoModule::class.java, 119 ConstantsModule::class.java, 120 DeviceModule::class.java, 121 DocumentPickerModule::class.java, 122 EASClientModule::class.java, 123 PrintModule::class.java, 124 GLViewModule::class.java, 125 HapticsModule::class.java, 126 ImagePickerModule::class.java, 127 ImageManipulatorModule::class.java, 128 ExpoImageModule::class.java, 129 IntentLauncherModule::class.java, 130 LinearGradientModule::class.java, 131 LocalizationModule::class.java, 132 MailComposerModule::class.java, 133 MediaLibraryModule::class.java, 134 NetworkModule::class.java, 135 RandomModule::class.java, 136 ScreenCaptureModule::class.java, 137 ScreenOrientationModule::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