Step Record v1.1.5版本的 MD5 值为:5797275f89198878d2f00ee92d534382

以下内容为反编译后的 a.java 源代码,内容仅作参考


package com.mbridge.msdk.foundation.webview;

import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Handler;
import android.os.Looper;
import android.text.TextUtils;
import android.webkit.WebView;
import com.adjust.sdk.Constants;
import com.chartboost.heliumsdk.impl.tSHz11;
import com.mbridge.msdk.activity.MBCommonActivity;
import com.mbridge.msdk.c.e;
import com.mbridge.msdk.c.f;
import com.mbridge.msdk.click.entity.JumpLoaderResult;
import com.mbridge.msdk.foundation.entity.CampaignEx;
import com.mbridge.msdk.foundation.tools.aa;
import com.mbridge.msdk.foundation.tools.ae;
import com.mbridge.msdk.foundation.webview.BrowserView;
import com.mbridge.msdk.out.BaseTrackingListener;

public class a implements BrowserView.a {
    private static String a = "a";
    private Context b;
    private BaseTrackingListener c;
    private CampaignEx d;
    private BrowserView f;
    private com.mbridge.msdk.click.a h;
    private long i;
    private int j;
    private JumpLoaderResult l;
    private String m;
    private boolean n;
    private boolean e = true;
    private boolean k = false;
    private final Runnable o = new Runnable() {
        @Override
        public final void run() {
            aa.d(a.a, "webview js!超时上限:" + a.this.j + "ms");
            if (a.this.h != null && a.this.l != null) {
                a.this.l.setSuccess(false);
                a.this.l.setUrl(a.this.m);
                a.this.l.setType(2);
                a.this.l.setExceptionMsg("linktype 8 time out");
                a.this.h.a(a.this.l, a.this.d, 1, false);
            }
            a aVar = a.this;
            if (aVar.d(null, aVar.m) && !a.this.k) {
                a.this.k = true;
                a aVar2 = a.this;
                aVar2.a(aVar2.b, a.this.m, a.this.d);
            }
            if (a.this.c != null) {
                a.this.c.onFinishRedirection(a.this.d, a.this.m);
            }
        }
    };
    private Handler g = new Handler(Looper.getMainLooper());

    public a(Context context, CampaignEx campaignEx, com.mbridge.msdk.click.a aVar, BrowserView browserView, BaseTrackingListener baseTrackingListener) {
        this.j = 10000;
        this.l = null;
        this.b = context;
        this.d = campaignEx;
        this.f = browserView;
        this.c = baseTrackingListener;
        e KtH1t1 = tSHz11.KtH1t1(f.a());
        KtH1t1 = KtH1t1 == null ? f.a().b() : KtH1t1;
        this.h = aVar;
        this.l = new JumpLoaderResult();
        this.j = (int) KtH1t1.aa();
    }

    @Override
    public final void a() {
    }

    public boolean d(WebView webView, String str) {
        boolean z;
        boolean z2;
        try {
            if (TextUtils.isEmpty(str)) {
                return true;
            }
            Uri parse = Uri.parse(str);
            if (!parse.getScheme().equals("http") && !parse.getScheme().equals(Constants.SCHEME)) {
                z = false;
                if (!z) {
                    return true;
                }
                if (parse.getScheme().equals("intent")) {
                    Intent parseUri = Intent.parseUri(str, 1);
                    try {
                        String str2 = parseUri.getPackage();
                        if (!TextUtils.isEmpty(str2)) {
                            if (this.b.getPackageManager().getLaunchIntentForPackage(str2) != null) {
                                return false;
                            }
                        }
                    } catch (Throwable th) {
                        aa.d(a, th.getMessage());
                    }
                    try {
                        String stringExtra = parseUri.getStringExtra("browser_fallback_url");
                        if (!TextUtils.isEmpty(stringExtra)) {
                            Uri parse2 = Uri.parse(str);
                            if (!parse2.getScheme().equals("http")) {
                                if (!parse2.getScheme().equals(Constants.SCHEME)) {
                                    z2 = false;
                                    if (!z2) {
                                        return true;
                                    }
                                    str = stringExtra;
                                }
                            }
                            z2 = true;
                            if (!z2) {
                            }
                        }
                    } catch (Throwable th2) {
                        aa.d(a, th2.getMessage());
                    }
                }
                if (!com.mbridge.msdk.click.b.d(this.b, str)) {
                    return true;
                }
                aa.d(a, "openDeepLink");
                return false;
            }
            z = true;
            if (!z) {
            }
        } catch (Throwable th3) {
            aa.d(a, th3.getMessage());
            return true;
        }
    }

