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