导航菜单

页面标题

页面副标题

BodyTech v7.6.4 - ThreeDS2WebViewClient.java 源代码

正在查看: BodyTech v7.6.4 应用的 ThreeDS2WebViewClient.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.stripe.android.stripe3ds2.views;

import android.net.Uri;
import android.webkit.URLUtil;
import android.webkit.WebResourceRequest;
import android.webkit.WebResourceResponse;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import androidx.annotation.VisibleForTesting;
import java.util.Locale;
import kotlin.Metadata;
import kotlin.jvm.internal.r;
import kotlin.text.s;

@Metadata(d1 = {"\u00006\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\n\b\u0000\u0018\u0000 \u00132\u00020\u0001:\u0002\u000e\u0018B\u0007¢\u0006\u0004\b\u0016\u0010\u0017J\u001a\u0010\u0007\u001a\u0004\u0018\u00010\u00062\u0006\u0010\u0003\u001a\u00020\u00022\u0006\u0010\u0005\u001a\u00020\u0004H\u0016J\u0010\u0010\u000b\u001a\u00020\n2\u0006\u0010\t\u001a\u00020\bH\u0007J\u0018\u0010\f\u001a\u00020\n2\u0006\u0010\u0003\u001a\u00020\u00022\u0006\u0010\u0005\u001a\u00020\u0004H\u0016J\u0010\u0010\u000e\u001a\u00020\r2\u0006\u0010\t\u001a\u00020\bH\u0007R$\u0010\u0015\u001a\u0004\u0018\u00010\u000f8\u0000@\u0000X\u0080\u000e¢\u0006\u0012\n\u0004\b\u000e\u0010\u0010\u001a\u0004\b\u0011\u0010\u0012\"\u0004\b\u0013\u0010\u0014¨\u0006\u0019"}, d2 = {"Lcom/stripe/android/stripe3ds2/views/ThreeDS2WebViewClient;", "Landroid/webkit/WebViewClient;", "Landroid/webkit/WebView;", "view", "Landroid/webkit/WebResourceRequest;", "request", "Landroid/webkit/WebResourceResponse;", "shouldInterceptRequest", "Landroid/net/Uri;", "uri", "", "c", "shouldOverrideUrlLoading", "", "a", "Lcom/stripe/android/stripe3ds2/views/ThreeDS2WebViewClient$OnHtmlSubmitListener;", "Lcom/stripe/android/stripe3ds2/views/ThreeDS2WebViewClient$OnHtmlSubmitListener;", "getListener$3ds2sdk_release", "()Lcom/stripe/android/stripe3ds2/views/ThreeDS2WebViewClient$OnHtmlSubmitListener;", "b", "(Lcom/stripe/android/stripe3ds2/views/ThreeDS2WebViewClient$OnHtmlSubmitListener;)V", "listener", "<init>", "()V", "OnHtmlSubmitListener", "3ds2sdk_release"}, k = 1, mv = {1, 9, 0})
public final class ThreeDS2WebViewClient extends WebViewClient {

    private OnHtmlSubmitListener listener;

    @Metadata(d1 = {"\u0000\u0016\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\u0002\n\u0002\b\u0002\bà\u0080\u0001\u0018\u00002\u00020\u0001J\u0012\u0010\u0005\u001a\u00020\u00042\b\u0010\u0003\u001a\u0004\u0018\u00010\u0002H&ø\u0001\u0000\u0082\u0002\u0006\n\u0004\b!0\u0001¨\u0006\u0006À\u0006\u0001"}, d2 = {"Lcom/stripe/android/stripe3ds2/views/ThreeDS2WebViewClient$OnHtmlSubmitListener;", "", "", "data", "", "a", "3ds2sdk_release"}, k = 1, mv = {1, 9, 0})
    public interface OnHtmlSubmitListener {
        void a(String data);
    }

    @VisibleForTesting
    public final void a(Uri uri) {
        OnHtmlSubmitListener onHtmlSubmitListener;
        r.i(uri, "uri");
        String uri2 = uri.toString();
        r.h(uri2, "toString(...)");
        Locale ENGLISH = Locale.ENGLISH;
        r.h(ENGLISH, "ENGLISH");
        String lowerCase = uri2.toLowerCase(ENGLISH);
        r.h(lowerCase, "this as java.lang.String).toLowerCase(locale)");
        if (!s.K(lowerCase, "https://emv3ds/challenge", false, 2, null) || (onHtmlSubmitListener = this.listener) == null) {
            return;
        }
        onHtmlSubmitListener.a(uri.getQuery());
    }

    public final void b(OnHtmlSubmitListener onHtmlSubmitListener) {
        this.listener = onHtmlSubmitListener;
    }

    @VisibleForTesting
    public final boolean c(Uri uri) {
        r.i(uri, "uri");
        return URLUtil.isDataUrl(uri.toString());
    }

    @Override
    public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
        r.i(view, "view");
        r.i(request, "request");
        Uri url = request.getUrl();
        r.h(url, "getUrl(...)");
        a(url);
        Uri url2 = request.getUrl();
        r.h(url2, "getUrl(...)");
        return c(url2) ? super.shouldInterceptRequest(view, request) : new WebResourceResponse(null, null, null);
    }

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
        r.i(view, "view");
        r.i(request, "request");
        Uri url = request.getUrl();
        r.h(url, "getUrl(...)");
        a(url);
        return true;
    }
}