    private boolean e(WebView webView, String str) {
        boolean z;
        boolean z2;
        try {
            if (TextUtils.isEmpty(str)) {
                return false;
            }
            Uri parse = Uri.parse(str);
            if (!parse.getScheme().equals("http") && !parse.getScheme().equals(Constants.SCHEME)) {
                z = false;
                if (!z) {
                    return false;
                }
                if (parse.getScheme().equals("intent")) {
                    Intent parseUri = Intent.parseUri(str, 1);
                    try {
                        String str2 = parseUri.getPackage();
                        if (!TextUtils.isEmpty(str2) && this.b.getPackageManager().getLaunchIntentForPackage(str2) != null) {
                            parseUri.setFlags(268435456);
                            this.b.startActivity(parseUri);
                            this.k = true;
                            return true;
                        }
                    } catch (Throwable th) {
                        aa.d(a, th.getMessage());
                    }
                    try {
                        String stringExtra = parseUri.getStringExtra("browser_fallback_url");
                        if (!TextUtils.isEmpty(stringExtra)) {
                            Uri parse2 = Uri.parse(str);
                            if (!parse2.getScheme().equals("http") && !parse2.getScheme().equals(Constants.SCHEME)) {
                                z2 = false;
                                if (!z2) {
                                    webView.loadUrl(stringExtra);
                                    return false;
                                }
                                str = stringExtra;
                            }
                            z2 = true;
                            if (!z2) {
                            }
                        }
                    } catch (Throwable th2) {
                        aa.d(a, th2.getMessage());
                    }
                }
                if (!com.mbridge.msdk.click.b.d(this.b, str)) {
                    return false;
                }
                aa.d(a, "openDeepLink");
                this.k = true;
                return true;
            }
            z = true;
            if (!z) {
            }
        } catch (Throwable th3) {
            aa.d(a, th3.getMessage());
            return false;
        }
    }

    @Override
    public final void c(WebView webView, final String str) {
        aa.d(a, "onPageFinished1  " + str);
        if (this.e) {
            this.i = 0L;
            this.e = false;
            com.mbridge.msdk.foundation.same.f.b.b().execute(new Runnable() {
                @Override
                public final void run() {
                    if (a.this.c != null) {
                        a.this.c.onFinishRedirection(a.this.d, str);
                    }
                    if (a.this.h != null && a.this.l != null) {
                        a.this.l.setSuccess(true);
                        a.this.l.setUrl(str);
                        a.this.l.setType(2);
                        a.this.h.a(a.this.l, a.this.d, 1, true);
                    }
                }
            });
            if (TextUtils.isEmpty(str)) {
                return;
            }
            d();
            Uri parse = Uri.parse(str);
            if (!(parse.getScheme().equals("http") || parse.getScheme().equals(Constants.SCHEME)) || this.k) {
                return;
            }
            this.k = true;
            a(this.b, str, this.d);
        }
    }

    @Override
    public final boolean b(WebView webView, final String str) {
        aa.d(a, "shouldOverrideUrlLoading1  " + str);
        this.e = false;
        if (ae.a.a(str) && ae.a.a(this.b, str, null)) {
            this.k = true;
        }
        boolean e = e(webView, str);
        if (e) {
            this.i = 0L;
            this.e = false;
            d();
            com.mbridge.msdk.foundation.same.f.b.b().execute(new Runnable() {
                @Override
                public final void run() {
                    if (a.this.h != null && a.this.l != null) {
                        a.this.l.setSuccess(true);
                        a.this.l.setUrl(str);
                        a.this.l.setType(2);
                        a.this.h.a(a.this.l, a.this.d, 1, true);
                    }
                    if (a.this.c != null) {
                        a.this.c.onFinishRedirection(a.this.d, str);
                    }
                }
            });
        }
        return e;
    }

    @Override
    public final void a(WebView webView, String str) {
        if (this.i == 0) {
            this.i = System.currentTimeMillis();
            if (!this.n) {
                this.n = true;
                c();
            }
        }
        this.m = str;
        this.e = true;
    }

    @Override
    public final void a(WebView webView, String str, Bitmap bitmap) {
        if (this.i == 0) {
            this.i = System.currentTimeMillis();
            if (!this.n) {
                this.n = true;
                c();
            }
            this.k = false;
        }
        this.m = str;
        this.e = true;
    }

    private void c() {
        this.g.postDelayed(this.o, this.j);
    }

    private void d() {
        this.g.removeCallbacks(this.o);
    }

    @Override
    public final void a(WebView webView, int i, final String str, final String str2) {
        aa.c(a, str);
        d();
        com.mbridge.msdk.foundation.same.f.b.b().execute(new Runnable() {
            @Override
            public final void run() {
                if (a.this.c != null) {
                    a.this.c.onFinishRedirection(a.this.d, str2);
                }
                if (a.this.h != null && a.this.l != null) {
                    a.this.l.setSuccess(false);
                    a.this.l.setUrl(str2);
                    a.this.l.setType(2);
                    a.this.l.setExceptionMsg(str);
                    a.this.h.a(a.this.l, a.this.d, 1, true);
                }
            }
        });
        if (!d(webView, str2) || this.k) {
            return;
        }
        this.k = true;
        a(this.b, str2, this.d);
    }

    public void a(Context context, String str, CampaignEx campaignEx) {
        if (context == null) {
            return;
        }
        String currentLRid = campaignEx != null ? campaignEx.getCurrentLRid() : "";
        try {
            int i = MBCommonActivity.tz;
            Intent intent = new Intent(context, (Class<?>) MBCommonActivity.class);
            if (TextUtils.isEmpty(str)) {
                return;
            }
            b.a.put(str, this.f);
            if (ae.a.b(str)) {
                str = "https://play.google.com/store/apps/details?id=" + str.replace("market://details?id=", "");
            }
            intent.putExtra("url", str);
            aa.b("url", "webview url = " + str);
            intent.setFlags(805306368);
            intent.putExtra("mvcommon", campaignEx);
            context.startActivity(intent);
        } catch (Exception unused) {
            ae.a(context, str, this.c, currentLRid);
        }
    }
}