1 package versioned.host.exp.exponent 2 3 import expo.modules.application.ApplicationPackage 4 import expo.modules.av.AVModule 5 import expo.modules.av.AVPackage 6 import expo.modules.av.video.VideoViewModule 7 import expo.modules.backgroundfetch.BackgroundFetchPackage 8 import expo.modules.barcodescanner.BarCodeScannerModule 9 import expo.modules.barcodescanner.BarCodeScannerPackage 10 import expo.modules.battery.BatteryModule 11 import expo.modules.blur.BlurModule 12 import expo.modules.brightness.BrightnessModule 13 import expo.modules.calendar.CalendarPackage 14 import expo.modules.camera.CameraViewModule 15 import expo.modules.cellular.CellularModule 16 import expo.modules.clipboard.ClipboardModule 17 import expo.modules.constants.ConstantsModule 18 import expo.modules.constants.ConstantsPackage 19 import expo.modules.contacts.ContactsPackage 20 import expo.modules.core.interfaces.Package 21 import expo.modules.crypto.CryptoModule 22 import expo.modules.device.DeviceModule 23 import expo.modules.documentpicker.DocumentPickerModule 24 import expo.modules.easclient.EASClientModule 25 import expo.modules.print.PrintModule 26 import expo.modules.facedetector.FaceDetectorPackage 27 import expo.modules.filesystem.FileSystemModule 28 import expo.modules.filesystem.FileSystemPackage 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.KeepAwakeModule 38 import expo.modules.keepawake.KeepAwakePackage 39 import expo.modules.kotlin.ModulesProvider 40 import expo.modules.kotlin.modules.Module 41 import expo.modules.lineargradient.LinearGradientModule 42 import expo.modules.localauthentication.LocalAuthenticationPackage 43 import expo.modules.localization.LocalizationModule 44 import expo.modules.location.LocationPackage 45 import expo.modules.mailcomposer.MailComposerModule 46 import expo.modules.manifests.core.Manifest 47 import expo.modules.medialibrary.MediaLibraryModule 48 import expo.modules.navigationbar.NavigationBarPackage 49 import expo.modules.network.NetworkModule 50 import expo.modules.notifications.NotificationsPackage 51 import expo.modules.permissions.PermissionsPackage 52 import expo.modules.random.RandomModule 53 import expo.modules.screencapture.ScreenCaptureModule 54 import expo.modules.screenorientation.ScreenOrientationModule 55 import expo.modules.securestore.SecureStorePackage 56 import expo.modules.sensors.SensorsPackage 57 import expo.modules.sensors.modules.AccelerometerModule 58 import expo.modules.sensors.modules.BarometerModule 59 import expo.modules.sensors.modules.DeviceMotionModule 60 import expo.modules.sensors.modules.GyroscopeModule 61 import expo.modules.sensors.modules.LightSensorModule 62 import expo.modules.sensors.modules.MagnetometerModule 63 import expo.modules.sensors.modules.MagnetometerUncalibratedModule 64 import expo.modules.sensors.modules.PedometerModule 65 import expo.modules.sharing.SharingModule 66 import expo.modules.sms.SMSModule 67 import expo.modules.speech.SpeechModule 68 import expo.modules.splashscreen.SplashScreenModule 69 import expo.modules.splashscreen.SplashScreenPackage 70 import expo.modules.sqlite.SQLiteModule 71 import expo.modules.storereview.StoreReviewModule 72 import expo.modules.systemui.SystemUIModule 73 import expo.modules.systemui.SystemUIPackage 74 import expo.modules.taskManager.TaskManagerPackage 75 import expo.modules.updates.UpdatesPackage 76 import expo.modules.videothumbnails.VideoThumbnailsModule 77 import expo.modules.webbrowser.WebBrowserModule 78 79 object ExperiencePackagePicker : ModulesProvider { 80 private val EXPO_MODULES_PACKAGES = listOf( 81 AVPackage(), 82 ApplicationPackage(), 83 BackgroundFetchPackage(), 84 BarCodeScannerPackage(), 85 CalendarPackage(), 86 ConstantsPackage(), 87 ContactsPackage(), 88 FaceDetectorPackage(), 89 FileSystemPackage(), 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 AVModule::class.java, 123 // Sensors 124 AccelerometerModule::class.java, 125 BarometerModule::class.java, 126 GyroscopeModule::class.java, 127 LightSensorModule::class.java, 128 DeviceMotionModule::class.java, 129 MagnetometerModule::class.java, 130 MagnetometerUncalibratedModule::class.java, 131 PedometerModule::class.java, 132 // End of Sensors 133 BatteryModule::class.java, 134 BarCodeScannerModule::class.java, 135 BlurModule::class.java, 136 CameraViewModule::class.java, 137 CellularModule::class.java, 138 ClipboardModule::class.java, 139 CryptoModule::class.java, 140 ConstantsModule::class.java, 141 DeviceModule::class.java, 142 DocumentPickerModule::class.java, 143 EASClientModule::class.java, 144 FileSystemModule::class.java, 145 PrintModule::class.java, 146 GLViewModule::class.java, 147 HapticsModule::class.java, 148 ImagePickerModule::class.java, 149 ImageManipulatorModule::class.java, 150 ExpoImageModule::class.java, 151 IntentLauncherModule::class.java, 152 KeepAwakeModule::class.java, 153 LinearGradientModule::class.java, 154 LocalizationModule::class.java, 155 MailComposerModule::class.java, 156 MediaLibraryModule::class.java, 157 NetworkModule::class.java, 158 RandomModule::class.java, 159 ScreenCaptureModule::class.java, 160 ScreenOrientationModule::class.java, 161 SMSModule::class.java, 162 SharingModule::class.java, 163 SpeechModule::class.java, 164 SplashScreenModule::class.java, 165 StoreReviewModule::class.java, 166 SQLiteModule::class.java, 167 SystemUIModule::class.java, 168 VideoThumbnailsModule::class.java, 169 VideoViewModule::class.java, 170 WebBrowserModule::class.java, 171 BrightnessModule::class.java, 172 ) 173 } 174