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