275 lines
10 KiB
Java
275 lines
10 KiB
Java
package com.ubt.jimu.base;
|
|
|
|
import android.content.Context;
|
|
import android.graphics.Bitmap;
|
|
import android.os.Build;
|
|
import android.os.Bundle;
|
|
import android.text.TextUtils;
|
|
import android.view.LayoutInflater;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import android.view.ViewParent;
|
|
import android.webkit.WebChromeClient;
|
|
import android.webkit.WebResourceRequest;
|
|
import android.webkit.WebSettings;
|
|
import android.webkit.WebView;
|
|
import android.webkit.WebViewClient;
|
|
import android.widget.ProgressBar;
|
|
import butterknife.ButterKnife;
|
|
import butterknife.Unbinder;
|
|
import com.ubt.jimu.R;
|
|
import com.ubt.jimu.utils.LogUtils;
|
|
import com.ubt.jimu.utils.NetWorkUtil;
|
|
import com.ubt.jimu.widgets.NavigationBarView;
|
|
import com.ubtech.utils.AndroidVersionCheckUtils;
|
|
import com.ubtech.view.fragment.BaseFragment;
|
|
import java.lang.ref.WeakReference;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class HelpFragment extends BaseFragment {
|
|
private static final String ACTIONBAR_BG_COLOR = "actionbarBackgroundColorResId";
|
|
private static final String TITLE = "title";
|
|
private static final String URL = "url";
|
|
private int actionbarBackgroundColorResId;
|
|
private Unbinder mBind;
|
|
private OnHelpFragmentInteractionListener mListener;
|
|
protected NavigationBarView nbv_bar;
|
|
protected ProgressBar pgLoading;
|
|
private String title;
|
|
private String url;
|
|
protected WebView webView;
|
|
|
|
public static class MyWebChromeClient extends WebChromeClient {
|
|
private WeakReference<HelpFragment> mFragmentReference;
|
|
|
|
public MyWebChromeClient(HelpFragment helpFragment) {
|
|
this.mFragmentReference = new WeakReference<>(helpFragment);
|
|
}
|
|
|
|
@Override // android.webkit.WebChromeClient
|
|
public void onProgressChanged(WebView webView, int i) {
|
|
HelpFragment helpFragment = this.mFragmentReference.get();
|
|
if (helpFragment == null || helpFragment.isDetached() || helpFragment.isRemoving()) {
|
|
return;
|
|
}
|
|
helpFragment.updateProgress(i);
|
|
}
|
|
|
|
@Override // android.webkit.WebChromeClient
|
|
public void onReceivedTitle(WebView webView, String str) {
|
|
super.onReceivedTitle(webView, str);
|
|
HelpFragment helpFragment = this.mFragmentReference.get();
|
|
if (helpFragment == null || helpFragment.isDetached() || helpFragment.isRemoving()) {
|
|
return;
|
|
}
|
|
helpFragment.setTitle(str);
|
|
}
|
|
}
|
|
|
|
public class MyWebViewClient extends WebViewClient {
|
|
public MyWebViewClient() {
|
|
}
|
|
|
|
@Override // android.webkit.WebViewClient
|
|
public void onPageFinished(WebView webView, String str) {
|
|
super.onPageFinished(webView, str);
|
|
ProgressBar progressBar = HelpFragment.this.pgLoading;
|
|
if (progressBar != null) {
|
|
progressBar.setProgress(100);
|
|
HelpFragment.this.pgLoading.setVisibility(8);
|
|
}
|
|
HelpFragment helpFragment = HelpFragment.this;
|
|
NavigationBarView navigationBarView = helpFragment.nbv_bar;
|
|
if (navigationBarView != null) {
|
|
navigationBarView.setTitle(TextUtils.isEmpty(helpFragment.title) ? webView.getTitle() : HelpFragment.this.title);
|
|
}
|
|
}
|
|
|
|
@Override // android.webkit.WebViewClient
|
|
public void onPageStarted(WebView webView, String str, Bitmap bitmap) {
|
|
super.onPageStarted(webView, str, bitmap);
|
|
ProgressBar progressBar = HelpFragment.this.pgLoading;
|
|
if (progressBar != null) {
|
|
progressBar.setVisibility(0);
|
|
HelpFragment.this.pgLoading.setProgress(0);
|
|
}
|
|
}
|
|
|
|
@Override // android.webkit.WebViewClient
|
|
public boolean shouldOverrideUrlLoading(WebView webView, WebResourceRequest webResourceRequest) {
|
|
if (Build.VERSION.SDK_INT >= 21) {
|
|
webView.loadUrl(webResourceRequest.getUrl().toString());
|
|
return true;
|
|
}
|
|
webView.loadUrl(webResourceRequest.toString());
|
|
return true;
|
|
}
|
|
}
|
|
|
|
public interface OnHelpFragmentInteractionListener {
|
|
void onHelpPageBack();
|
|
}
|
|
|
|
private void initWebView() {
|
|
int i = this.actionbarBackgroundColorResId;
|
|
if (i != 0) {
|
|
this.nbv_bar.setBackgroundResource(i);
|
|
}
|
|
this.webView.getSettings().setDisplayZoomControls(false);
|
|
this.webView.getSettings().setSupportZoom(false);
|
|
this.webView.getSettings().setUseWideViewPort(true);
|
|
this.webView.getSettings().setJavaScriptEnabled(true);
|
|
this.webView.getSettings().setLoadWithOverviewMode(true);
|
|
this.webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
|
|
this.webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
|
|
this.webView.getSettings().setBlockNetworkLoads(false);
|
|
this.webView.getSettings().setDomStorageEnabled(true);
|
|
this.webView.getSettings().setBlockNetworkImage(false);
|
|
if (AndroidVersionCheckUtils.c()) {
|
|
this.webView.getSettings().setAllowUniversalAccessFromFileURLs(true);
|
|
}
|
|
if (AndroidVersionCheckUtils.d()) {
|
|
this.webView.getSettings().setMediaPlaybackRequiresUserGesture(false);
|
|
}
|
|
this.webView.getSettings().setAllowContentAccess(true);
|
|
this.webView.getSettings().setAllowFileAccess(true);
|
|
this.webView.getSettings().setDatabaseEnabled(true);
|
|
this.webView.getSettings().setDomStorageEnabled(true);
|
|
this.webView.getSettings().setAppCacheEnabled(false);
|
|
if (NetWorkUtil.b(getContext())) {
|
|
this.webView.getSettings().setCacheMode(2);
|
|
} else {
|
|
this.webView.getSettings().setCacheMode(-1);
|
|
}
|
|
this.webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
|
|
this.webView.setScrollContainer(false);
|
|
this.webView.setWebViewClient(new MyWebViewClient());
|
|
this.webView.setWebChromeClient(new MyWebChromeClient(this));
|
|
LogUtils.c("隐私策略:" + this.url);
|
|
this.webView.loadUrl(this.url);
|
|
}
|
|
|
|
public static HelpFragment newInstance(String str, String str2, int i) {
|
|
HelpFragment helpFragment = new HelpFragment();
|
|
Bundle bundle = new Bundle();
|
|
bundle.putString("url", str);
|
|
bundle.putString("title", str2);
|
|
bundle.putInt(ACTIONBAR_BG_COLOR, i);
|
|
helpFragment.setArguments(bundle);
|
|
return helpFragment;
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: private */
|
|
public void onImgBack() {
|
|
if (this.webView.canGoBack()) {
|
|
this.webView.goBack();
|
|
return;
|
|
}
|
|
OnHelpFragmentInteractionListener onHelpFragmentInteractionListener = this.mListener;
|
|
if (onHelpFragmentInteractionListener != null) {
|
|
onHelpFragmentInteractionListener.onHelpPageBack();
|
|
}
|
|
}
|
|
|
|
public boolean goBack() {
|
|
if (!this.webView.canGoBack()) {
|
|
return false;
|
|
}
|
|
this.webView.goBack();
|
|
return true;
|
|
}
|
|
|
|
/* JADX WARN: Multi-variable type inference failed */
|
|
@Override // com.ubtech.view.fragment.BaseFragment, androidx.fragment.app.Fragment
|
|
public void onAttach(Context context) {
|
|
super.onAttach(context);
|
|
if (context instanceof OnHelpFragmentInteractionListener) {
|
|
this.mListener = (OnHelpFragmentInteractionListener) context;
|
|
}
|
|
}
|
|
|
|
@Override // com.ubtech.view.fragment.BaseFragment, androidx.fragment.app.Fragment
|
|
public void onCreate(Bundle bundle) {
|
|
super.onCreate(bundle);
|
|
if (getArguments() != null) {
|
|
this.url = getArguments().getString("url");
|
|
this.title = getArguments().getString("title");
|
|
this.actionbarBackgroundColorResId = getArguments().getInt(ACTIONBAR_BG_COLOR);
|
|
}
|
|
}
|
|
|
|
@Override // com.ubtech.view.fragment.BaseFragment, androidx.fragment.app.Fragment
|
|
public View onCreateView(LayoutInflater layoutInflater, ViewGroup viewGroup, Bundle bundle) {
|
|
View inflate = layoutInflater.inflate(R.layout.fragment_help, viewGroup, false);
|
|
this.mBind = ButterKnife.a(this, inflate);
|
|
initWebView();
|
|
if (!TextUtils.isEmpty(this.title)) {
|
|
this.nbv_bar.setTitle(this.title);
|
|
}
|
|
this.nbv_bar.setListener(new NavigationBarView.OnActionClickListener.Stub() { // from class: com.ubt.jimu.base.HelpFragment.1
|
|
@Override // com.ubt.jimu.widgets.NavigationBarView.OnActionClickListener.Stub
|
|
public void onLeftClick(View view) {
|
|
HelpFragment.this.onImgBack();
|
|
}
|
|
});
|
|
return inflate;
|
|
}
|
|
|
|
@Override // androidx.fragment.app.Fragment
|
|
public void onDestroy() {
|
|
WebView webView = this.webView;
|
|
if (webView != null) {
|
|
ViewParent parent = webView.getParent();
|
|
if (parent != null) {
|
|
((ViewGroup) parent).removeView(this.webView);
|
|
}
|
|
this.webView.removeAllViews();
|
|
this.webView.destroy();
|
|
}
|
|
super.onDestroy();
|
|
}
|
|
|
|
@Override // androidx.fragment.app.Fragment
|
|
public void onDestroyView() {
|
|
WebView webView = this.webView;
|
|
if (webView != null) {
|
|
ViewParent parent = webView.getParent();
|
|
if (parent != null) {
|
|
((ViewGroup) parent).removeView(this.webView);
|
|
}
|
|
this.webView.stopLoading();
|
|
this.webView.clearHistory();
|
|
this.webView.removeAllViews();
|
|
this.webView.destroy();
|
|
this.webView = null;
|
|
}
|
|
this.mBind.unbind();
|
|
super.onDestroyView();
|
|
}
|
|
|
|
@Override // androidx.fragment.app.Fragment
|
|
public void onDetach() {
|
|
super.onDetach();
|
|
this.mListener = null;
|
|
}
|
|
|
|
public void setListener(OnHelpFragmentInteractionListener onHelpFragmentInteractionListener) {
|
|
this.mListener = onHelpFragmentInteractionListener;
|
|
}
|
|
|
|
protected void setTitle(String str) {
|
|
NavigationBarView navigationBarView;
|
|
if (!TextUtils.isEmpty(str) || (navigationBarView = this.nbv_bar) == null) {
|
|
return;
|
|
}
|
|
navigationBarView.setTitle(str);
|
|
}
|
|
|
|
protected void updateProgress(int i) {
|
|
ProgressBar progressBar = this.pgLoading;
|
|
if (progressBar != null) {
|
|
progressBar.setProgress(i);
|
|
}
|
|
}
|
|
}
|