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.BarCodeScannerPackage 8 import expo.modules.battery.BatteryPackage 9 import expo.modules.brightness.BrightnessPackage 10 import expo.modules.calendar.CalendarPackage 11 import expo.modules.camera.CameraViewModule 12 import expo.modules.cellular.CellularModule 13 import expo.modules.clipboard.ClipboardModule 14 import expo.modules.constants.ConstantsPackage 15 import expo.modules.contacts.ContactsPackage 16 import expo.modules.core.interfaces.Package 17 import expo.modules.crypto.CryptoModule 18 import expo.modules.device.DeviceModule 19 import expo.modules.documentpicker.DocumentPickerPackage 20 import expo.modules.easclient.EASClientModule 21 import expo.modules.errorrecovery.ErrorRecoveryPackage 22 import expo.modules.facedetector.FaceDetectorPackage 23 import expo.modules.filesystem.FileSystemPackage 24 import expo.modules.firebase.analytics.FirebaseAnalyticsPackage 25 import expo.modules.firebase.core.FirebaseCorePackage 26 import expo.modules.font.FontLoaderPackage 27 import expo.modules.gl.GLPackage 28 import expo.modules.haptics.HapticsModule 29 import expo.modules.imageloader.ImageLoaderPackage 30 import expo.modules.imagemanipulator.ImageManipulatorPackage 31 import expo.modules.imagepicker.ImagePickerModule 32 import expo.modules.intentlauncher.IntentLauncherPackage 33 import expo.modules.keepawake.KeepAwakePackage 34 import expo.modules.kotlin.ModulesProvider 35 import expo.modules.kotlin.modules.Module 36 import expo.modules.lineargradient.LinearGradientModule 37 import expo.modules.localauthentication.LocalAuthenticationPackage 38 import expo.modules.localization.LocalizationModule 39 import expo.modules.location.LocationPackage 40 import expo.modules.mailcomposer.MailComposerPackage 41 import expo.modules.manifests.core.Manifest 42 import expo.modules.medialibrary.MediaLibraryPackage 43 import expo.modules.navigationbar.NavigationBarPackage 44 import expo.modules.network.NetworkModule 45 import expo.modules.notifications.NotificationsPackage 46 import expo.modules.permissions.PermissionsPackage 47 import expo.modules.print.PrintPackage 48 import expo.modules.random.RandomModule 49 import expo.modules.screencapture.ScreenCapturePackage 50 import expo.modules.screenorientation.ScreenOrientationPackage 51 import expo.modules.securestore.SecureStorePackage 52 import expo.modules.sensors.SensorsPackage 53 import expo.modules.sharing.SharingPackage 54 import expo.modules.sms.SMSPackage 55 import expo.modules.speech.SpeechPackage 56 import expo.modules.splashscreen.SplashScreenPackage 57 import expo.modules.sqlite.SQLitePackage 58 import expo.modules.storereview.StoreReviewModule 59 import expo.modules.systemui.SystemUIPackage 60 import expo.modules.taskManager.TaskManagerPackage 61 import expo.modules.updates.UpdatesPackage 62 import expo.modules.videothumbnails.VideoThumbnailsPackage 63 import expo.modules.webbrowser.WebBrowserModule 64 65 object ExperiencePackagePicker : ModulesProvider { 66 private val EXPO_MODULES_PACKAGES = listOf( 67 AVPackage(), 68 ApplicationPackage(), 69 BatteryPackage(), 70 BackgroundFetchPackage(), 71 BarCodeScannerPackage(), 72 BrightnessPackage(), 73 CalendarPackage(), 74 ConstantsPackage(), 75 ContactsPackage(), 76 DocumentPickerPackage(), 77 ErrorRecoveryPackage(), 78 FaceDetectorPackage(), 79 FileSystemPackage(), 80 FirebaseCorePackage(), 81 FirebaseAnalyticsPackage(), 82 FontLoaderPackage(), 83 GLPackage(), 84 ImageLoaderPackage(), 85 ImageManipulatorPackage(), 86 IntentLauncherPackage(), 87 KeepAwakePackage(), 88 LocalAuthenticationPackage(), 89 LocationPackage(), 90 MailComposerPackage(), 91 MediaLibraryPackage(), 92 NavigationBarPackage(), 93 NotificationsPackage(), 94 PermissionsPackage(), 95 PrintPackage(), 96 SMSPackage(), 97 SQLitePackage(), 98 ScreenCapturePackage(), 99 ScreenOrientationPackage(), 100 SecureStorePackage(), 101 SensorsPackage(), 102 SharingPackage(), 103 SpeechPackage(), 104 SplashScreenPackage(), 105 SystemUIPackage(), 106 TaskManagerPackage(), 107 UpdatesPackage(), 108 VideoThumbnailsPackage(), 109 ) 110 111 /** 112 * Returns all available packages. 113 */ 114 fun packages(): List<Package> { 115 return EXPO_MODULES_PACKAGES 116 } 117 118 /** 119 * Returns packages filtered based on the app's manifest. 120 * For now, filtering is not applied but it is on the todo list. 121 */ 122 fun packages(manifest: Manifest?): List<Package> { 123 return EXPO_MODULES_PACKAGES 124 } 125 126 override fun getModulesList(): List<Class<out Module>> = listOf( 127 CameraViewModule::class.java, 128 CellularModule::class.java, 129 ClipboardModule::class.java, 130 CryptoModule::class.java, 131 DeviceModule::class.java, 132 EASClientModule::class.java, 133 HapticsModule::class.java, 134 ImagePickerModule::class.java, 135 LinearGradientModule::class.java, 136 LocalizationModule::class.java, 137 NetworkModule::class.java, 138 RandomModule::class.java, 139 StoreReviewModule::class.java, 140 VideoViewModule::class.java, 141 WebBrowserModule::class.java, 142 ) 143 } 144