diff --git a/android/src/main/java/com/builders/wallet/WalletIntentProcessor.kt b/android/src/main/java/com/builders/wallet/WalletIntentProcessor.kt index 6388806..5440ff2 100644 --- a/android/src/main/java/com/builders/wallet/WalletIntentProcessor.kt +++ b/android/src/main/java/com/builders/wallet/WalletIntentProcessor.kt @@ -33,8 +33,11 @@ object WalletIntentProcessor { val intentAction = intent.action val packageName = intent.`package` val callingPackage = activity.callingPackage + val extraText = intent.getStringExtra(Intent.EXTRA_TEXT) WalletLogger.d(TAG, "🔍 [CENTRAL] Processando intent - Action: $intentAction, Package: $packageName, CallingPackage: $callingPackage") + WalletLogger.d(TAG, "🔍 [CENTRAL] EXTRA_TEXT: ${if (extraText.isNullOrEmpty()) "vazio/null" else "${extraText.length} caracteres - ${extraText.take(100)}${if (extraText.length > 100) "..." else ""}"}") + WalletLogger.d(TAG, "🔍 [CENTRAL] Extras: ${intent.extras}") // Verificar se há extras na intent (usando safe call operator, mais idiomático em Kotlin) val hasExtras = intent.extras?.isEmpty() == false diff --git a/android/src/samsungWallet/java/com/builders/wallet/samsungpay/SamsungWalletImplementation.kt b/android/src/samsungWallet/java/com/builders/wallet/samsungpay/SamsungWalletImplementation.kt index ce23b09..1ba7feb 100644 --- a/android/src/samsungWallet/java/com/builders/wallet/samsungpay/SamsungWalletImplementation.kt +++ b/android/src/samsungWallet/java/com/builders/wallet/samsungpay/SamsungWalletImplementation.kt @@ -7,6 +7,7 @@ import com.facebook.react.bridge.Arguments import com.facebook.react.bridge.Callback import com.facebook.react.bridge.Promise import com.facebook.react.bridge.ReactApplicationContext +import com.facebook.react.bridge.WritableArray import com.facebook.react.bridge.WritableMap import com.builders.wallet.samsungpay.util.PartnerInfoHolder import com.builders.wallet.samsungpay.util.ErrorCode @@ -185,8 +186,14 @@ class SamsungWalletImplementation(private val reactContext: ReactApplicationCont val listener = object : GetCardListener { override fun onSuccess(cardList: List) { WalletLogger.d(TAG, "onSuccess callback is called, list.size= ${cardList.size}") - val result = cardList.map { it.toSerializable() } - WalletLogger.i(TAG, "- cards - $result") + + // Converter lista de WritableMap para WritableArray (React Native requer WritableArray para arrays) + val result: WritableArray = Arguments.createArray() + cardList.forEach { card -> + result.pushMap(card.toSerializable()) + } + + WalletLogger.i(TAG, "- cards - ${cardList.size} cards retornados") promise.resolve(result) } diff --git a/example/android/app/src/main/AndroidManifest.xml b/example/android/app/src/main/AndroidManifest.xml index 454bd1d..4d99513 100644 --- a/example/android/app/src/main/AndroidManifest.xml +++ b/example/android/app/src/main/AndroidManifest.xml @@ -10,6 +10,11 @@ android:allowBackup="false" android:theme="@style/AppTheme" android:supportsRtl="true"> + + +