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.DevicePackage 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.HapticsPackage 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.NetworkPackage 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.StoreReviewPackage 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 DevicePackage(), 77 DocumentPickerPackage(), 78 ErrorRecoveryPackage(), 79 FaceDetectorPackage(), 80 FileSystemPackage(), 81 FirebaseCorePackage(), 82 FirebaseAnalyticsPackage(), 83 FontLoaderPackage(), 84 GLPackage(), 85 HapticsPackage(), 86 ImageLoaderPackage(), 87 ImageManipulatorPackage(), 88 IntentLauncherPackage(), 89 KeepAwakePackage(), 90 LocalAuthenticationPackage(), 91 LocationPackage(), 92 MailComposerPackage(), 93 MediaLibraryPackage(), 94 NavigationBarPackage(), 95 NetworkPackage(), 96 NotificationsPackage(), 97 PermissionsPackage(), 98 PrintPackage(), 99 SMSPackage(), 100 StoreReviewPackage(), 101 SQLitePackage(), 102 ScreenCapturePackage(), 103 ScreenOrientationPackage(), 104 SecureStorePackage(), 105 SensorsPackage(), 106 SharingPackage(), 107 SpeechPackage(), 108 SplashScreenPackage(), 109 SystemUIPackage(), 110 TaskManagerPackage(), 111 UpdatesPackage(), 112 VideoThumbnailsPackage(), 113 ) 114 115 /** 116 * Returns all available packages. 117 */ 118 fun packages(): List<Package> { 119 return EXPO_MODULES_PACKAGES 120 } 121 122 /** 123 * Returns packages filtered based on the app's manifest. 124 * For now, filtering is not applied but it is on the todo list. 125 */ 126 fun packages(manifest: Manifest?): List<Package> { 127 return EXPO_MODULES_PACKAGES 128 } 129 130 override fun getModulesList(): List<Class<out Module>> = listOf( 131 CameraViewModule::class.java, 132 CellularModule::class.java, 133 ClipboardModule::class.java, 134 CryptoModule::class.java, 135 EASClientModule::class.java, 136 ImagePickerModule::class.java, 137 LinearGradientModule::class.java, 138 LocalizationModule::class.java, 139 RandomModule::class.java, 140 VideoViewModule::class.java, 141 WebBrowserModule::class.java, 142 ) 143 } 144