WebviewHandler.java 1.62 KB
package com.polysoft.nafmii.webview;

import android.text.TextUtils;

import androidx.fragment.app.Fragment;

import com.polysoft.nafmii.activity.HomeActivity;
import com.polysoft.nafmii.bean.MenuBean;
import com.tencent.smtt.sdk.WebView;

public class WebviewHandler implements IWebview{

    private static final String TAG = WebviewHandler.class.getName();
    private final Fragment fragment;
    private final WebView webView;
    private final JavaToJsinterface java2js;
    private final JsToJavaInterface js2java;

    private boolean backIntercept = false;

    public WebviewHandler(Fragment fragment, WebView webView) {
        this.fragment = fragment;
        this.webView = webView;
        this.java2js = new JavaToJsinterface(webView);
        this.js2java = new JsToJavaInterface(this, fragment, this.java2js);
        webView.addJavascriptInterface(this.js2java, "$NativeApi");
//        webView.getSettings().setTextZoom(120);
    }

    public void setButtomMenu(MenuBean bean) {
        HomeActivity activity = (HomeActivity) this.fragment.getActivity();
        activity.setModuleStatus(bean);
    }

    @Override
    public boolean canGoBack() {
        if (this.backIntercept) {
            return true;
        }
        if (this.webView.canGoBack()) {
            this.webView.goBack();
            return true;
        }
        return false;
    }

    @Override
    public void loadUrl(String url) {
        if (TextUtils.isEmpty(url) || url.equals(this.getUrl())) {
            return;
        }
        this.webView.loadUrl(url);
    }

    @Override
    public String getUrl() {
        return this.webView.getUrl();
    }

}