WebviewHandler.java
1.67 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
package com.polysoft.nafmii.webview;
import android.text.TextUtils;
import androidx.fragment.app.Fragment;
import com.polysoft.nafmii.bean.MenuBean;
import com.polysoft.nafmii.enums.JSMethodsEnum;
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 final JavaToJsinterface java2js;
protected boolean backIntercept = false;
public WebviewHandler(Fragment fragment, WebView webView) {
this.fragment = fragment;
this.webView = webView;
this.java2js = new JavaToJsinterface(webView);
}
@Override
public boolean canGoBack() {
if (this.backIntercept) {
this.java2js.callJs(JSMethodsEnum.CALL_BACK, "");
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();
}
@Override
public JavaToJsinterface getJsInterface() {
return this.java2js;
}
public void setBackIntercept(boolean intercept) {
this.backIntercept = intercept;
}
public WebView getWebView() {
return this.webView;
}
public Fragment getFragment() {
return this.fragment;
}
}