1 package versioned.host.exp.exponent 2 3 import expo.modules.application.ApplicationPackage 4 import expo.modules.av.AVPackage 5 import expo.modules.backgroundfetch.BackgroundFetchPackage 6 import expo.modules.barcodescanner.BarCodeScannerPackage 7 import expo.modules.battery.BatteryPackage 8 import expo.modules.brightness.BrightnessPackage 9 import expo.modules.calendar.CalendarPackage 10 import expo.modules.camera.CameraPackage 11 import expo.modules.cellular.CellularModule 12 import expo.modules.clipboard.ClipboardModule 13 import expo.modules.constants.ConstantsPackage 14 import expo.modules.contacts.ContactsPackage 15 import expo.modules.core.interfaces.Package 16 import expo.modules.crypto.CryptoModule 17 import expo.modules.device.DevicePackage 18 import expo.modules.documentpicker.DocumentPickerPackage 19 import expo.modules.easclient.EASClientModule 20 import expo.modules.errorrecovery.ErrorRecoveryPackage 21 import expo.modules.facedetector.FaceDetectorPackage 22 import expo.modules.filesystem.FileSystemPackage 23 import expo.modules.firebase.analytics.FirebaseAnalyticsPackage 24 import expo.modules.firebase.core.FirebaseCorePackage 25 import expo.modules.font.FontLoaderPackage 26 import expo.modules.gl.GLPackage 27 import expo.modules.haptics.HapticsPackage 28 import expo.modules.imageloader.ImageLoaderPackage 29 import expo.modules.imagemanipulator.ImageManipulatorPackage 30 import expo.modules.imagepicker.ImagePickerModule 31 import expo.modules.intentlauncher.IntentLauncherPackage 32 import expo.modules.keepawake.KeepAwakePackage 33 import expo.modules.kotlin.ModulesProvider 34 import expo.modules.kotlin.modules.Module 35 import expo.modules.lineargradient.LinearGradientModule 36 import expo.modules.localauthentication.LocalAuthenticationPackage 37 import expo.modules.localization.LocalizationModule 38 import expo.modules.location.LocationPackage 39 import expo.modules.mailcomposer.MailComposerPackage 40 import expo.modules.manifests.core.Manifest 41 import expo.modules.medialibrary.MediaLibraryPackage 42 import expo.modules.navigationbar.NavigationBarPackage 43 import expo.modules.network.NetworkPackage 44 import expo.modules.notifications.NotificationsPackage 45 import expo.modules.permissions.PermissionsPackage 46 import expo.modules.print.PrintPackage 47 import expo.modules.random.RandomModule 48 import expo.modules.screencapture.ScreenCapturePackage 49 import expo.modules.screenorientation.ScreenOrientationPackage 50 import expo.modules.securestore.SecureStorePackage 51 import expo.modules.sensors.SensorsPackage 52 import expo.modules.sharing.SharingPackage 53 import expo.modules.sms.SMSPackage 54 import expo.modules.speech.SpeechPackage 55 import expo.modules.splashscreen.SplashScreenPackage 56 import expo.modules.sqlite.SQLitePackage 57 import expo.modules.storereview.StoreReviewPackage 58 import expo.modules.systemui.SystemUIPackage 59 import expo.modules.taskManager.TaskManagerPackage 60 import expo.modules.updates.UpdatesPackage 61 import expo.modules.videothumbnails.VideoThumbnailsPackage 62 import expo.modules.webbrowser.WebBrowserModule 63 64 object ExperiencePackagePicker : ModulesProvider { 65 private val EXPO_MODULES_PACKAGES = listOf( 66 AVPackage(), 67 ApplicationPackage(), 68 BatteryPackage(), 69 BackgroundFetchPackage(), 70 BarCodeScannerPackage(), 71 BrightnessPackage(), 72 CalendarPackage(), 73 CameraPackage(), 74 ConstantsPackage(), 75 ContactsPackage(), 76 DevicePackage(), 77 DocumentPickerPackage(), 78 ErrorRecoveryPackage(), 79 FaceDetectorPackage(), 80 FileSystemPackage(), 81 FirebaseCorePackage(), 82 FirebaseAnalyticsPackage(), 83 FontLoaderPackage(), 84 GLPackage(), 85 HapticsPackage(), 86 ImageLoaderPackage(), 87 ImageManipulatorPackage(), 88 IntentLauncherPackage(), 89 KeepAwakePackage(), 90 LocalAuthenticationPackage(), 91 LocationPackage(), 92 MailComposerPackage(), 93 MediaLibraryPackage(), 94 NavigationBarPackage(), 95 NetworkPackage(), 96 NotificationsPackage(), 97 PermissionsPackage(), 98 PrintPackage(), 99 SMSPackage(), 100 StoreReviewPackage(), 101 SQLitePackage(), 102 ScreenCapturePackage(), 103 ScreenOrientationPackage(), 104 SecureStorePackage(), 105 SensorsPackage(), 106 SharingPackage(), 107 SpeechPackage(), 108 SplashScreenPackage(), 109 SystemUIPackage(), 110 TaskManagerPackage(), 111 UpdatesPackage(), 112 VideoThumbnailsPackage(), 113 ) 114 115 /** 116 * Returns all available packages. 117 */ 118 fun packages(): List<Package> { 119 return EXPO_MODULES_PACKAGES 120 } 121 122 /** 123 * Returns packages filtered based on the app's manifest. 124 * For now, filtering is not applied but it is on the todo list. 125 */ 126 fun packages(manifest: Manifest?): List<Package> { 127 return EXPO_MODULES_PACKAGES 128 } 129 130 override fun getModulesList(): List<Class<out Module>> = listOf( 131 CellularModule::class.java, 132 ClipboardModule::class.java, 133 CryptoModule::class.java, 134 EASClientModule::class.java, 135 ImagePickerModule::class.java, 136 LinearGradientModule::class.java, 137 LocalizationModule::class.java, 138 RandomModule::class.java, 139 WebBrowserModule::class.java, 140 ) 141 } 142