adyen-android
adyen-android copied to clipboard
[v5.2.0] Unsupported application recreation after back from redirect
Describe the bug HELLo, it's me ;] Users running a very high number of apps randomly encounter a payment error issue after being redirected from fast bank transfer payment.
To Reproduce Steps to reproduce the behaviour:
- Enable "Don't keep activities" in developer options
- Launch the demo app
- Initiate a new payment with redirection, eg. "OnlineBanking_PL"
- Choose "successful payment"
- Observe the error upon returning from the web browser
Expected behavior Action should be handled even after app recreation.
SDK:
- SDK Version 5.2.0
Additional context
Logcat
11:45:20.974 CO.MainActivity com.adyen.checkout.example D onCreate
11:45:20.997 AutofillManager com.adyen.checkout.example D Fill dialog is enabled:false, hints=[password, passwordAuto, creditCardNumber, creditCardSecurityCode, creditCardExpirationDate]
11:45:21.105 AutofillManager com.adyen.checkout.example D notifyViewEnteredForFillDialog:1073741824
11:45:21.106 OpenGLRenderer com.adyen.checkout.example W Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
11:45:21.107 OpenGLRenderer com.adyen.checkout.example W Failed to initialize 101010-2 format, error = EGL_SUCCESS
11:45:21.114 OpenGLRenderer com.adyen.checkout.example E Unable to match the desired swap behavior.
11:45:21.170 CO.DropInActivity com.adyen.checkout.example D attachBaseContext
11:45:21.170 CO.DropInPrefs com.adyen.checkout.example V getShopperLocale
11:45:21.170 CO.DropInPrefs com.adyen.checkout.example D Fetching shopper locale tag: pl-PL
11:45:21.171 CO.DropInPrefs com.adyen.checkout.example D Parsed locale: pl_PL
11:45:21.187 CO.ActionComponentDialogFragment com.adyen.checkout.example D onCreate
11:45:21.188 CO.DropInActivity com.adyen.checkout.example D onCreate - Bundle[{android:viewHierarchyState=Bundle[mParcelledData.dataSize=288], androidx.lifecycle.BundlableSavedStateRegistry.key=Bundle[{android:support:lifecycle=Bundle[EMPTY_PARCEL], androidx.lifecycle.internal.SavedStateHandlesProvider=Bundle[EMPTY_PARCEL], androidx.savedstate.Restarter=Bundle[mParcelledData.dataSize=200], androidx.lifecycle.ViewModelProvider.DefaultKey:com.adyen.checkout.dropin.internal.ui.DropInViewModel=Bundle[mParcelledData.dataSize=27604]}], android:lastAutofillId=1073741826, android:fragments=android.app.FragmentManagerState@4a6d4ee}]
11:45:21.195 CO.DropInActivity com.adyen.checkout.example D handleIntent: action - null
11:45:21.233 CO.DropInActivity com.adyen.checkout.example E Unable to find action
11:45:21.233 CO.BaseDropInService com.adyen.checkout.example D startService - DropInActivity
11:45:21.233 CO.BaseDropInService com.adyen.checkout.example D merchant service: com.adyen.checkout.example.service.ExampleAdvancedDropInService
11:45:21.235 CO.BaseDropInService com.adyen.checkout.example D bindService - DropInActivity
11:45:21.237 CO.DropInActivity com.adyen.checkout.example V onStart
11:45:21.252 CO.ActionComponentDialogFragment com.adyen.checkout.example D onViewCreated
11:45:21.263 CO.DefaultGenericActionDelegate com.adyen.checkout.example D initialize
11:45:21.264 CO.AdyenComponentView com.adyen.checkout.example I Component view type is null, ignoring.
11:45:21.271 CO.DropInActivity com.adyen.checkout.example D onNewIntent
11:45:21.271 CO.DropInActivity com.adyen.checkout.example D handleIntent: action - android.intent.action.VIEW
11:45:21.271 CO.ActionComponentDialogFragment com.adyen.checkout.example D handleAction
11:45:21.271 CO.DefaultActio...ntEventHandler com.adyen.checkout.example V Event received com.adyen.checkout.components.core.internal.ActionComponentEvent$Error@2e98f98
11:45:21.272 CO.ActionComponentDialogFragment com.adyen.checkout.example D onError
11:45:21.272 CO.ActionComponentDialogFragment com.adyen.checkout.example E handleIntent should not be called before handleAction
11:45:21.272 CO.DropInActivity com.adyen.checkout.example D showError - message: Podczas przetwarzania płatności wystąpił błąd. Prosimy spróbować ponownie.
11:45:21.297 CO.DropInActivity com.adyen.checkout.example V onResume
11:45:21.311 WindowOnBackDispatcher com.adyen.checkout.example W OnBackInvokedCallback is not enabled for the application.
Set 'android:enableOnBackInvokedCallback="true"' in the application manifest.
11:45:21.320 OpenGLRenderer com.adyen.checkout.example E Unable to match the desired swap behavior.
11:45:21.371 OpenGLRenderer com.adyen.checkout.example E Unable to match the desired swap behavior.
11:45:21.395 OpenGLRenderer com.adyen.checkout.example E Unable to match the desired swap behavior.
11:45:21.400 CO.DropInActivity com.adyen.checkout.example D onServiceConnected
11:45:21.400 CO.DropInViewModel com.adyen.checkout.example D Session is null
Hi again @wrozwad 😄 Thanks for reporting this. I believe we are already working on a fix for this but I'll confirm to you when we have a PR. Do you have any extra info on the impact of this issue? It could be helpful to know how often is it happening or the device models where it happens the most for example.
@jreij For now, we're still before the release, but based on experience, I can say it will probably affect around 1% of all transactions. I'll try to add logs in that place, so as soon as I get some more significant feedback, I'll share it.
@wrozwad this should also be fixed with 5.4.0. Please let us know if you still face any problems with this.