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