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.ConstantsModule 16 import expo.modules.constants.ConstantsPackage 17 import expo.modules.contacts.ContactsPackage 18 import expo.modules.core.interfaces.Package 19 import expo.modules.crypto.CryptoModule 20 import expo.modules.device.DeviceModule 21 import expo.modules.documentpicker.DocumentPickerModule 22 import expo.modules.easclient.EASClientModule 23 import expo.modules.errorrecovery.ErrorRecoveryPackage 24 import expo.modules.facedetector.FaceDetectorPackage 25 import expo.modules.filesystem.FileSystemPackage 26 import expo.modules.firebase.analytics.FirebaseAnalyticsPackage 27 import expo.modules.firebase.core.FirebaseCorePackage 28 import expo.modules.font.FontLoaderPackage 29 import expo.modules.gl.GLPackage 30 import expo.modules.gl.GLViewModule 31 import expo.modules.haptics.HapticsModule 32 import expo.modules.image.ExpoImageModule 33 import expo.modules.imageloader.ImageLoaderPackage 34 import expo.modules.imagemanipulator.ImageManipulatorPackage 35 import expo.modules.imagepicker.ImagePickerModule 36 import expo.modules.intentlauncher.IntentLauncherModule 37 import expo.modules.keepawake.KeepAwakePackage 38 import expo.modules.kotlin.ModulesProvider 39 import expo.modules.kotlin.modules.Module 40 import expo.modules.lineargradient.LinearGradientModule 41 import expo.modules.localauthentication.LocalAuthenticationPackage 42 import expo.modules.localization.LocalizationModule 43 import expo.modules.location.LocationPackage 44 import expo.modules.mailcomposer.MailComposerPackage 45 import expo.modules.manifests.core.Manifest 46 import expo.modules.medialibrary.MediaLibraryModule 47 import expo.modules.navigationbar.NavigationBarPackage 48 import expo.modules.network.NetworkModule 49 import expo.modules.notifications.NotificationsPackage 50 import expo.modules.permissions.PermissionsPackage 51 import expo.modules.print.PrintPackage 52 import expo.modules.random.RandomModule 53 import expo.modules.screencapture.ScreenCapturePackage 54 import expo.modules.screenorientation.ScreenOrientationPackage 55 import expo.modules.securestore.SecureStorePackage 56 import expo.modules.sensors.SensorsPackage 57 import expo.modules.sharing.SharingModule 58 import expo.modules.sms.SMSModule 59 import expo.modules.speech.SpeechPackage 60 import expo.modules.splashscreen.SplashScreenPackage 61 import expo.modules.sqlite.SQLitePackage 62 import expo.modules.storereview.StoreReviewModule 63 import expo.modules.systemui.SystemUIModule 64 import expo.modules.systemui.SystemUIPackage 65 import expo.modules.taskManager.TaskManagerPackage 66 import expo.modules.updates.UpdatesPackage 67 import expo.modules.videothumbnails.VideoThumbnailsModule 68 import expo.modules.webbrowser.WebBrowserModule 69 70 object ExperiencePackagePicker : ModulesProvider { 71 private val EXPO_MODULES_PACKAGES = listOf( 72 AVPackage(), 73 ApplicationPackage(), 74 BatteryPackage(), 75 BackgroundFetchPackage(), 76 BarCodeScannerPackage(), 77 BrightnessPackage(), 78 CalendarPackage(), 79 ConstantsPackage(), 80 ContactsPackage(), 81 ErrorRecoveryPackage(), 82 FaceDetectorPackage(), 83 FileSystemPackage(), 84 FirebaseCorePackage(), 85 FirebaseAnalyticsPackage(), 86 FontLoaderPackage(), 87 GLPackage(), 88 ImageLoaderPackage(), 89 ImageManipulatorPackage(), 90 KeepAwakePackage(), 91 LocalAuthenticationPackage(), 92 LocationPackage(), 93 MailComposerPackage(), 94 NavigationBarPackage(), 95 NotificationsPackage(), 96 PermissionsPackage(), 97 PrintPackage(), 98 SQLitePackage(), 99 ScreenCapturePackage(), 100 ScreenOrientationPackage(), 101 SecureStorePackage(), 102 SensorsPackage(), 103 SpeechPackage(), 104 SplashScreenPackage(), 105 SystemUIPackage(), 106 TaskManagerPackage(), 107 UpdatesPackage(), 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 BarCodeScannerModule::class.java, 127 CameraViewModule::class.java, 128 CellularModule::class.java, 129 ClipboardModule::class.java, 130 CryptoModule::class.java, 131 ConstantsModule::class.java, 132 DeviceModule::class.java, 133 DocumentPickerModule::class.java, 134 EASClientModule::class.java, 135 GLViewModule::class.java, 136 HapticsModule::class.java, 137 ImagePickerModule::class.java, 138 ExpoImageModule::class.java, 139 IntentLauncherModule::class.java, 140 LinearGradientModule::class.java, 141 LocalizationModule::class.java, 142 MediaLibraryModule::class.java, 143 NetworkModule::class.java, 144 RandomModule::class.java, 145 SMSModule::class.java, 146 SharingModule::class.java, 147 StoreReviewModule::class.java, 148 SystemUIModule::class.java, 149 VideoThumbnailsModule::class.java, 150 VideoViewModule::class.java, 151 WebBrowserModule::class.java, 152 ) 153 } 154