jimu-decompiled/sources/com/ubt/jimu/base/HelpFragment.java
2025-05-13 19:24:51 +02:00

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);
}
}
}