From d9b89e57834ec50cad23c502d3364eca5694c91a Mon Sep 17 00:00:00 2001 From: Vitalii Vanziak <114916876+vitalii-vanziak-cko@users.noreply.github.com> Date: Mon, 30 Oct 2023 19:39:17 +0200 Subject: [PATCH] fix(POM-288): Handle non-hierarchical URI crash in legacy WebView (#129) --- .../processout/processout_sdk/CustomerActionHandler.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sdk/src/main/java/com/processout/processout_sdk/CustomerActionHandler.java b/sdk/src/main/java/com/processout/processout_sdk/CustomerActionHandler.java index 79c7a4d7..ed4f6fb2 100644 --- a/sdk/src/main/java/com/processout/processout_sdk/CustomerActionHandler.java +++ b/sdk/src/main/java/com/processout/processout_sdk/CustomerActionHandler.java @@ -2,6 +2,7 @@ import android.app.Activity; import android.content.Context; +import android.net.Uri; import android.os.Handler; import android.util.Base64; import android.view.ViewGroup; @@ -114,11 +115,14 @@ public void run() { FingerprintWebView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { - // Check if the current Android version is supporte + // Check if the current Android version is supported String token = null; if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) { - token = request.getUrl().getQueryParameter("token"); + Uri uri = request.getUrl(); + if (uri.isHierarchical()) { + token = uri.getQueryParameter("token"); + } } if (token == null) { // Android version not supported for fingerprinting