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.MediaLibraryModule 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 NavigationBarPackage(), 92 NotificationsPackage(), 93 PermissionsPackage(), 94 PrintPackage(), 95 SMSPackage(), 96 SQLitePackage(), 97 ScreenCapturePackage(), 98 ScreenOrientationPackage(), 99 SecureStorePackage(), 100 SensorsPackage(), 101 SharingPackage(), 102 SpeechPackage(), 103 SplashScreenPackage(), 104 SystemUIPackage(), 105 TaskManagerPackage(), 106 UpdatesPackage(), 107 VideoThumbnailsPackage(), 108 ) 109 110 /** 111 * Returns all available packages. 112 */ 113 fun packages(): List<Package> { 114 return EXPO_MODULES_PACKAGES 115 } 116 117 /** 118 * Returns packages filtered based on the app's manifest. 119 * For now, filtering is not applied but it is on the todo list. 120 */ 121 fun packages(manifest: Manifest?): List<Package> { 122 return EXPO_MODULES_PACKAGES 123 } 124 125 override fun getModulesList(): List<Class<out Module>> = listOf( 126 CameraViewModule::class.java, 127 CellularModule::class.java, 128 ClipboardModule::class.java, 129 CryptoModule::class.java, 130 DeviceModule::class.java, 131 EASClientModule::class.java, 132 HapticsModule::class.java, 133 ImagePickerModule::class.java, 134 LinearGradientModule::class.java, 135 LocalizationModule::class.java, 136 MediaLibraryModule::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