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.DocumentPickerModule 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.IntentLauncherModule 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.SharingModule 54 import expo.modules.sms.SMSModule 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.SystemUIModule 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 ErrorRecoveryPackage(), 78 FaceDetectorPackage(), 79 FileSystemPackage(), 80 FirebaseCorePackage(), 81 FirebaseAnalyticsPackage(), 82 FontLoaderPackage(), 83 GLPackage(), 84 ImageLoaderPackage(), 85 ImageManipulatorPackage(), 86 KeepAwakePackage(), 87 LocalAuthenticationPackage(), 88 LocationPackage(), 89 MailComposerPackage(), 90 NavigationBarPackage(), 91 NotificationsPackage(), 92 PermissionsPackage(), 93 PrintPackage(), 94 SQLitePackage(), 95 ScreenCapturePackage(), 96 ScreenOrientationPackage(), 97 SecureStorePackage(), 98 SensorsPackage(), 99 SpeechPackage(), 100 SplashScreenPackage(), 101 SystemUIPackage(), 102 TaskManagerPackage(), 103 UpdatesPackage(), 104 VideoThumbnailsPackage(), 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 CameraViewModule::class.java, 124 CellularModule::class.java, 125 ClipboardModule::class.java, 126 CryptoModule::class.java, 127 DeviceModule::class.java, 128 DocumentPickerModule::class.java, 129 EASClientModule::class.java, 130 HapticsModule::class.java, 131 ImagePickerModule::class.java, 132 IntentLauncherModule::class.java, 133 LinearGradientModule::class.java, 134 LocalizationModule::class.java, 135 MediaLibraryModule::class.java, 136 NetworkModule::class.java, 137 RandomModule::class.java, 138 SMSModule::class.java, 139 SharingModule::class.java, 140 StoreReviewModule::class.java, 141 SystemUIModule::class.java, 142 VideoViewModule::class.java, 143 WebBrowserModule::class.java, 144 ) 145 } 146