导航菜单

页面标题

页面副标题

Vesuvius v228 - WebViewWrapper.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;
    }
}