MBridgeBTWebView.java 源代码
package com.mbridge.msdk.video.bt.module;
import android.content.Context;
import android.content.res.Configuration;
import android.net.http.SslError;
import android.os.Handler;
import android.os.Looper;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.Base64;
import android.view.View;
import android.webkit.SslErrorHandler;
import android.webkit.WebView;
import android.widget.FrameLayout;
import android.widget.ImageView;
import com.mbridge.msdk.foundation.entity.CampaignEx;
import com.mbridge.msdk.foundation.tools.q;
import com.mbridge.msdk.mbsignalcommon.b.a;
import com.mbridge.msdk.mbsignalcommon.mraid.b;
import com.mbridge.msdk.mbsignalcommon.windvane.WindVaneWebView;
import com.mbridge.msdk.mbsignalcommon.windvane.g;
import com.mbridge.msdk.video.signal.a.j;
import com.mbridge.msdk.videocommon.d.c;
import java.util.List;
import org.json.JSONObject;
public class MBridgeBTWebView extends BTBaseView implements b {
private String f18774p;
private String f18775q;
private String f18776r;
private boolean f18777s;
private ImageView f18778t;
private boolean f18779u;
private c f18780v;
private List<CampaignEx> f18781w;
private WindVaneWebView f18782x;
private j f18783y;
private WebView f18784z;
public MBridgeBTWebView(Context context) {
super(context);
this.f18777s = false;
this.f18779u = false;
}
public void broadcast(String str, JSONObject jSONObject) {
if (this.f18782x != null) {
try {
JSONObject jSONObject2 = new JSONObject();
jSONObject2.put("code", BTBaseView.f18672n);
jSONObject2.put("id", this.f18677d);
jSONObject2.put("eventName", str);
jSONObject2.put("data", jSONObject);
g.a().a((WebView) this.f18782x, "broadcast", Base64.encodeToString(jSONObject2.toString().getBytes(), 2));
} catch (Exception unused) {
com.mbridge.msdk.video.bt.a.c.a().a((WebView) this.f18782x, "broadcast", this.f18677d);
}
}
}
@Override
public void close() {
WebView webView = this.f18784z;
if (webView != null) {
BTBaseView.a(webView, "onPlayerCloseBtnClicked", this.f18677d);
}
}
@Override
public void expand(String str, boolean z6) {
}
public List<CampaignEx> getCampaigns() {
return this.f18781w;
}
public String getFilePath() {
return this.f18775q;
}
public String getFileURL() {
return this.f18774p;
}
public String getHtml() {
return this.f18776r;
}
public CampaignEx getMraidCampaign() {
return this.f18675b;
}
public c getRewardUnitSetting() {
return this.f18780v;
}
public WindVaneWebView getWebView() {
return this.f18782x;
}
@Override
public void init(Context context) {
int i6;
WindVaneWebView windVaneWebView = new WindVaneWebView(context);
this.f18782x = windVaneWebView;
windVaneWebView.setBackgroundColor(0);
this.f18782x.setVisibility(0);
j jVar = new j(null, this.f18675b, this.f18781w);
this.f18783y = jVar;
jVar.a(this.f18676c);
this.f18782x.setObject(this.f18783y);
this.f18782x.setMraidObject(this);
this.f18782x.setWebViewListener(new a() {
@Override
public final void a(Object obj) {
super.a(obj);
try {
String str = "";
String c6 = MBridgeBTWebView.this.f18783y != null ? MBridgeBTWebView.this.f18783y.c() : "";
if (!TextUtils.isEmpty(c6)) {
str = Base64.encodeToString(c6.getBytes(), 2);
q.a("RVWindVaneWebView", "getEndScreenInfo success");
} else {
q.a("RVWindVaneWebView", "getEndScreenInfo failed");
}
g.a().a(obj, str);
} catch (Throwable th) {
q.a("RVWindVaneWebView", th.getMessage());
}
}
@Override
public final void a(WebView webView, String str) {
super.a(webView, str);
if (MBridgeBTWebView.this.f18784z != null) {
try {
JSONObject jSONObject = new JSONObject();
jSONObject.put("id", MBridgeBTWebView.this.f18677d);
jSONObject.put("code", BTBaseView.f18672n);
JSONObject jSONObject2 = new JSONObject();
jSONObject2.put("id", MBridgeBTWebView.this.f18677d);
jSONObject2.put("result", 1);
jSONObject.put("data", jSONObject2);
g.a().a(MBridgeBTWebView.this.f18784z, "onWebviewLoad", Base64.encodeToString(jSONObject.toString().getBytes(), 2));
} catch (Exception e6) {
com.mbridge.msdk.video.bt.a.c.a().a(MBridgeBTWebView.this.f18784z, e6.getMessage());
q.a("RVWindVaneWebView", e6.getMessage());
}
}
g.a().a(MBridgeBTWebView.this.f18782x);
}
@Override
public final void a(WebView webView, int i7, String str, String str2) {
super.a(webView, i7, str, str2);
if (MBridgeBTWebView.this.f18784z != null) {
try {
JSONObject jSONObject = new JSONObject();
jSONObject.put("id", MBridgeBTWebView.this.f18677d);
jSONObject.put("code", BTBaseView.f18672n);
JSONObject jSONObject2 = new JSONObject();
jSONObject2.put("id", MBridgeBTWebView.this.f18677d);
jSONObject2.put("result", 2);
jSONObject2.put("error", str);
jSONObject.put("data", jSONObject2);
g.a().a(MBridgeBTWebView.this.f18784z, "onWebviewLoad", Base64.encodeToString(jSONObject.toString().getBytes(), 2));
} catch (Exception e6) {
com.mbridge.msdk.video.bt.a.c.a().a(MBridgeBTWebView.this.f18784z, e6.getMessage());
q.a("RVWindVaneWebView", e6.getMessage());
}
}
}
@Override
public final void a(WebView webView, SslErrorHandler sslErrorHandler, SslError sslError) {
super.a(webView, sslErrorHandler, sslError);
if (MBridgeBTWebView.this.f18784z != null) {
try {
JSONObject jSONObject = new JSONObject();
jSONObject.put("id", MBridgeBTWebView.this.f18677d);
jSONObject.put("code", BTBaseView.f18672n);
JSONObject jSONObject2 = new JSONObject();
jSONObject2.put("id", MBridgeBTWebView.this.f18677d);
jSONObject2.put("result", 2);
jSONObject2.put("error", sslError.toString());
jSONObject.put("data", jSONObject2);
g.a().a(MBridgeBTWebView.this.f18784z, "onWebviewLoad", Base64.encodeToString(jSONObject.toString().getBytes(), 2));
} catch (Exception e6) {
com.mbridge.msdk.video.bt.a.c.a().a(MBridgeBTWebView.this.f18784z, e6.getMessage());
q.a("RVWindVaneWebView", e6.getMessage());
}
}
}
@Override
public final void a(WebView webView, int i7) {
super.a(webView, i7);
}
});
addView(this.f18782x, new FrameLayout.LayoutParams(-1, -1));
setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
if (MBridgeBTWebView.this.f18784z != null) {
try {
JSONObject jSONObject = new JSONObject();
jSONObject.put("code", BTBaseView.f18672n);
jSONObject.put("id", MBridgeBTWebView.this.f18677d);
JSONObject jSONObject2 = new JSONObject();
jSONObject2.put("x", String.valueOf(view.getX()));
jSONObject2.put("y", String.valueOf(view.getY()));
jSONObject.put("data", jSONObject2);
g.a().a(MBridgeBTWebView.this.f18784z, "onClicked", Base64.encodeToString(jSONObject.toString().getBytes(), 2));
} catch (Exception unused) {
com.mbridge.msdk.video.bt.a.c.a().a(MBridgeBTWebView.this.f18784z, "onClicked", MBridgeBTWebView.this.f18677d);
}
}
}
});
try {
ImageView imageView = new ImageView(getContext());
this.f18778t = imageView;
imageView.setImageResource(findDrawable("mbridge_reward_close"));
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(96, 96);
layoutParams.gravity = 8388661;
layoutParams.setMargins(30, 30, 30, 30);
this.f18778t.setLayoutParams(layoutParams);
ImageView imageView2 = this.f18778t;
if (this.f18777s) {
i6 = 4;
} else {
i6 = 8;
}
imageView2.setVisibility(i6);
CampaignEx campaignEx = this.f18675b;
if (campaignEx != null && campaignEx.isMraid()) {
this.f18778t.setVisibility(4);
}
this.f18778t.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
MBridgeBTWebView.this.close();
}
});
addView(this.f18778t);
} catch (Throwable th) {
q.a("BTBaseView", th.getMessage());
}
}
public void onBackPressed() {
if (this.f18782x != null) {
com.mbridge.msdk.video.bt.a.c.a().a((WebView) this.f18782x, "onSystemBackPressed", this.f18677d);
}
}
@Override
public void onConfigurationChanged(Configuration configuration) {
if (this.f18782x != null) {
try {
JSONObject jSONObject = new JSONObject();
if (configuration.orientation == 2) {
jSONObject.put("orientation", "landscape");
} else {
jSONObject.put("orientation", "portrait");
}
jSONObject.put("instanceId", this.f18677d);
g.a().a((WebView) this.f18782x, "orientation", Base64.encodeToString(jSONObject.toString().getBytes(), 2));
} catch (Exception e6) {
e6.printStackTrace();
}
}
}
@Override
public void onDestory() {
if (this.f18779u) {
return;
}
this.f18779u = true;
try {
if (this.f18782x != null) {
com.mbridge.msdk.video.bt.a.c.a().a((WebView) this.f18782x, "onSystemDestory", this.f18677d);
}
new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
@Override
public final void run() {
try {
if (MBridgeBTWebView.this.f18782x != null) {
MBridgeBTWebView.this.f18782x.clearWebView();
MBridgeBTWebView.this.f18782x.release();
}
MBridgeBTWebView.this.f18774p = null;
MBridgeBTWebView.this.f18775q = null;
MBridgeBTWebView.this.f18776r = null;
if (MBridgeBTWebView.this.f18784z != null) {
MBridgeBTWebView.this.f18784z = null;
}
} catch (Throwable th) {
q.a("BTBaseView", th.getMessage());
}
}
}, 500L);
setOnClickListener(null);
removeAllViews();
} catch (Throwable th) {
q.a("BTBaseView", th.getMessage());
}
}
@Override
public void open(String str) {
try {
String clickURL = this.f18675b.getClickURL();
if (!TextUtils.isEmpty(str)) {
this.f18675b.setClickURL(str);
try {
CampaignEx mraidCampaign = getMraidCampaign();
if (mraidCampaign != null) {
new com.mbridge.msdk.foundation.same.report.c(getContext()).b(mraidCampaign.getRequestId(), mraidCampaign.getRequestIdNotice(), mraidCampaign.getId(), this.f18676c, str, this.f18675b.isBidCampaign());
}
} catch (Throwable th) {
q.a("BTBaseView", th.getMessage());
}
}
new com.mbridge.msdk.click.a(getContext(), this.f18676c).a(this.f18675b);
this.f18675b.setClickURL(clickURL);
} catch (Throwable th2) {
q.d("BTBaseView", th2.getMessage());
}
}
public void preload() {
if (!TextUtils.isEmpty(this.f18774p)) {
this.f18782x.loadUrl(this.f18774p);
} else if (!TextUtils.isEmpty(this.f18775q)) {
this.f18782x.loadUrl(this.f18775q);
} else if (!TextUtils.isEmpty(this.f18776r)) {
this.f18782x.loadDataWithBaseURL("", this.f18776r, "text/html", "UTF-8", null);
}
}
public void setCampaigns(List<CampaignEx> list) {
this.f18781w = list;
}
public void setCreateWebView(WebView webView) {
this.f18784z = webView;
}
public void setFilePath(String str) {
this.f18775q = str;
}
public void setFileURL(String str) {
this.f18774p = str;
if (!TextUtils.isEmpty(str)) {
boolean contains = str.contains("play.google.com");
setWebviewClickable(!contains);
if (contains) {
com.mbridge.msdk.mbsignalcommon.base.c cVar = new com.mbridge.msdk.mbsignalcommon.base.c();
WindVaneWebView windVaneWebView = this.f18782x;
if (windVaneWebView != null) {
windVaneWebView.setFilter(cVar);
}
}
}
}
public void setHtml(String str) {
this.f18776r = str;
}
@Override
public void setRewardUnitSetting(c cVar) {
this.f18780v = cVar;
}
public void setWebViewRid(String str) {
WindVaneWebView windVaneWebView = this.f18782x;
if (windVaneWebView != null) {
windVaneWebView.setRid(str);
}
}
public void setWebviewClickable(boolean z6) {
WindVaneWebView windVaneWebView = this.f18782x;
if (windVaneWebView != null) {
windVaneWebView.setClickable(z6);
}
}
@Override
public void unload() {
close();
}
@Override
public void useCustomClose(boolean z6) {
int i6;
try {
ImageView imageView = this.f18778t;
if (z6) {
i6 = 4;
} else {
i6 = 0;
}
imageView.setVisibility(i6);
} catch (Throwable th) {
q.d("BTBaseView", th.getMessage());
}
}
public boolean webviewGoBack() {
WindVaneWebView windVaneWebView = this.f18782x;
if (windVaneWebView != null && windVaneWebView.canGoBack()) {
this.f18782x.goBack();
return true;
}
return false;
}
public boolean webviewGoForward() {
WindVaneWebView windVaneWebView = this.f18782x;
if (windVaneWebView != null && windVaneWebView.canGoForward()) {
this.f18782x.goForward();
return true;
}
return false;
}
public void webviewLoad(int i6) {
if (this.f18783y == null) {
this.f18783y = new j(null, this.f18675b, this.f18781w);
}
CampaignEx campaignEx = this.f18675b;
if (campaignEx != null) {
this.f18783y.a(campaignEx);
} else {
List<CampaignEx> list = this.f18781w;
if (list != null && list.size() > 0) {
this.f18783y.a(this.f18781w);
if (this.f18781w.size() == 1) {
this.f18783y.a(this.f18781w.get(0));
}
}
}
c cVar = this.f18780v;
if (cVar != null) {
this.f18783y.a(cVar);
}
this.f18783y.a(this.f18676c);
this.f18783y.c(this.f18677d);
if (i6 == 1) {
this.f18783y.n();
}
WindVaneWebView windVaneWebView = this.f18782x;
if (windVaneWebView != null) {
windVaneWebView.setObject(this.f18783y);
}
CampaignEx campaignEx2 = this.f18675b;
if (campaignEx2 != null && campaignEx2.isMraid()) {
this.f18778t.setVisibility(4);
}
preload();
}
public boolean webviewReload() {
WindVaneWebView windVaneWebView = this.f18782x;
if (windVaneWebView != null) {
windVaneWebView.reload();
return true;
}
return false;
}
public MBridgeBTWebView(Context context, AttributeSet attributeSet) {
super(context, attributeSet);
this.f18777s = false;
this.f18779u = false;
}
}