Idle Tower v2.48版本的 MD5 值为:56f20496f6a85726b376356ed2ecee23
以下内容为反编译后的 b0.java 源代码,内容仅作参考
package com.my.target;
import android.content.Context;
import android.graphics.Bitmap;
import android.net.Uri;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;
import android.webkit.ConsoleMessage;
import android.webkit.RenderProcessGoneDetail;
import android.webkit.WebChromeClient;
import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import com.my.target.b0;
public final class b0 extends d0 {
public a d;
public boolean e;
public boolean f;
public d g;
public interface a {
void a(WebView webView);
void a(String str);
void b(String str);
void c();
}
public static final class b extends WebChromeClient {
@Override
public boolean onConsoleMessage(ConsoleMessage consoleMessage) {
j9.a("BannerWebView$MyWebChromeClient: JS console message " + consoleMessage.message() + " at line " + consoleMessage.lineNumber());
return false;
}
}
public final class c extends WebViewClient {
public c() {
}
@Override
public void onPageFinished(WebView webView, String str) {
if (b0.this.e) {
return;
}
b0.this.e = true;
j9.a("BannerWebView$MyWebViewClient: Page loaded");
super.onPageFinished(webView, str);
a aVar = b0.this.d;
if (aVar != null) {
aVar.a(webView);
}
}
@Override
public void onPageStarted(WebView webView, String str, Bitmap bitmap) {
j9.a("BannerWebView$MyWebViewClient: Load page started");
super.onPageStarted(webView, str, bitmap);
}
@Override
public void onReceivedError(WebView webView, int i, String str, String str2) {
j9.a("BannerWebView$MyWebViewClient: Load failed. Error - " + i + ", description - " + str + ", url - " + str2);
super.onReceivedError(webView, i, str, str2);
a aVar = b0.this.d;
if (aVar == null) {
return;
}
if (str == null) {
str = "unknown JS error";
}
aVar.a(str);
}
@Override
public void onReceivedError(WebView webView, WebResourceRequest webResourceRequest, WebResourceError webResourceError) {
super.onReceivedError(webView, webResourceRequest, webResourceError);
CharSequence description = webResourceError.getDescription();
String charSequence = description != null ? description.toString() : null;
j9.a("BannerWebView$MyWebViewClient: Load failed. Error - " + webResourceError.getErrorCode() + ", description - " + charSequence + ", url - " + webResourceRequest.getUrl().toString());
a aVar = b0.this.d;
if (aVar == null) {
return;
}
if (charSequence == null) {
charSequence = "Unknown JS error";
}
aVar.a(charSequence);
}
@Override
public boolean onRenderProcessGone(WebView webView, RenderProcessGoneDetail renderProcessGoneDetail) {
j9.b("WebView crashed");
a aVar = b0.this.d;
if (aVar == null) {
return true;
}
aVar.c();
return true;
}
@Override
public void onScaleChanged(WebView webView, float f, float f2) {
super.onScaleChanged(webView, f, f2);
j9.a("BannerWebView$MyWebViewClient: Scale new - " + f2 + ", old - " + f);
}
@Override
public boolean shouldOverrideUrlLoading(WebView webView, WebResourceRequest webResourceRequest) {
Uri url;
if (!b0.this.f || (url = webResourceRequest.getUrl()) == null) {
return true;
}
b0.this.c(url.toString());
b0.this.h();
return true;
}
@Override
public boolean shouldOverrideUrlLoading(WebView webView, String str) {
if (b0.this.f && str != null) {
b0.this.c(str);
b0.this.h();
}
return true;
}
}
public interface d {
void a();
}
public static final class e extends GestureDetector {
public final View f6918a;
public a b;
public interface a {
void a();
}
public e(Context context, View view) {
this(context, view, new GestureDetector.SimpleOnGestureListener());
}
public e(Context context, View view, GestureDetector.SimpleOnGestureListener simpleOnGestureListener) {
super(context, simpleOnGestureListener);
this.f6918a = view;
setIsLongpressEnabled(false);
}
public void a(MotionEvent motionEvent) {
int action = motionEvent.getAction();
if (action != 0) {
if (action == 1) {
if (this.b == null) {
j9.a("BannerWebView$ViewGestureDetector: View's onUserClick() is not registered");
return;
} else {
j9.a("BannerWebView$ViewGestureDetector: Gestures - user clicked");
this.b.a();
return;
}
}
if (action != 2 || !a(motionEvent, this.f6918a)) {
return;
}
}
onTouchEvent(motionEvent);
}
public void a(a aVar) {
this.b = aVar;
}
public final boolean a(MotionEvent motionEvent, View view) {
if (motionEvent == null || view == null) {
return false;
}
float x = motionEvent.getX();
float y = motionEvent.getY();
return x >= 0.0f && x <= ((float) view.getWidth()) && y >= 0.0f && y <= ((float) view.getHeight());
}
}
public b0(Context context) {
super(context);
b bVar = new b();
c cVar = new c();
final e eVar = new e(getContext(), this);
eVar.a(new e.a() {
@Override
public final void a() {
b0.this.g();
}
});
setOnTouchListener(new View.OnTouchListener() {
@Override
public final boolean onTouch(View view, MotionEvent motionEvent) {
return b0.a(b0.e.this, view, motionEvent);
}
});
setHorizontalScrollBarEnabled(false);
setVerticalScrollBarEnabled(false);
WebSettings settings = getSettings();
if (settings != null) {
settings.setJavaScriptEnabled(true);
settings.setDomStorageEnabled(true);
settings.setAppCacheEnabled(true);
settings.setSupportZoom(false);
settings.setAppCachePath(getContext().getCacheDir().getAbsolutePath());
settings.setAllowFileAccess(false);
settings.setAllowContentAccess(false);
settings.setAllowFileAccessFromFileURLs(false);
settings.setAllowUniversalAccessFromFileURLs(false);
}
setWebChromeClient(bVar);
setWebViewClient(cVar);
}
public static boolean a(e eVar, View view, MotionEvent motionEvent) {
eVar.a(motionEvent);
return false;
}
public void g() {
this.f = true;
}
public void b(String str) {
WebView webView = getWebView();
if (webView == null) {
return;
}
webView.evaluateJavascript(str, null);
}
public void c(String str) {
a aVar = this.d;
if (aVar != null) {
aVar.b(str);
}
}
public void h() {
this.f = false;
}
@Override
public void onLayout(boolean z, int i, int i2, int i3, int i4) {
super.onLayout(z, i, i2, i3, i4);
d dVar = this.g;
if (dVar != null) {
dVar.a();
}
}
public void setBannerWebViewListener(a aVar) {
this.d = aVar;
}
public void setData(String str) {
this.e = false;
this.f = false;
a("https://ad.mail.ru/", str, "text/html", "UTF-8", null);
}
public void setForceMediaPlayback(boolean z) {
WebView webView = getWebView();
if (webView == null) {
return;
}
webView.getSettings().setMediaPlaybackRequiresUserGesture(!z);
}
public void setOnLayoutListener(d dVar) {
this.g = dVar;
}
}