From 41ac9f45ed3415c3d39110bd001bf79f464b6d93 Mon Sep 17 00:00:00 2001 From: Michael Dunsche Date: Mon, 8 Sep 2025 22:20:39 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix:=20react=20native=200.81.x?= =?UTF-8?q?=20build=20issues=20in=20android=20and=20ios?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MultipleImagePicker.podspec | 1 + .../nitro/multipleimagepicker/CameraEngine.kt | 3 ++- .../MultipleImagePickerImp.kt | 18 +++++++++++------- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/MultipleImagePicker.podspec b/MultipleImagePicker.podspec index 50a6fee..8aa3136 100644 --- a/MultipleImagePicker.podspec +++ b/MultipleImagePicker.podspec @@ -42,6 +42,7 @@ Pod::Spec.new do |s| add_dependency(s, "React-jsinspector", :framework_name => "jsinspector_modern") add_dependency(s, "React-rendererconsistency", :framework_name => "React_rendererconsistency") add_dependency(s, "React-jsinspectortracing", :framework_name => 'jsinspector_moderntracing') + add_dependency(s, "React-jsinspectorcdp", :framework_name => 'jsinspector_moderncdp') end load 'nitrogen/generated/ios/MultipleImagePicker+autolinking.rb' diff --git a/android/src/main/java/com/margelo/nitro/multipleimagepicker/CameraEngine.kt b/android/src/main/java/com/margelo/nitro/multipleimagepicker/CameraEngine.kt index 282bdcc..672ad43 100644 --- a/android/src/main/java/com/margelo/nitro/multipleimagepicker/CameraEngine.kt +++ b/android/src/main/java/com/margelo/nitro/multipleimagepicker/CameraEngine.kt @@ -1,6 +1,7 @@ package com.margelo.nitro.multipleimagepicker import android.content.Context +import android.graphics.Color import androidx.fragment.app.Fragment import com.bumptech.glide.Glide import com.facebook.react.bridge.ColorPropConverter @@ -30,7 +31,7 @@ class CameraEngine( camera.setOutputPathDir(getSandboxCameraOutputPath()) config.color?.let { - val primaryColor = ColorPropConverter.getColor(it, appContext) + val primaryColor = ColorPropConverter.getColor(it, appContext) ?: Color.BLACK camera.setCaptureLoadingColor(primaryColor) } diff --git a/android/src/main/java/com/margelo/nitro/multipleimagepicker/MultipleImagePickerImp.kt b/android/src/main/java/com/margelo/nitro/multipleimagepicker/MultipleImagePickerImp.kt index 5c4d8ba..cdd8ca7 100644 --- a/android/src/main/java/com/margelo/nitro/multipleimagepicker/MultipleImagePickerImp.kt +++ b/android/src/main/java/com/margelo/nitro/multipleimagepicker/MultipleImagePickerImp.kt @@ -65,7 +65,8 @@ class MultipleImagePickerImp(reactContext: ReactApplicationContext?) : rejected: (reject: Double) -> Unit ) { PictureAppMaster.getInstance().app = this - val activity = currentActivity + val activity = reactApplicationContext.currentActivity + ?: throw IllegalStateException("No current Activity available") val imageEngine = GlideEngine.createGlideEngine() // set global config @@ -258,7 +259,7 @@ class MultipleImagePickerImp(reactContext: ReactApplicationContext?) : // Add listener before starting UCrop reactApplicationContext.addActivityEventListener(cropActivityEventListener) - currentActivity?.let { uCrop.start(it, REQUEST_CROP) } + reactApplicationContext.currentActivity?.let { uCrop.start(it, REQUEST_CROP) } } catch (e: Exception) { rejected(0.0) } @@ -310,8 +311,10 @@ class MultipleImagePickerImp(reactContext: ReactApplicationContext?) : } } + val activity = reactApplicationContext.currentActivity + ?: throw IllegalStateException("No current Activity available") PictureSelector - .create(currentActivity) + .create(activity) .openPreview() .setImageEngine(imageEngine) .setLanguage(getLanguage(config.language)) @@ -345,7 +348,8 @@ class MultipleImagePickerImp(reactContext: ReactApplicationContext?) : resolved: (result: CameraResult) -> Unit, rejected: (reject: Double) -> Unit ) { - val activity = currentActivity + val activity = reactApplicationContext.currentActivity + ?: throw IllegalStateException("No current Activity available") val chooseMode = getChooseMode(config.mediaType) PictureSelector @@ -361,7 +365,7 @@ class MultipleImagePickerImp(reactContext: ReactApplicationContext?) : setCropEngine(CropEngine(cropOption)) } } - .forResultActivity(object : OnResultCallbackListener { + .forResult(object : OnResultCallbackListener { override fun onResult(results: java.util.ArrayList?) { results?.first()?.let { val result = getResult(it) @@ -505,7 +509,7 @@ class MultipleImagePickerImp(reactContext: ReactApplicationContext?) : val iconBack = if (isDark) com.luck.picture.lib.R.drawable.ps_ic_back else com.luck.picture.lib.R.drawable.ps_ic_black_back - cropOption.setLogoColor(primaryColor) + cropOption.setLogoColor(primaryColor ?: Color.BLACK) // TITLE BAR titleBar.titleBackgroundColor = background @@ -547,7 +551,7 @@ class MultipleImagePickerImp(reactContext: ReactApplicationContext?) : mainStyle.isAdapterItemIncludeEdge = true mainStyle.isPreviewSelectRelativeBottom = false // mainStyle.previewSelectTextSize = Constant.TOOLBAR_TEXT_SIZE - mainStyle.selectTextColor = primaryColor + mainStyle.selectTextColor = primaryColor ?: Color.BLACK // mainStyle.selectTextSize = Constant.TOOLBAR_TEXT_SIZE mainStyle.selectBackground = selectType mainStyle.isSelectNumberStyle = isNumber