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.BatteryModule 10 import expo.modules.blur.BlurModule 11 import expo.modules.brightness.BrightnessModule 12 import expo.modules.calendar.CalendarPackage 13 import expo.modules.camera.CameraViewModule 14 import expo.modules.cellular.CellularModule 15 import expo.modules.clipboard.ClipboardModule 16 import expo.modules.constants.ConstantsModule 17 import expo.modules.constants.ConstantsPackage 18 import expo.modules.contacts.ContactsPackage 19 import expo.modules.core.interfaces.Package 20 import expo.modules.crypto.CryptoModule 21 import expo.modules.device.DeviceModule 22 import expo.modules.documentpicker.DocumentPickerModule 23 import expo.modules.easclient.EASClientModule 24 import expo.modules.print.PrintModule 25 import expo.modules.facedetector.FaceDetectorPackage 26 import expo.modules.filesystem.FileSystemModule 27 import expo.modules.filesystem.FileSystemPackage 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.ImageManipulatorModule 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.MailComposerModule 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.random.RandomModule 52 import expo.modules.screencapture.ScreenCaptureModule 53 import expo.modules.screenorientation.ScreenOrientationModule 54 import expo.modules.securestore.SecureStorePackage 55 import expo.modules.sensors.SensorsPackage 56 import expo.modules.sharing.SharingModule 57 import expo.modules.sms.SMSModule 58 import expo.modules.speech.SpeechModule 59 import expo.modules.splashscreen.SplashScreenModule 60 import expo.modules.splashscreen.SplashScreenPackage 61 import expo.modules.sqlite.SQLiteModule 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 BackgroundFetchPackage(), 75 BarCodeScannerPackage(), 76 CalendarPackage(), 77 ConstantsPackage(), 78 ContactsPackage(), 79 FaceDetectorPackage(), 80 FileSystemPackage(), 81 FontLoaderPackage(), 82 GLPackage(), 83 ImageLoaderPackage(), 84 KeepAwakePackage(), 85 LocalAuthenticationPackage(), 86 LocationPackage(), 87 NavigationBarPackage(), 88 NotificationsPackage(), 89 PermissionsPackage(), 90 SecureStorePackage(), 91 SensorsPackage(), 92 SplashScreenPackage(), 93 SystemUIPackage(), 94 TaskManagerPackage(), 95 UpdatesPackage(), 96 ) 97 98 /** 99 * Returns all available packages. 100 */ 101 fun packages(): List<Package> { 102 return EXPO_MODULES_PACKAGES 103 } 104 105 /** 106 * Returns packages filtered based on the app's manifest. 107 * For now, filtering is not applied but it is on the todo list. 108 */ 109 fun packages(manifest: Manifest?): List<Package> { 110 return EXPO_MODULES_PACKAGES 111 } 112 113 override fun getModulesList(): List<Class<out Module>> = listOf( 114 BatteryModule::class.java, 115 BarCodeScannerModule::class.java, 116 BlurModule::class.java, 117 CameraViewModule::class.java, 118 CellularModule::class.java, 119 ClipboardModule::class.java, 120 CryptoModule::class.java, 121 ConstantsModule::class.java, 122 DeviceModule::class.java, 123 DocumentPickerModule::class.java, 124 EASClientModule::class.java, 125 FileSystemModule::class.java, 126 PrintModule::class.java, 127 GLViewModule::class.java, 128 HapticsModule::class.java, 129 ImagePickerModule::class.java, 130 ImageManipulatorModule::class.java, 131 ExpoImageModule::class.java, 132 IntentLauncherModule::class.java, 133 LinearGradientModule::class.java, 134 LocalizationModule::class.java, 135 MailComposerModule::class.java, 136 MediaLibraryModule::class.java, 137 NetworkModule::class.java, 138 RandomModule::class.java, 139 ScreenCaptureModule::class.java, 140 ScreenOrientationModule::class.java, 141 SMSModule::class.java, 142 SharingModule::class.java, 143 SpeechModule::class.java, 144 SplashScreenModule::class.java, 145 StoreReviewModule::class.java, 146 SQLiteModule::class.java, 147 SystemUIModule::class.java, 148 VideoThumbnailsModule::class.java, 149 VideoViewModule::class.java, 150 WebBrowserModule::class.java, 151 BrightnessModule::class.java, 152 ) 153 } 154