From 68974244d41b19379083c139a0cc8eab55fc7416 Mon Sep 17 00:00:00 2001 From: zoeyul Date: Thu, 13 Nov 2025 17:15:26 +0900 Subject: [PATCH] fix(android): replace BaseReactPackage with ReactPackage for RN 0.70-0.73 compatibility BaseReactPackage was introduced in React Native 0.74, causing "Unresolved reference: BaseReactPackage" build error in RN 0.70-0.73. Changed to ReactPackage interface which exists in all React Native versions. --- .../ImageCodeScannerPackage.kt | 37 +++++++------------ 1 file changed, 13 insertions(+), 24 deletions(-) diff --git a/android/src/main/java/com/imagecodescanner/ImageCodeScannerPackage.kt b/android/src/main/java/com/imagecodescanner/ImageCodeScannerPackage.kt index fad440a..bea64c4 100644 --- a/android/src/main/java/com/imagecodescanner/ImageCodeScannerPackage.kt +++ b/android/src/main/java/com/imagecodescanner/ImageCodeScannerPackage.kt @@ -1,33 +1,22 @@ package com.imagecodescanner -import com.facebook.react.BaseReactPackage +import com.facebook.react.ReactPackage 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 java.util.HashMap +import com.facebook.react.uimanager.ViewManager -class ImageCodeScannerPackage : BaseReactPackage() { - override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? { - return if (name == ImageCodeScannerModule.NAME) { - ImageCodeScannerModule(reactContext) - } else { - null - } +class ImageCodeScannerPackage : ReactPackage { + + override fun createNativeModules( + reactContext: ReactApplicationContext + ): List { + return listOf(ImageCodeScannerModule(reactContext)) } - override fun getReactModuleInfoProvider(): ReactModuleInfoProvider { - return ReactModuleInfoProvider { - val moduleInfos: MutableMap = HashMap() - moduleInfos[ImageCodeScannerModule.NAME] = ReactModuleInfo( - ImageCodeScannerModule.NAME, - ImageCodeScannerModule.NAME, - false, // canOverrideExistingModule - false, // needsEagerInit - false, // isCxxModule - true // isTurboModule - ) - moduleInfos - } + override fun createViewManagers( + reactContext: ReactApplicationContext + ): List> { + return emptyList() } + }