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.BrightnessModule 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.print.PrintModule 24 import expo.modules.facedetector.FaceDetectorPackage 25 import expo.modules.filesystem.FileSystemPackage 26 import expo.modules.font.FontLoaderPackage 27 import expo.modules.gl.GLPackage 28 import expo.modules.gl.GLViewModule 29 import expo.modules.haptics.HapticsModule 30 import expo.modules.image.ExpoImageModule 31 import expo.modules.imageloader.ImageLoaderPackage 32 import expo.modules.imagemanipulator.ImageManipulatorModule 33 import expo.modules.imagepicker.ImagePickerModule 34 import expo.modules.intentlauncher.IntentLauncherModule 35 import expo.modules.keepawake.KeepAwakePackage 36 import expo.modules.kotlin.ModulesProvider 37 import expo.modules.kotlin.modules.Module 38 import expo.modules.lineargradient.LinearGradientModule 39 import expo.modules.localauthentication.LocalAuthenticationPackage 40 import expo.modules.localization.LocalizationModule 41 import expo.modules.location.LocationPackage 42 import expo.modules.mailcomposer.MailComposerModule 43 import expo.modules.manifests.core.Manifest 44 import expo.modules.medialibrary.MediaLibraryModule 45 import expo.modules.navigationbar.NavigationBarPackage 46 import expo.modules.network.NetworkModule 47 import expo.modules.notifications.NotificationsPackage 48 import expo.modules.permissions.PermissionsPackage 49 import expo.modules.random.RandomModule 50 import expo.modules.screencapture.ScreenCapturePackage 51 import expo.modules.screenorientation.ScreenOrientationModule 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 CalendarPackage(), 75 ConstantsPackage(), 76 ContactsPackage(), 77 FaceDetectorPackage(), 78 FileSystemPackage(), 79 FontLoaderPackage(), 80 GLPackage(), 81 ImageLoaderPackage(), 82 KeepAwakePackage(), 83 LocalAuthenticationPackage(), 84 LocationPackage(), 85 NavigationBarPackage(), 86 NotificationsPackage(), 87 PermissionsPackage(), 88 SQLitePackage(), 89 ScreenCapturePackage(), 90 SecureStorePackage(), 91 SensorsPackage(), 92 SpeechPackage(), 93 SplashScreenPackage(), 94 SystemUIPackage(), 95 TaskManagerPackage(), 96 UpdatesPackage(), 97 ) 98 99 /** 100 * Returns all available packages. 101 */ 102 fun packages(): List<Package> { 103 return EXPO_MODULES_PACKAGES 104 } 105 106 /** 107 * Returns packages filtered based on the app's manifest. 108 * For now, filtering is not applied but it is on the todo list. 109 */ 110 fun packages(manifest: Manifest?): List<Package> { 111 return EXPO_MODULES_PACKAGES 112 } 113 114 override fun getModulesList(): List<Class<out Module>> = listOf( 115 BarCodeScannerModule::class.java, 116 CameraViewModule::class.java, 117 CellularModule::class.java, 118 ClipboardModule::class.java, 119 CryptoModule::class.java, 120 ConstantsModule::class.java, 121 DeviceModule::class.java, 122 DocumentPickerModule::class.java, 123 EASClientModule::class.java, 124 PrintModule::class.java, 125 GLViewModule::class.java, 126 HapticsModule::class.java, 127 ImagePickerModule::class.java, 128 ImageManipulatorModule::class.java, 129 ExpoImageModule::class.java, 130 IntentLauncherModule::class.java, 131 LinearGradientModule::class.java, 132 LocalizationModule::class.java, 133 MailComposerModule::class.java, 134 MediaLibraryModule::class.java, 135 NetworkModule::class.java, 136 RandomModule::class.java, 137 ScreenOrientationModule::class.java, 138 SMSModule::class.java, 139 SharingModule::class.java, 140 StoreReviewModule::class.java, 141 SystemUIModule::class.java, 142 VideoThumbnailsModule::class.java, 143 VideoViewModule::class.java, 144 WebBrowserModule::class.java, 145 BrightnessModule::class.java, 146 ) 147 } 148