正在查看: Vesuvius v228 应用的 WebViewWrapper.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Vesuvius v228 应用的 WebViewWrapper.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package anywheresoftware.b4a.objects;
import android.content.Context;
import android.graphics.Picture;
import android.graphics.drawable.BitmapDrawable;
import android.os.Build;
import android.view.MotionEvent;
import android.view.View;
import android.webkit.HttpAuthHandler;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import anywheresoftware.b4a.BA;
import anywheresoftware.b4a.objects.drawable.CanvasWrapper;
import java.io.InputStream;
import java.util.HashMap;
@BA.ShortName("WebView")
public class WebViewWrapper extends ViewWrapper<WebView> {
@Override
public void innerInitialize(final BA ba, final String str, boolean z) {
if (!z) {
setObject(new WebView(ba.context));
((WebView) getObject()).getSettings().setJavaScriptEnabled(true);
((WebView) getObject()).getSettings().setBuiltInZoomControls(true);
}
super.innerInitialize(ba, str, true);
((WebView) getObject()).setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView webView, String str2) {
ba.raiseEvent(WebViewWrapper.this.getObject(), String.valueOf(str) + "_pagefinished", str2);
}
@Override
public boolean shouldOverrideUrlLoading(WebView webView, String str2) {
Boolean bool = (Boolean) ba.raiseEvent(WebViewWrapper.this.getObject(), String.valueOf(str) + "_overrideurl", str2);
if (bool != null) {
return bool.booleanValue();
}
return false;
}
@Override
public void onReceivedHttpAuthRequest(WebView webView, HttpAuthHandler httpAuthHandler, String str2, String str3) {
Object raiseEvent = ba.raiseEvent(WebViewWrapper.this.getObject(), String.valueOf(str) + "_userandpasswordrequired", str2, str3);
if (raiseEvent == null) {
httpAuthHandler.cancel();
} else {
String[] strArr = (String[]) raiseEvent;
httpAuthHandler.proceed(strArr[0], strArr[1]);
}
}
});
((WebView) getObject()).setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
int action = motionEvent.getAction();
if ((action != 0 && action != 1) || view.hasFocus()) {
return false;
}
view.requestFocus();
return false;
}
});
}
public void LoadUrl(String str) {
((WebView) getObject()).loadUrl(str);
}
public void LoadHtml(String str) {
((WebView) getObject()).loadDataWithBaseURL("file:///", str, "text/html", "UTF8", null);
}
public void StopLoading() {
((WebView) getObject()).stopLoading();
}
public CanvasWrapper.BitmapWrapper CaptureBitmap() {
Picture capturePicture = ((WebView) getObject()).capturePicture();
CanvasWrapper.BitmapWrapper bitmapWrapper = new CanvasWrapper.BitmapWrapper();
bitmapWrapper.InitializeMutable(capturePicture.getWidth(), capturePicture.getHeight());
CanvasWrapper canvasWrapper = new CanvasWrapper();
canvasWrapper.Initialize2(bitmapWrapper.getObject());
capturePicture.draw(canvasWrapper.canvas);
return bitmapWrapper;
}
public String getUrl() {
return ((WebView) getObject()).getUrl();
}
public boolean getJavaScriptEnabled() {
return ((WebView) getObject()).getSettings().getJavaScriptEnabled();
}
public void setJavaScriptEnabled(boolean z) {
((WebView) getObject()).getSettings().setJavaScriptEnabled(z);
}
public void setZoomEnabled(boolean z) {
((WebView) getObject()).getSettings().setBuiltInZoomControls(z);
if (Build.VERSION.SDK_INT >= 11) {
((WebView) getObject()).getSettings().setDisplayZoomControls(z);
}
}
public boolean getZoomEnabled() {
return ((WebView) getObject()).getSettings().getBuiltInZoomControls();
}
public boolean getAllowFileAccess() {
return ((WebView) getObject()).getSettings().getAllowFileAccess();
}
public void setAllowFileAccess(boolean z) {
((WebView) getObject()).getSettings().setAllowFileAccess(z);
}
public boolean Zoom(boolean z) {
if (z) {
return ((WebView) getObject()).zoomIn();
}
return ((WebView) getObject()).zoomOut();
}
public void Back() {
((WebView) getObject()).goBack();
}
public void Forward() {
((WebView) getObject()).goForward();
}
public static View build(Object obj, HashMap<String, Object> hashMap, boolean z, Object obj2) throws Exception {
Object obj3 = obj;
if (obj == null) {
if (z) {
Context context = (Context) obj2;
View view = new View(context);
InputStream open = context.getAssets().open("webview.jpg");
BitmapDrawable bitmapDrawable = new BitmapDrawable(open);
open.close();
view.setBackgroundDrawable(bitmapDrawable);
obj3 = view;
} else {
WebView webView = (WebView) ViewWrapper.buildNativeView((Context) obj2, WebView.class, hashMap, z);
webView.getSettings().setJavaScriptEnabled(((Boolean) hashMap.get("javaScriptEnabled")).booleanValue());
webView.getSettings().setBuiltInZoomControls(((Boolean) hashMap.get("zoomEnabled")).booleanValue());
obj3 = webView;
if (Build.VERSION.SDK_INT >= 11) {
webView.getSettings().setDisplayZoomControls(((Boolean) hashMap.get("zoomEnabled")).booleanValue());
obj3 = webView;
}
}
}
ViewWrapper.build(obj3, hashMap, z);
return (View) obj3;
}
}