diff --git a/rxp-hpp-android/src/main/java/com/realexpayments/hpp/HPPManagerFragment.java b/rxp-hpp-android/src/main/java/com/realexpayments/hpp/HPPManagerFragment.java index c83ce81..47b21f4 100644 --- a/rxp-hpp-android/src/main/java/com/realexpayments/hpp/HPPManagerFragment.java +++ b/rxp-hpp-android/src/main/java/com/realexpayments/hpp/HPPManagerFragment.java @@ -141,7 +141,7 @@ private String getRelativePathEncoded(String urlString) { @Override public void onDestroy() { - if (!isResultReceived) { + if (!isResultReceived && mListener != null) { mListener.hppManagerCancelled(); } mListener = null; @@ -165,7 +165,9 @@ public boolean onKey(View v, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack()) { if (!isResultReceived) { webView.goBack(); - mListener.hppManagerCancelled(); + if (mListener != null) { + mListener.hppManagerCancelled(); + } isResultReceived = true; } return false; @@ -322,6 +324,9 @@ public void callbackHandler(String data, String url) { @Override public void success(Response s, Response response) { String msg = new String(((TypedByteArray) response.getBody()).getBytes()); + if (mListener == null) { + return; + } Method[] methods = mListener.getClass().getDeclaredMethods(); for (int i = 0; i < methods.length; i++) { if (methods[i].getName().equals(HPPManagerListener.HPP_MANAGER_COMPLETED_WITH_RESULT)) {