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.sensors.modules.AccelerometerModule 57 import expo.modules.sensors.modules.BarometerModule 58 import expo.modules.sensors.modules.DeviceMotionModule 59 import expo.modules.sensors.modules.GyroscopeModule 60 import expo.modules.sensors.modules.LightSensorModule 61 import expo.modules.sensors.modules.MagnetometerModule 62 import expo.modules.sensors.modules.MagnetometerUncalibratedModule 63 import expo.modules.sensors.modules.PedometerModule 64 import expo.modules.sharing.SharingModule 65 import expo.modules.sms.SMSModule 66 import expo.modules.speech.SpeechModule 67 import expo.modules.splashscreen.SplashScreenModule 68 import expo.modules.splashscreen.SplashScreenPackage 69 import expo.modules.sqlite.SQLiteModule 70 import expo.modules.storereview.StoreReviewModule 71 import expo.modules.systemui.SystemUIModule 72 import expo.modules.systemui.SystemUIPackage 73 import expo.modules.taskManager.TaskManagerPackage 74 import expo.modules.updates.UpdatesPackage 75 import expo.modules.videothumbnails.VideoThumbnailsModule 76 import expo.modules.webbrowser.WebBrowserModule 77 78 object ExperiencePackagePicker : ModulesProvider { 79 private val EXPO_MODULES_PACKAGES = listOf( 80 AVPackage(), 81 ApplicationPackage(), 82 BackgroundFetchPackage(), 83 BarCodeScannerPackage(), 84 CalendarPackage(), 85 ConstantsPackage(), 86 ContactsPackage(), 87 FaceDetectorPackage(), 88 FileSystemPackage(), 89 FontLoaderPackage(), 90 GLPackage(), 91 ImageLoaderPackage(), 92 KeepAwakePackage(), 93 LocalAuthenticationPackage(), 94 LocationPackage(), 95 NavigationBarPackage(), 96 NotificationsPackage(), 97 PermissionsPackage(), 98 SecureStorePackage(), 99 SensorsPackage(), 100 SplashScreenPackage(), 101 SystemUIPackage(), 102 TaskManagerPackage(), 103 UpdatesPackage(), 104 ) 105 106 /** 107 * Returns all available packages. 108 */ 109 fun packages(): List<Package> { 110 return EXPO_MODULES_PACKAGES 111 } 112 113 /** 114 * Returns packages filtered based on the app's manifest. 115 * For now, filtering is not applied but it is on the todo list. 116 */ 117 fun packages(manifest: Manifest?): List<Package> { 118 return EXPO_MODULES_PACKAGES 119 } 120 121 override fun getModulesList(): List<Class<out Module>> = listOf( 122 // Sensors 123 AccelerometerModule::class.java, 124 BarometerModule::class.java, 125 GyroscopeModule::class.java, 126 LightSensorModule::class.java, 127 DeviceMotionModule::class.java, 128 MagnetometerModule::class.java, 129 MagnetometerUncalibratedModule::class.java, 130 PedometerModule::class.java, 131 // End of Sensors 132 BatteryModule::class.java, 133 BarCodeScannerModule::class.java, 134 BlurModule::class.java, 135 CameraViewModule::class.java, 136 CellularModule::class.java, 137 ClipboardModule::class.java, 138 CryptoModule::class.java, 139 ConstantsModule::class.java, 140 DeviceModule::class.java, 141 DocumentPickerModule::class.java, 142 EASClientModule::class.java, 143 FileSystemModule::class.java, 144 PrintModule::class.java, 145 GLViewModule::class.java, 146 HapticsModule::class.java, 147 ImagePickerModule::class.java, 148 ImageManipulatorModule::class.java, 149 ExpoImageModule::class.java, 150 IntentLauncherModule::class.java, 151 LinearGradientModule::class.java, 152 LocalizationModule::class.java, 153 MailComposerModule::class.java, 154 MediaLibraryModule::class.java, 155 NetworkModule::class.java, 156 RandomModule::class.java, 157 ScreenCaptureModule::class.java, 158 ScreenOrientationModule::class.java, 159 SMSModule::class.java, 160 SharingModule::class.java, 161 SpeechModule::class.java, 162 SplashScreenModule::class.java, 163 StoreReviewModule::class.java, 164 SQLiteModule::class.java, 165 SystemUIModule::class.java, 166 VideoThumbnailsModule::class.java, 167 VideoViewModule::class.java, 168 WebBrowserModule::class.java, 169 BrightnessModule::class.java, 170 ) 171 } 172