// ReactNativeDcvPackage.java package com.dynamsoft.reactnativelib import com.dynamsoft.reactnativelib.core.ImageSourceAdapterModuleImpl import com.dynamsoft.reactnativelib.cvr.CaptureVisionRouterModuleImpl import com.dynamsoft.reactnativelib.dce.CameraEnhancerModuleImpl import com.dynamsoft.reactnativelib.dce.ImageEditorViewModuleImpl import com.dynamsoft.reactnativelib.license.LicenseModuleImpl import com.dynamsoft.reactnativelib.utility.ImageManagerModuleImpl import com.dynamsoft.reactnativelib.utility.MultiCrossFilterModuleImpl import com.facebook.react.TurboReactPackage import com.facebook.react.bridge.NativeModule import com.facebook.react.bridge.ReactApplicationContext import com.facebook.react.module.model.ReactModuleInfo import com.facebook.react.module.model.ReactModuleInfoProvider import com.facebook.react.uimanager.ViewManager class ReactNativeDcvPackage : TurboReactPackage() { companion object { init { System.loadLibrary("rn_dys") } } override fun createViewManagers(reactContext: ReactApplicationContext): List> { return listOf(CameraViewManager(), ImageEditorViewManager()) } override fun getModule(name: String, context: ReactApplicationContext): NativeModule? { return when (name) { CaptureVisionRouterModuleImpl.NAME -> CVRModule(context) CameraEnhancerModuleImpl.NAME -> DCEModule(context) ImageSourceAdapterModuleImpl.NAME -> ISAModule(context) LicenseModuleImpl.NAME -> LicenseModule(context) MultiCrossFilterModuleImpl.NAME -> MultiCrossFilterModule(context) VersionsModule.NAME -> VersionsModule(context) ImageEditorViewModuleImpl.NAME -> ImageEditorViewModule(context) ImageManagerModuleImpl.NAME -> ImageManagerModule(context) else -> null } } override fun getReactModuleInfoProvider(): ReactModuleInfoProvider { val isEnableNewArch = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED return ReactModuleInfoProvider { mapOf( CaptureVisionRouterModuleImpl.NAME to ReactModuleInfo( CaptureVisionRouterModuleImpl.NAME, CaptureVisionRouterModuleImpl.NAME, false, false, true, false, isEnableNewArch ), CameraEnhancerModuleImpl.NAME to ReactModuleInfo( CameraEnhancerModuleImpl.NAME, CameraEnhancerModuleImpl.NAME, false, false, true, false, isEnableNewArch ), ImageSourceAdapterModuleImpl.NAME to ReactModuleInfo( ImageSourceAdapterModuleImpl.NAME, ImageSourceAdapterModuleImpl.NAME, false, false, true, false, isEnableNewArch ), LicenseModuleImpl.NAME to ReactModuleInfo( LicenseModuleImpl.NAME, LicenseModuleImpl.NAME, false, false, true, false, isEnableNewArch ), MultiCrossFilterModuleImpl.NAME to ReactModuleInfo( MultiCrossFilterModuleImpl.NAME, MultiCrossFilterModuleImpl.NAME, false, false, true, false, isEnableNewArch ), VersionsModule.NAME to ReactModuleInfo( VersionsModule.NAME, VersionsModule.NAME, false, false, true, false, isEnableNewArch ), ImageEditorViewModuleImpl.NAME to ReactModuleInfo( ImageEditorViewModuleImpl.NAME, ImageEditorViewModuleImpl.NAME, false, false, true, false, isEnableNewArch ), ImageManagerModuleImpl.NAME to ReactModuleInfo( ImageManagerModuleImpl.NAME, ImageManagerModuleImpl.NAME, false, false, true, false, isEnableNewArch ) ) } } }