Nets-mobile-acceptance / Netaxept-Android-SDK

PiA Netaxept Android SDK is a library that provides the native In-App interaction to perform Netaxept payments directly from an app on Android devices while minimizing PCI DSS requirements for you.
31 stars 15 forks source link

Crash in SDK 2.4.0 - Attempt to invoke virtual method 'void android.view.View.dispatchCancelPendingInputEvents()' on a null object reference #47

Closed mkovalyk closed 1 year ago

mkovalyk commented 2 years ago

SDK version 2.4.0

Android Versions 57% Android 11 29% Android 10 7% Android 8 7% Android 9

Frequency 14 in last 30 days

Stacktrace

Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.dispatchCancelPendingInputEvents()' on a null object reference at android.view.ViewGroup.dispatchCancelPendingInputEvents(ViewGroup.java:4559) at android.view.ViewGroup.dispatchCancelPendingInputEvents(ViewGroup.java:4559) at android.view.ViewGroup.dispatchCancelPendingInputEvents(ViewGroup.java:4559) at android.view.ViewGroup.dispatchCancelPendingInputEvents(ViewGroup.java:4559) at android.view.ViewGroup.dispatchCancelPendingInputEvents(ViewGroup.java:4559) at android.view.ViewGroup.dispatchCancelPendingInputEvents(ViewGroup.java:4559) at android.view.ViewGroup.dispatchCancelPendingInputEvents(ViewGroup.java:4559) at android.view.ViewGroup.dispatchCancelPendingInputEvents(ViewGroup.java:4559) at android.view.ViewGroup.dispatchCancelPendingInputEvents(ViewGroup.java:4559) at android.view.ViewGroup.dispatchCancelPendingInputEvents(ViewGroup.java:4559) at android.view.ViewGroup.dispatchCancelPendingInputEvents(ViewGroup.java:4559) at android.view.View.cancelPendingInputEvents(View.java:19724) at android.app.Activity.cancelInputsAndStartExitTransition(Activity.java:5243) at android.app.Activity.startActivityForResult(Activity.java:5222) at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:574) at android.app.Activity.startActivityForResult(Activity.java:5161) at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:560) at android.app.Activity.startActivity(Activity.java:5536) at androidx.core.content.ContextCompat$Api16Impl.startActivity(ContextCompat.java:828) at androidx.core.content.ContextCompat.startActivity(ContextCompat.java:276) at androidx.fragment.app.FragmentHostCallback.onStartActivityFromFragment(FragmentHostCallback.java:166) at androidx.fragment.app.Fragment.startActivity(Fragment.java:1377) at androidx.fragment.app.Fragment.startActivity(Fragment.java:1365) at eu.nets.pia.wallets.Presenter.startActivity(:16) at eu.nets.pia.wallets.PiASDK.initiateMobileWallet(:137) at eu.nets.pia.PiaSDK.initiateMobileWallet()

Steps to reproduce Cannot describe because it is taken from Crash reporting tool

Miss-PiA commented 2 years ago

Thank you for the inputs. We will be looking into this issue and track the root cause for the same. BR

mkovalyk commented 2 years ago

@Miss-PiA Any updates here?

Miss-PiA commented 2 years ago

@mkovalyk To enable MobilePay service, please check below code snippets.

//For MobilePay
PaymentProcess.WalletPayment walletProcess = PaymentProcess.mobilePay(this);

PiaSDK.initiateMobileWallet(walletProcess, new WalletPaymentRegistration() {
        @Override
        public void registerPayment(final WalletURLCallback callback) {
            ....
        }
    };
);

Note: - ‘this’ is Context of Activity/Fragment implementing MobileWalletListener

As per above details, crash might due to activity/fragment gets finish/killed during app switch (MobilePay) and after coming back to host app, ‘this’ context is null.

Please check the activity/fragment lifecycle of the host application and let us know your findings.

For Information: - https://htmlpreview.github.io/?https://github.com/Nets-mobile-acceptance/Netaxept-Android-SDK/blob/master/documentation/START%20-%20Overview%20of%20Netaxept%20Android%20SDK.html#Wallet_payment_flow_description

Miss-PiA commented 1 year ago

Hi @mkovalyk ,

Please try Netaxept-Android-SDK v2.7.0. If issue still persist re-open this issue again.

Thanks,