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.BrightnessPackage 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.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.DeviceModule 20 import expo.modules.documentpicker.DocumentPickerModule 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.HapticsModule 30 import expo.modules.imageloader.ImageLoaderPackage 31 import expo.modules.imagemanipulator.ImageManipulatorPackage 32 import expo.modules.imagepicker.ImagePickerModule 33 import expo.modules.intentlauncher.IntentLauncherModule 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.MediaLibraryModule 44 import expo.modules.navigationbar.NavigationBarPackage 45 import expo.modules.network.NetworkModule 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.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 BrightnessPackage(), 75 CalendarPackage(), 76 ConstantsPackage(), 77 ContactsPackage(), 78 ErrorRecoveryPackage(), 79 FaceDetectorPackage(), 80 FileSystemPackage(), 81 FirebaseCorePackage(), 82 FirebaseAnalyticsPackage(), 83 FontLoaderPackage(), 84 GLPackage(), 85 ImageLoaderPackage(), 86 ImageManipulatorPackage(), 87 KeepAwakePackage(), 88 LocalAuthenticationPackage(), 89 LocationPackage(), 90 MailComposerPackage(), 91 NavigationBarPackage(), 92 NotificationsPackage(), 93 PermissionsPackage(), 94 PrintPackage(), 95 SQLitePackage(), 96 ScreenCapturePackage(), 97 ScreenOrientationPackage(), 98 SecureStorePackage(), 99 SensorsPackage(), 100 SpeechPackage(), 101 SplashScreenPackage(), 102 SystemUIPackage(), 103 TaskManagerPackage(), 104 UpdatesPackage(), 105 ) 106 107 /** 108 * Returns all available packages. 109 */ 110 fun packages(): List<Package> { 111 return EXPO_MODULES_PACKAGES 112 } 113 114 /** 115 * Returns packages filtered based on the app's manifest. 116 * For now, filtering is not applied but it is on the todo list. 117 */ 118 fun packages(manifest: Manifest?): List<Package> { 119 return EXPO_MODULES_PACKAGES 120 } 121 122 override fun getModulesList(): List<Class<out Module>> = listOf( 123 BarCodeScannerModule::class.java, 124 CameraViewModule::class.java, 125 CellularModule::class.java, 126 ClipboardModule::class.java, 127 CryptoModule::class.java, 128 DeviceModule::class.java, 129 DocumentPickerModule::class.java, 130 EASClientModule::class.java, 131 HapticsModule::class.java, 132 ImagePickerModule::class.java, 133 IntentLauncherModule::class.java, 134 LinearGradientModule::class.java, 135 LocalizationModule::class.java, 136 MediaLibraryModule::class.java, 137 NetworkModule::class.java, 138 RandomModule::class.java, 139 SMSModule::class.java, 140 SharingModule::class.java, 141 StoreReviewModule::class.java, 142 SystemUIModule::class.java, 143 VideoThumbnailsModule::class.java, 144 VideoViewModule::class.java, 145 WebBrowserModule::class.java, 146 ) 147 } 148