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);
}
}
}