WebviewHandler.java
1.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
package com.polysoft.nafmii.webview;
import android.text.TextUtils;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import com.polysoft.nafmii.bean.MenuBean;
import com.tencent.smtt.sdk.WebView;
import com.whaty.nafmii.activity.HomeActivity;
public class WebviewHandler implements IWebview {
private static final String TAG = WebviewHandler.class.getName();
protected final Fragment fragment;
protected final WebView webView;
protected boolean backIntercept = false;
public WebviewHandler(Fragment fragment, WebView webView) {
this.fragment = fragment;
this.webView = webView;
webView.addJavascriptInterface(new NativeApi(this), "$NativeApi");
}
@Override
public boolean canGoBack() {
if (this.backIntercept) {
JSApi.callOnBack(this.webView, "");
return true;
}
if (this.webView.canGoBack()) {
this.webView.goBack();
return true;
}
return false;
}
@Override
public WebView getWebview() {
return this.webView;
}
@Override
public Fragment getFragment() {
return this.fragment;
}
@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();
}
public void setBackIntercept(boolean intercept) {
this.backIntercept = intercept;
}
public void setTextZoom(int zoom) {
this.webView.getSettings().setTextZoom(zoom);
}
public void setButtomMenu(MenuBean bean) {
}
protected FragmentManager getFragmentManager() {
return this.fragment.getActivity().getSupportFragmentManager();
}
}