酷狗概念版 v2.5.5版本的 MD5 值为:782d327088fca4e58310f35a56f41319
以下内容为反编译后的 AbsBaseFlexoWebFragment.java 源代码,内容仅作参考
package com.kugou.android.app.flexowebview;
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.app.Activity;
import android.content.ClipData;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.drawable.ColorDrawable;
import android.net.Uri;
import android.net.http.SslError;
import android.os.Build;
import android.os.Bundle;
import android.os.Looper;
import android.os.Message;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewCompat;
import android.text.TextUtils;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.CookieManager;
import android.webkit.DownloadListener;
import android.webkit.JavascriptInterface;
import android.webkit.JsResult;
import android.webkit.SslErrorHandler;
import android.webkit.ValueCallback;
import android.webkit.WebChromeClient;
import android.webkit.WebResourceResponse;
import android.webkit.WebSettings;
import android.webkit.WebView;
import com.kugou.android.app.MediaActivity;
import com.kugou.android.app.flexowebview.a.a;
import com.kugou.android.app.flexowebview.thirdApp.JumpThirdAppManager;
import com.kugou.android.app.flexowebview.thirdApp.OtherSchemeUtils;
import com.kugou.android.common.delegate.DelegateFragment;
import com.kugou.android.lite.R;
import com.kugou.common.app.KGCommonApplication;
import com.kugou.common.permission.DenyAction;
import com.kugou.common.permission.GrantAction;
import com.kugou.common.permission.KGCommonRational;
import com.kugou.common.permission.KGPermission;
import com.kugou.common.skinpro.widget.SkinCommonProgressBar;
import com.kugou.common.utils.al;
import com.kugou.common.utils.as;
import com.kugou.common.utils.au;
import com.kugou.common.utils.bg;
import com.kugou.common.utils.br;
import com.kugou.common.utils.bt;
import com.kugou.common.utils.s;
import com.kugou.common.web.WebSafeUtil;
import com.kugou.framework.musicfees.vip.VipPageCloseEvent;
import com.kugou.framework.service.util.BackgroundServiceUtil;
import com.tencent.connect.common.Constants;
import de.greenrobot.event.EventBus;
import java.lang.ref.WeakReference;
import java.lang.reflect.Field;
import java.net.HttpURLConnection;
import java.net.URI;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.regex.Pattern;
import org.apache.commons.codec.net.StringEncodings;
import org.json.JSONException;
import org.json.JSONObject;
@SuppressLint({"SetJavaScriptEnabled"})
public abstract class AbsBaseFlexoWebFragment extends DelegateFragment implements com.kugou.common.web.b {
public static boolean fd_ = false;
protected OnWebViewListener A_;
public View cw_;
protected View dY_;
private boolean f;
protected String fs_;
public int[] fu_;
private MyWebViewClient h;
private FlexoWebChromeClient i;
private m k;
protected String mFailURL;
protected JavaWebExternal mJavaWebExternal;
protected SkinCommonProgressBar mProgressBar;
private JumpThirdAppManager mThirdAppManager;
protected String mTitle;
private UIHandler mUIHandler;
private ValueCallback<Uri> mUploadMessage;
private ValueCallback<Uri[]> mUploadMessageArray;
protected WebView mWebView;
private WorkerHandler mWorkerHandler;
private com.kugou.common.dialog8.popdialogs.b n;
private j o;
private com.kugou.common.network.retry.n webViewACKRetryStrategy;
protected com.kugou.android.app.flexowebview.a.a z_;
private final String TAG = "AbsBaseFlexoWebFragment";
private final int TIME_OUT_LONG = 300000;
protected final boolean DEBUG_JS_CALLBACK = false;
protected boolean cv_ = false;
private String mCurrentURL = "";
private int mCurrentProgress = 0;
private int mVirtualProgress = 0;
private int mOriWebViewLayerType = -1;
private boolean isOverrideUrl = false;
private boolean isTimeOut = false;
protected boolean ft_ = false;
private volatile String f9058a = null;
private l j = new l();
private boolean g = true;
private boolean m = true;
protected String fv_ = "";
boolean gd_ = com.kugou.common.config.c.a().a(com.kugou.common.config.a.DY, false);
private boolean f9059c = false;
private boolean f9060d = true;
private boolean f9061e = false;
public interface OnWebViewListener {
void onPageFinished();
}
public String I() {
return "";
}
protected boolean Y() {
return false;
}
@Override
public void a(boolean z, boolean z2) {
}
protected void am() {
}
public boolean an() {
return true;
}
protected abstract String appendAntiBrush(String str);
@Override
public void b(int i) {
}
@Override
public void c(int i) {
}
@Override
public void da_() {
}
public void g() {
}
protected abstract Class getJsInterface();
@Override
public int getThisPage() {
return 82;
}
@Override
public void k() {
}
protected void l(String str) {
}
@Override
public void m(int i) {
}
@Override
public boolean onLayerChange() {
return false;
}
protected void onPageFinishedSendApm() {
}
protected void onReceivedErrorSendApm(int i) {
}
public void onSuperCall(int i) {
}
protected abstract void showLoadingView();
protected abstract void showRefreshBar();
protected abstract void showWebView();
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
h.a().a(this);
}
@Override
public void onDestroy() {
super.onDestroy();
h.a().b(this);
}
@Override
public void onViewCreated(View view, Bundle bundle) {
super.onViewCreated(view, bundle);
setWebViewStatus();
i();
loadUrl(y("javascript:KgWebMobileCall.pageStatusNew(" + k(1) + ")"));
}
protected void i() {
this.webViewACKRetryStrategy = com.kugou.common.network.retry.p.c();
this.webViewACKRetryStrategy.a("AbsBaseFlexoWebFragment");
fd_ = true;
}
@Override
public void onActivityCreated(Bundle bundle) {
super.onActivityCreated(bundle);
this.mWorkerHandler = new WorkerHandler(getWorkLooper(), this);
this.mUIHandler = new UIHandler(this);
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
EventBus.getDefault().register(getClass().getClassLoader(), AbsBaseFlexoWebFragment.class.getName(), this);
} catch (Exception e2) {
as.e(e2);
}
}
@Override
public void onDetach() {
super.onDetach();
try {
EventBus.getDefault().unregister(this);
} catch (Exception e2) {
as.e(e2);
}
}
@Override
public void onDestroyView() {
super.onDestroyView();
loadUrl(y("javascript:KgWebMobileCall.pageStatusNew(" + k(2) + ")"));
fd_ = false;
com.kugou.common.network.retry.n nVar = this.webViewACKRetryStrategy;
if (nVar != null) {
nVar.b("AbsBaseFlexoWebFragment");
}
JumpThirdAppManager jumpThirdAppManager = this.mThirdAppManager;
if (jumpThirdAppManager != null) {
jumpThirdAppManager.release();
}
com.kugou.android.app.flexowebview.a.a aVar = this.z_;
if (aVar != null) {
aVar.a();
}
com.kugou.common.dialog8.popdialogs.b bVar = this.n;
if (bVar == null || !bVar.isShowing()) {
return;
}
this.n.dismiss();
}
@Override
public void setUserVisibleHint(boolean z) {
super.setUserVisibleHint(z);
if (z && this.m) {
this.m = false;
this.f9059c = z;
return;
}
if (!this.f9059c && z) {
loadUrl(y("javascript:KgWebMobileCall.pageStatusLifeCycle(" + n(1) + ")"));
}
if (z) {
loadUrl(y("javascript:KgWebMobileCall.pageStatusNew(" + k(3) + ")"));
} else {
loadUrl(y("javascript:KgWebMobileCall.pageStatusNew(" + k(4) + ")"));
}
this.f9059c = z;
}
@Override
public void onResume() {
super.onResume();
if (this.g) {
this.g = false;
return;
}
loadUrl(y("javascript:KgWebMobileCall.pageStatusNew(" + k(3) + ")"));
}
@Override
public void onPause() {
super.onPause();
loadUrl(y("javascript:KgWebMobileCall.pageStatusNew(" + k(4) + ")"));
if (c()) {
((MediaActivity) getActivity()).ac();
}
SkinCommonProgressBar skinCommonProgressBar = this.mProgressBar;
if (skinCommonProgressBar != null) {
skinCommonProgressBar.setVisibility(o(8));
}
}
@Override
public void onFragmentResume() {
super.onFragmentResume();
}
@Override
public void onFragmentPause() {
super.onFragmentPause();
}
private boolean c() {
return getActivity() instanceof MediaActivity;
}
public void onEventMainThread(i iVar) {
if (iVar == null) {
return;
}
this.f9060d = iVar.f9398a;
if (as.f54365e) {
as.b("AbsBaseFlexoWebFragment", "onEventMainThread: canSlideExit=" + this.f9060d);
}
if (aN_() == null || aN_().getDelegate() == null) {
return;
}
aN_().getDelegate().a(getFrameworkFragment(), this.f9060d);
}
@Override
public boolean canSlide() {
return this.f9060d;
}
public void onEvent(com.kugou.common.event.g gVar) {
if (this.mOriWebViewLayerType == -1) {
this.mOriWebViewLayerType = this.mWebView.getLayerType();
}
if (this.mOriWebViewLayerType != 1) {
if (gVar.a() == 0) {
if (as.f54365e) {
as.b("zlx_player", "VISIABLE");
}
this.mWebView.setLayerType(1, null);
this.mWebView.onPause();
onPause();
return;
}
if (as.f54365e) {
as.b("zlx_player", "INVISIBLE");
}
this.mWebView.setLayerType(this.mOriWebViewLayerType, null);
this.mWebView.onResume();
onResume();
}
}
public void onEventMainThread(f fVar) {
if (this.cw_ == null) {
return;
}
if (as.f54365e) {
as.d("yabin", "KGImmersionWebFragment-->onEventMainThread,swipeBackState=" + fVar);
}
int a2 = fVar.a();
if (a2 == 0) {
addIgnoredView(this.mWebView);
return;
}
if (a2 != 1) {
if (a2 != 2) {
return;
}
removeIgnoredView(this.cw_);
removeIgnoredView(this.mWebView);
return;
}
removeIgnoredView(this.mWebView);
ViewGroup.LayoutParams layoutParams = this.cw_.getLayoutParams();
if (fVar.b() > 0.0d) {
layoutParams.height = br.a(aN_(), (float) fVar.b());
} else {
layoutParams.height = getResources().getDisplayMetrics().heightPixels / 3;
}
this.cw_.setLayoutParams(layoutParams);
addIgnoredView(this.cw_);
}
public String k(int i) {
JSONObject jSONObject = new JSONObject();
try {
jSONObject.put("status", i);
if (as.f54365e) {
as.f("zzm-log", "---cmd ----status:" + i + "---:" + this);
}
} catch (JSONException e2) {
as.e(e2);
}
return jSONObject.toString();
}
public String n(int i) {
JSONObject jSONObject = new JSONObject();
try {
jSONObject.put("status", i);
if (as.f54365e) {
as.f("zzm-log", "---getPageLifeStatus ----status:" + i + "---:" + this);
}
} catch (JSONException e2) {
as.e(e2);
}
return jSONObject.toString();
}
@SuppressLint({"JavascriptInterface"})
protected void setWebViewStatus() {
this.mWebView.getSettings().setJavaScriptEnabled(true);
this.mWebView.getSettings().setPluginState(WebSettings.PluginState.ON);
this.mJavaWebExternal = new JavaWebExternal();
this.z_ = new com.kugou.android.app.flexowebview.a.a(this.mWebView, this.mJavaWebExternal);
if (!com.kugou.common.web.a.a.Is_Injected_Open) {
this.mWebView.addJavascriptInterface(this.mJavaWebExternal, "external");
}
WebView webView = this.mWebView;
FlexoWebChromeClient flexoWebChromeClient = new FlexoWebChromeClient("external", getJsInterface());
this.i = flexoWebChromeClient;
webView.setWebChromeClient(flexoWebChromeClient);
WebView webView2 = this.mWebView;
MyWebViewClient myWebViewClient = new MyWebViewClient();
this.h = myWebViewClient;
webView2.setWebViewClient(myWebViewClient);
this.mWebView.setDownloadListener(new MyWebViewDownLoadListener());
this.mWebView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
AbsBaseFlexoWebFragment.this.responseWebLongClick(view);
return false;
}
});
this.mWebView.getSettings().setDomStorageEnabled(true);
this.mWebView.getSettings().setSavePassword(false);
this.mWebView.getSettings().setAppCacheMaxSize(8388608L);
this.mWebView.getSettings().setAppCachePath(getApplicationContext().getCacheDir().getAbsolutePath());
this.mWebView.getSettings().setAllowFileAccess(true);
this.mWebView.getSettings().setAppCacheEnabled(true);
this.mWebView.getSettings().setBuiltInZoomControls(true);
this.mWebView.getSettings().setDisplayZoomControls(false);
this.mWebView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NORMAL);
this.mWebView.getSettings().setUseWideViewPort(true);
this.mWebView.getSettings().setLoadWithOverviewMode(true);
if (Build.VERSION.SDK_INT >= 17) {
this.mWebView.getSettings().setMediaPlaybackRequiresUserGesture(false);
}
if (Build.VERSION.SDK_INT >= 21) {
CookieManager.getInstance().setAcceptThirdPartyCookies(this.mWebView, true);
this.mWebView.getSettings().setMixedContentMode(0);
}
com.kugou.common.web.a.a.removeJavascriptInterface(this.mWebView);
}
public class JavaWebExternal extends com.kugou.common.datacollect.view.web.a implements a.InterfaceC0174a {
protected JavaWebExternal() {
}
@Override
@JavascriptInterface
public String superCall(int i, String str) {
super.superCall(i, str);
if (as.f54365e) {
as.b("BLUE", "网页回调 代号:" + i + "内容:" + str);
}
if (AbsBaseFlexoWebFragment.this.f && i == 142) {
com.kugou.android.useraccount.vippage.g.a(KGCommonApplication.getContext(), "url = " + AbsBaseFlexoWebFragment.this.mCurrentURL + ", page is normal");
}
return AbsBaseFlexoWebFragment.this.superCalled(i, str);
}
@Override
@JavascriptInterface
public String superCall(int i) {
if (as.f54365e) {
as.b("BLUE", "网页回调 代号:" + i);
}
AbsBaseFlexoWebFragment.this.onSuperCall(i);
return AbsBaseFlexoWebFragment.this.superCalled(i);
}
@JavascriptInterface
public void processHTML(String str, String str2) {
boolean a2;
String str3 = AbsBaseFlexoWebFragment.this.f9058a;
if (!com.kugou.common.network.retry.q.a(str)) {
AbsBaseFlexoWebFragment.this.onPageFinishedSendApm();
} else if (str3 != null) {
a2 = AbsBaseFlexoWebFragment.this.a(str, str3);
AbsBaseFlexoWebFragment.this.a(str, str3, a2);
}
a2 = false;
AbsBaseFlexoWebFragment.this.a(str, str3, a2);
}
}
@Override
public boolean f() {
if (!this.mWebView.canGoBack()) {
return false;
}
this.mWebView.goBack();
return true;
}
public void responseWebLongClick(View view) {
if (view instanceof WebView) {
WebView.HitTestResult hitTestResult = null;
try {
hitTestResult = ((WebView) view).getHitTestResult();
} catch (Exception e2) {
as.e(e2);
}
if (hitTestResult != null) {
int type = hitTestResult.getType();
if (type == 5 || type == 8) {
String extra = hitTestResult.getExtra();
if (as.f54365e) {
as.d("unicornhe", "longClickUrl:" + extra);
}
showDialog(extra);
}
}
}
}
private void showDialog(final String str) {
new DownImgDialog(aN_(), new View.OnClickListener() {
@Override
public void onClick(View view) {
AbsBaseFlexoWebFragment.this.a().a(str);
}
}).show();
}
public m a() {
if (this.k == null) {
this.k = new m(this);
}
return this.k;
}
protected void addJavascriptInterface() {
if (this.mWebView == null || com.kugou.common.web.a.a.Is_Injected_Open) {
return;
}
this.mWebView.addJavascriptInterface(this.mJavaWebExternal, "external");
}
public boolean a(String str, String str2) {
final String b2 = this.webViewACKRetryStrategy.b("AbsBaseFlexoWebFragment", str2);
if (!TextUtils.isEmpty(b2) && this.mWebView != null) {
if (as.f54365e) {
as.d("AbsBaseFlexoWebFragment", "reload retry url=" + b2);
}
this.mWebView.post(new Runnable() {
@Override
public void run() {
if (AbsBaseFlexoWebFragment.this.mWebView != null) {
AbsBaseFlexoWebFragment.this.mWebView.loadUrl(b2);
}
}
});
return true;
}
onReceivedErrorSendApm(com.kugou.common.useraccount.c.a.c(str));
return false;
}
public boolean x(String str) {
com.kugou.android.app.flexowebview.a.a aVar = this.z_;
return aVar != null && aVar.a(str);
}
public class MyWebViewClient extends com.kugou.common.datacollect.view.web.c {
public MyWebViewClient() {
}
@Override
public WebResourceResponse shouldInterceptRequest(WebView webView, String str) {
if (as.f54365e) {
as.b("AbsBaseFlexoWebFragment", "shouldInterceptRequest: " + str);
}
try {
if (str.startsWith("https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb") && ("4.4.3".equals(Build.VERSION.RELEASE) || "4.4.4".equals(Build.VERSION.RELEASE))) {
HttpURLConnection httpURLConnection = (HttpURLConnection) URI.create(str).toURL().openConnection();
httpURLConnection.setRequestProperty("Referer", "http://mfanxing.kugou.com/");
httpURLConnection.setRequestMethod(Constants.HTTP_GET);
return new WebResourceResponse("html", StringEncodings.UTF8, httpURLConnection.getInputStream());
}
return WebSafeUtil.a(str);
} catch (Exception e2) {
as.e(e2);
return super.shouldInterceptRequest(webView, str);
}
}
@Override
protected void onRedirectCallback(final String str, final String str2) {
super.onRedirectCallback(str, str2);
AbsBaseFlexoWebFragment.this.a(new Runnable() {
@Override
public void run() {
AbsBaseFlexoWebFragment.this.j.a(str, str2);
}
});
}
@Override
public void doUpdateVisitedHistory(WebView webView, String str, boolean z) {
super.doUpdateVisitedHistory(webView, str, z);
AbsBaseFlexoWebFragment.this.j.a(webView, str, z);
}
@Override
@TargetApi(11)
public boolean shouldOverrideUrlLoading(WebView webView, String str) {
Log.d("AbsBaseFlexoWebFragment", "shouldOverrideUrlLoading: " + str);
if (AbsBaseFlexoWebFragment.this.mWebView == null) {
try {
Field declaredField = getClass().getDeclaredField("this$0");
declaredField.setAccessible(true);
Object obj = declaredField.get(this);
if (obj != null) {
String name = obj.getClass().getName();
com.kugou.common.exceptionreport.b.a().a(11935050, "Class: " + name + " url: " + str);
}
} catch (IllegalAccessException | NoSuchFieldException | Exception unused) {
}
return false;
}
com.kugou.common.web.a.a.removeJavascriptInterface(AbsBaseFlexoWebFragment.this.mWebView);
if (TextUtils.isEmpty(str)) {
return false;
}
if (AbsBaseFlexoWebFragment.this.x(str)) {
return true;
}
if (KugouWebUtils.isHttpOrHttpsScheme(str)) {
AbsBaseFlexoWebFragment.this.isOverrideUrl = true;
String appendAntiBrush = AbsBaseFlexoWebFragment.this.appendAntiBrush(AbsBaseFlexoWebFragment.this.webViewACKRetryStrategy.a("AbsBaseFlexoWebFragment", str));
if (as.f54365e) {
as.b("AbsBaseFlexoWebFragment", "shouldOverrideUrlLoading url is " + appendAntiBrush);
}
if (appendAntiBrush.startsWith("https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb")) {
HashMap hashMap = new HashMap();
hashMap.put("Referer", "http://mfanxing.kugou.com");
AbsBaseFlexoWebFragment.this.mWebView.loadUrl(appendAntiBrush, hashMap);
} else {
AbsBaseFlexoWebFragment.this.mWebView.loadUrl(appendAntiBrush);
}
AbsBaseFlexoWebFragment.this.am();
return true;
}
String lowerCase = str.toLowerCase();
if (lowerCase.startsWith("intent://")) {
return true;
}
if (OtherSchemeUtils.isOtherScheme(str)) {
if (as.g() && as.f54365e) {
as.d("AbsBaseFlexoWebFragment", "shouldOverrideUrlLoading isOtherScheme is " + str);
}
AbsBaseFlexoWebFragment.this.getJumpThirdAppManager().handleAppJump(str);
return true;
}
if (KugouWebUtils.a(AbsBaseFlexoWebFragment.this, str)) {
return true;
}
if (lowerCase.startsWith("content://")) {
return WebSafeUtil.a(2, lowerCase);
}
if (lowerCase.startsWith("file://")) {
return WebSafeUtil.a(1, lowerCase);
}
if (lowerCase.startsWith("about://") || lowerCase.startsWith("kugou://")) {
return false;
}
com.kugou.common.exceptionreport.b.a().a(11915342, str);
return true;
}
@Override
public void onReceivedError(WebView webView, int i, String str, String str2) {
super.onReceivedError(webView, i, str, str2);
AbsBaseFlexoWebFragment.this.n(str2);
AbsBaseFlexoWebFragment.this.f = i == -10;
String b2 = AbsBaseFlexoWebFragment.this.webViewACKRetryStrategy.b("AbsBaseFlexoWebFragment", str2);
if (!TextUtils.isEmpty(b2)) {
if (as.f54365e) {
as.d("AbsBaseFlexoWebFragment", "onReceivedError retry url=" + b2);
}
shouldOverrideUrlLoading(webView, b2);
return;
}
AbsBaseFlexoWebFragment.this.onReceivedErrorSendApm(i);
if (as.f54365e) {
as.d("AbsBaseFlexoWebFragment", "onReceivedError errorCode= " + i + " failingUrl= " + str2);
}
AbsBaseFlexoWebFragment.this.mWorkerHandler.removeMessages(1);
if (i != -10) {
AbsBaseFlexoWebFragment.this.mFailURL = str2;
}
AbsBaseFlexoWebFragment.this.sendProgressBarEndMessage(true);
if (KugouWebUtils.isHttpOrHttpsScheme(str2)) {
return;
}
com.kugou.android.useraccount.vippage.g.a(KGCommonApplication.getContext(), "onReceivedError---originalUrl=" + AbsBaseFlexoWebFragment.this.mCurrentURL + ",url=" + str2 + ",errorCode=" + i + ",description=" + str + ",userAgent=" + webView.getSettings().getUserAgentString());
}
private boolean isPageFinishedIgnoreUrl(String str) {
if (TextUtils.isEmpty(str)) {
return false;
}
return str.startsWith("https://mclient.alipay.com") || isFitPattern(str);
}
private boolean isFitPattern(String str) {
return Pattern.compile("((http|https)://)(([a-zA-z0-9]+\\.){0,})((taobao.com)|(tmall.com)).*").matcher(str).matches();
}
@Override
public void onPageFinished(WebView webView, String str) {
if (AbsBaseFlexoWebFragment.this.A_ != null) {
AbsBaseFlexoWebFragment.this.A_.onPageFinished();
}
if (str.startsWith("http")) {
AbsBaseFlexoWebFragment.this.f9058a = str;
super.onPageFinished(webView, str);
if (AbsBaseFlexoWebFragment.this.gd_ || !isPageFinishedIgnoreUrl(str)) {
AbsBaseFlexoWebFragment absBaseFlexoWebFragment = AbsBaseFlexoWebFragment.this;
absBaseFlexoWebFragment.loadUrl(absBaseFlexoWebFragment.y("javascript:window.external.processHTML('<head>' + document.getElementsByTagName('html')[0].innerHTML+'</head>','<head>'+document.location+'</head>');"));
}
if (as.f54365e) {
as.d("AbsBaseFlexoWebFragment", "onPageFinished : url = " + str);
}
if (AbsBaseFlexoWebFragment.this.mWebView != null && AbsBaseFlexoWebFragment.this.mWebView.getProgress() == 100) {
AbsBaseFlexoWebFragment.this.mWorkerHandler.removeMessages(1);
AbsBaseFlexoWebFragment.this.sendProgressBarEndMessage(true);
}
AbsBaseFlexoWebFragment.this.onLoadFinished(str);
AbsBaseFlexoWebFragment.this.j.a(webView, str);
try {
} catch (Exception e2) {
as.e(e2);
if (as.f54365e) {
as.b("AbsBaseFlexoWebFragment", "onPageFinished Exception");
}
}
if (TextUtils.isEmpty(AbsBaseFlexoWebFragment.this.mFailURL) && !bg.a((Context) AbsBaseFlexoWebFragment.this.getActivity(), "sp_web_error", true)) {
AbsBaseFlexoWebFragment.this.showWebView();
if (!isPageFinishedIgnoreUrl(str)) {
AbsBaseFlexoWebFragment.this.loadUrl(AbsBaseFlexoWebFragment.this.y("javascript:KgWebMobileCall.pageStatus(204," + AbsBaseFlexoWebFragment.this.inOrQuitTheWebView(1) + ")"));
}
AbsBaseFlexoWebFragment.this.addJavascriptInterface();
}
if (as.f54365e) {
as.b("AbsBaseFlexoWebFragment", "onPageFinished mFailURL " + AbsBaseFlexoWebFragment.this.mFailURL + " " + bg.a((Context) AbsBaseFlexoWebFragment.this.getActivity(), "sp_web_error", true));
}
AbsBaseFlexoWebFragment.this.g();
AbsBaseFlexoWebFragment.this.addJavascriptInterface();
}
}
@Override
public void onLoadResource(WebView webView, String str) {
if (as.f54365e) {
as.f("JSBridge", "onLoadResource=" + str);
}
if (AbsBaseFlexoWebFragment.this.x(str)) {
return;
}
super.onLoadResource(webView, str);
}
@Override
public void onPageStarted(WebView webView, String str, Bitmap bitmap) {
super.onPageStarted(webView, str, bitmap);
AbsBaseFlexoWebFragment.this.b(str);
if (as.f54365e) {
as.d("AbsBaseFlexoWebFragment", "onPageStarted : url = " + str);
}
if (AbsBaseFlexoWebFragment.this.mProgressBar != null && AbsBaseFlexoWebFragment.this.mVirtualProgress == 0) {
AbsBaseFlexoWebFragment.this.mCurrentProgress = 0;
if (TextUtils.isEmpty(AbsBaseFlexoWebFragment.this.mCurrentURL) || !AbsBaseFlexoWebFragment.this.mCurrentURL.equals(str)) {
AbsBaseFlexoWebFragment.this.setProgress(0);
}
AbsBaseFlexoWebFragment.this.mUIHandler.removeMessages(2);
AbsBaseFlexoWebFragment.this.mUIHandler.removeMessages(3);
AbsBaseFlexoWebFragment.this.mUIHandler.sendEmptyMessage(2);
AbsBaseFlexoWebFragment.this.mProgressBar.setVisibility(AbsBaseFlexoWebFragment.this.o(0));
AbsBaseFlexoWebFragment.this.mProgressBar.setStartUrl(str);
}
if (!AbsBaseFlexoWebFragment.this.mWorkerHandler.hasMessages(1)) {
if (as.f54365e) {
as.d("AbsBaseFlexoWebFragment", "mWorkerHandler does not has message");
}
AbsBaseFlexoWebFragment.this.isTimeOut = false;
AbsBaseFlexoWebFragment.this.mWorkerHandler.removeMessages(1);
AbsBaseFlexoWebFragment.this.mWorkerHandler.sendEmptyMessageDelayed(1, 300000L);
}
if (AbsBaseFlexoWebFragment.this.mWebView != null) {
AbsBaseFlexoWebFragment.this.mWebView.clearView();
AbsBaseFlexoWebFragment.this.mWebView.invalidate();
}
if (KugouWebUtils.isHttpOrHttpsScheme(str)) {
AbsBaseFlexoWebFragment.this.mCurrentURL = str;
}
}
@Override
public void onReceivedSslError(WebView webView, SslErrorHandler sslErrorHandler, SslError sslError) {
AbsBaseFlexoWebFragment.this.a(webView, sslErrorHandler, sslError);
}
}
public String y(String str) {
if (!this.gd_ || !str.startsWith("javascript:")) {
return str;
}
return "javascript:try{" + str.substring(11) + "} catch(e) {}";
}
public void a(WebView webView, SslErrorHandler sslErrorHandler, SslError sslError) {
try {
String userAgentString = this.mWebView.getSettings().getUserAgentString();
if (!TextUtils.isEmpty(userAgentString) && (userAgentString.contains("Chrome/54.0.2840.68") || userAgentString.contains("Chrome/54.0.2840.85"))) {
sslErrorHandler.proceed();
} else {
onReceivedErrorSendApm(sslError.getPrimaryError() + 110000);
sslErrorHandler.cancel();
String url = sslError.getUrl();
if (Y()) {
a(sslError.getPrimaryError());
if (!TextUtils.isEmpty(url) && url.contains(".htm")) {
com.kugou.android.useraccount.vippage.h.a(aN_(), "userAgent = " + userAgentString + ", error = " + sslError.toString() + "");
}
}
}
a(sslError);
} catch (Exception e2) {
as.e(e2);
}
n((String) null);
}
private void a(SslError sslError) {
try {
String str = "";
String url = sslError.getUrl();
String userAgentString = this.mWebView.getSettings().getUserAgentString();
if (!TextUtils.isEmpty(url)) {
int indexOf = url.indexOf("?");
if (indexOf < 0) {
indexOf = url.length();
}
url = url.substring(0, indexOf);
}
int primaryError = sslError.getPrimaryError();
if (primaryError == 0) {
str = "0 cer is not yet valid";
} else if (primaryError == 1) {
str = "1 cer has expired";
} else if (primaryError == 2) {
str = "2 hostname dismatch";
} else if (primaryError == 3) {
str = "3 cer is untrusted";
} else if (primaryError == 4) {
str = "4 ssl date invalid";
} else if (primaryError == 5) {
str = "5 cer is invalid";
}
JSONObject jSONObject = new JSONObject();
jSONObject.put("primaryError", str);
jSONObject.put("url", url);
jSONObject.put("userAgent", userAgentString);
BackgroundServiceUtil.trace(new WebViewHttpsExceptionTask(aN_(), jSONObject.toString()));
} catch (JSONException e2) {
as.e(e2);
}
}
public class AnonymousClass4 implements Runnable {
final int val$error;
AnonymousClass4(int i) {
this.val$error = i;
}
@Override
public void run() {
final FragmentActivity activity = AbsBaseFlexoWebFragment.this.getActivity();
if (activity == null || activity.isFinishing()) {
return;
}
if (AbsBaseFlexoWebFragment.this.n != null && AbsBaseFlexoWebFragment.this.n.isShowing()) {
AbsBaseFlexoWebFragment.this.n.dismiss();
}
AbsBaseFlexoWebFragment absBaseFlexoWebFragment = AbsBaseFlexoWebFragment.this;
absBaseFlexoWebFragment.n = new com.kugou.common.dialog8.popdialogs.b(absBaseFlexoWebFragment.getActivity());
AbsBaseFlexoWebFragment.this.n.setTitleVisible(false);
int i = this.val$error;
if (i == 0 || i == 1 || i == 4) {
AbsBaseFlexoWebFragment.this.n.setMessage("安全证书存在问题(可能由于设备系统时间不正确导致,请先校准设备系统时间)");
AbsBaseFlexoWebFragment.this.n.setNegativeHint("取消");
AbsBaseFlexoWebFragment.this.n.setPositiveHint("设置时间");
} else {
AbsBaseFlexoWebFragment.this.n.setMessage("网络异常无法购买,请切换网络后重试");
AbsBaseFlexoWebFragment.this.n.setNegativeHint("取消");
AbsBaseFlexoWebFragment.this.n.setButtonMode(0);
}
AbsBaseFlexoWebFragment.this.n.setCanceledOnTouchOutside(false);
AbsBaseFlexoWebFragment.this.n.setCancelable(false);
AbsBaseFlexoWebFragment.this.n.setOnDialogClickListener(new com.kugou.common.dialog8.e() {
@Override
public void onOptionClick(com.kugou.common.dialog8.i iVar) {
}
@Override
public void onPositiveClick() {
AbsBaseFlexoWebFragment.this.mUIHandler.postDelayed(new Runnable() {
@Override
public void run() {
if (activity instanceof MediaActivity) {
AbsBaseFlexoWebFragment.this.finish();
} else {
activity.finish();
}
}
}, 500L);
AbsBaseFlexoWebFragment.this.startActivity(new Intent("android.settings.DATE_SETTINGS"));
}
@Override
public void onNegativeClick() {
Activity activity2 = activity;
if (activity2 instanceof MediaActivity) {
AbsBaseFlexoWebFragment.this.finish();
} else {
activity2.finish();
}
}
});
AbsBaseFlexoWebFragment.this.n.show();
}
}
private void a(int i) {
a(new AnonymousClass4(i));
}
@Override
public boolean onKeyDown(int i, KeyEvent keyEvent) {
FlexoWebChromeClient flexoWebChromeClient;
if (i != 4 || (flexoWebChromeClient = this.i) == null || !flexoWebChromeClient.isFullScreen()) {
return super.onKeyDown(i, keyEvent);
}
this.i.exitFullScreen();
return true;
}
public class FlexoWebChromeClient extends com.kugou.common.web.a.a {
private boolean isFullScreen;
private WebChromeClient.CustomViewCallback myCallback;
private View videoView;
public FlexoWebChromeClient(String str, Class cls) {
super(str, cls);
this.isFullScreen = false;
this.videoView = null;
this.myCallback = null;
}
@Override
public void onShowCustomView(View view, WebChromeClient.CustomViewCallback customViewCallback) {
WebChromeClient.CustomViewCallback customViewCallback2 = this.myCallback;
if (customViewCallback2 != null) {
customViewCallback2.onCustomViewHidden();
this.myCallback = null;
return;
}
this.videoView = view;
this.isFullScreen = true;
this.myCallback = customViewCallback;
AbsBaseFlexoWebFragment.this.getDelegate().b(view);
this.videoView.setBackgroundColor(ViewCompat.MEASURED_STATE_MASK);
AbsBaseFlexoWebFragment.this.getActivity().setRequestedOrientation(0);
br.a((Activity) AbsBaseFlexoWebFragment.this.getActivity(), true);
}
@Override
public void onHideCustomView() {
exitFullScreen();
}
public void exitFullScreen() {
if (this.videoView == null || !this.isFullScreen) {
return;
}
WebChromeClient.CustomViewCallback customViewCallback = this.myCallback;
if (customViewCallback != null) {
customViewCallback.onCustomViewHidden();
this.myCallback = null;
}
this.isFullScreen = false;
AbsBaseFlexoWebFragment.this.getDelegate().c(this.videoView);
AbsBaseFlexoWebFragment.this.getActivity().setRequestedOrientation(1);
br.a((Activity) AbsBaseFlexoWebFragment.this.getActivity(), false);
}
@Override
public boolean onJsAlert(WebView webView, String str, String str2, JsResult jsResult) {
com.kugou.android.app.flexowebview.c.c.b(AbsBaseFlexoWebFragment.this.getActivity(), str2);
jsResult.cancel();
return true;
}
@Override
public Bitmap getDefaultVideoPoster() {
return al.a(new ColorDrawable(ViewCompat.MEASURED_STATE_MASK));
}
@Override
public void onProgressChanged(WebView webView, int i) {
super.onProgressChanged(webView, i);
if (AbsBaseFlexoWebFragment.this.ft_) {
if (i < 100) {
if (AbsBaseFlexoWebFragment.this.isProgressDialogShowing()) {
return;
}
AbsBaseFlexoWebFragment.this.showLoadingView();
return;
}
AbsBaseFlexoWebFragment.this.showWebView();
return;
}
AbsBaseFlexoWebFragment.this.showWebView();
if (AbsBaseFlexoWebFragment.this.mProgressBar != null && AbsBaseFlexoWebFragment.this.mProgressBar.getProgress() <= i && AbsBaseFlexoWebFragment.this.mUIHandler != null) {
if (AbsBaseFlexoWebFragment.this.isTimeOut) {
AbsBaseFlexoWebFragment.this.mVirtualProgress = 0;
AbsBaseFlexoWebFragment.this.mUIHandler.removeMessages(2);
AbsBaseFlexoWebFragment.this.mUIHandler.removeMessages(3);
} else {
if (i < 0) {
i = 0;
} else if (i > 100) {
i = 100;
}
if (i < 100) {
if (i > 20) {
AbsBaseFlexoWebFragment.this.mUIHandler.removeMessages(2);
AbsBaseFlexoWebFragment.this.setProgress(i);
AbsBaseFlexoWebFragment.this.mProgressBar.setVisibility(AbsBaseFlexoWebFragment.this.o(0));
}
AbsBaseFlexoWebFragment.this.mUIHandler.removeMessages(3);
} else {
AbsBaseFlexoWebFragment.this.sendProgressBarEndMessage(!r5.isOverrideUrl);
}
}
AbsBaseFlexoWebFragment.this.mCurrentProgress = i;
}
AbsBaseFlexoWebFragment.this.isOverrideUrl = false;
}
@Override
public void onReceivedTitle(WebView webView, final String str) {
super.onReceivedTitle(webView, str);
AbsBaseFlexoWebFragment.this.l(str);
if (as.f54365e) {
as.d("AbsBaseFlexoWebFragment", "onReceivedTitle,mTitle=" + str);
}
au.a().a(new Runnable() {
@Override
public void run() {
com.kugou.android.netmusic.discovery.d.f.a().a(str);
}
});
if (!isNotPerfectTitle(AbsBaseFlexoWebFragment.this.mTitle) || TextUtils.isEmpty(str)) {
return;
}
AbsBaseFlexoWebFragment absBaseFlexoWebFragment = AbsBaseFlexoWebFragment.this;
absBaseFlexoWebFragment.mTitle = str;
absBaseFlexoWebFragment.getTitleDelegate().a((CharSequence) AbsBaseFlexoWebFragment.this.mTitle);
}
public boolean isFullScreen() {
return this.isFullScreen;
}
private boolean isNotPerfectTitle(String str) {
return TextUtils.isEmpty(str) || str.startsWith("http") || str.startsWith("https") || str.contains(".html");
}
public void openFileChooser(ValueCallback<Uri> valueCallback) {
AbsBaseFlexoWebFragment.this.mUploadMessage = valueCallback;
AbsBaseFlexoWebFragment.this.selectFile(true, "*/*", false);
}
public void openFileChooser(ValueCallback<Uri> valueCallback, String str) {
if (p.a().a(valueCallback, str, AbsBaseFlexoWebFragment.this.getActivity())) {
return;
}
AbsBaseFlexoWebFragment.this.mUploadMessage = valueCallback;
ArrayList mimeTypes = TextUtils.isEmpty(str) ? null : AbsBaseFlexoWebFragment.this.getMimeTypes(new String[]{str});
String str2 = (mimeTypes == null || mimeTypes.size() != 1 || TextUtils.isEmpty((CharSequence) mimeTypes.get(0))) ? "*/*" : (String) mimeTypes.get(0);
if (as.f54365e) {
as.d("xinshenweb", "openFileChooser 3.0+ : type = " + str2);
}
AbsBaseFlexoWebFragment.this.selectFile(true, str2, false);
}
public void openFileChooser(ValueCallback<Uri> valueCallback, String str, String str2) {
if (p.a().a(valueCallback, str, AbsBaseFlexoWebFragment.this.getActivity())) {
return;
}
AbsBaseFlexoWebFragment.this.mUploadMessage = valueCallback;
ArrayList mimeTypes = TextUtils.isEmpty(str) ? null : AbsBaseFlexoWebFragment.this.getMimeTypes(new String[]{str});
String str3 = (mimeTypes == null || mimeTypes.size() != 1 || TextUtils.isEmpty((CharSequence) mimeTypes.get(0))) ? "*/*" : (String) mimeTypes.get(0);
if (as.f54365e) {
as.d("xinshenweb", "openFileChooser 4.1 : type = " + str3);
}
AbsBaseFlexoWebFragment.this.selectFile(true, str3, false);
}
@Override
@SuppressLint({"NewApi"})
public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> valueCallback, WebChromeClient.FileChooserParams fileChooserParams) {
final boolean z;
if (p.a().a(webView, valueCallback, AbsBaseFlexoWebFragment.this.getActivity(), fileChooserParams)) {
return true;
}
AbsBaseFlexoWebFragment.this.mUploadMessageArray = valueCallback;
ArrayList arrayList = null;
if (fileChooserParams != null) {
String[] acceptTypes = fileChooserParams.getAcceptTypes();
if (acceptTypes != null && acceptTypes.length > 0) {
arrayList = AbsBaseFlexoWebFragment.this.getMimeTypes(acceptTypes);
}
if (fileChooserParams.getMode() == 1) {
z = true;
final String str = (arrayList == null && arrayList.size() == 1 && !TextUtils.isEmpty((CharSequence) arrayList.get(0))) ? (String) arrayList.get(0) : "*/*";
if (as.f54365e) {
as.d("xinshenweb", "onShowFileChooser : type = " + str);
}
KGPermission.with(AbsBaseFlexoWebFragment.this.aN_()).runtime().permission(bt.g).rationale(new KGCommonRational.Builder(AbsBaseFlexoWebFragment.this.getActivity()).setTitleResId(R.string.axw).setContentResId(R.string.awj).setLocationResId(R.string.axi).setCancelRequestListener(new KGCommonRational.OnPermissionListener() {
@Override
public void callback() {
AbsBaseFlexoWebFragment.this.b();
}
}).setDismissRequestListener(new KGCommonRational.OnPermissionListener() {
@Override
public void callback() {
AbsBaseFlexoWebFragment.this.b();
}
}).build()).onGranted(new GrantAction<List<String>>() {
@Override
public void onTokenAction(String str2, List<String> list) {
AbsBaseFlexoWebFragment.this.selectFile(false, str, z);
}
}).onDenied(new DenyAction<List<String>>() {
@Override
public void onAction(List<String> list) {
AbsBaseFlexoWebFragment.this.b();
}
}).start();
return true;
}
}
z = false;
if (arrayList == null) {
}
if (as.f54365e) {
}
KGPermission.with(AbsBaseFlexoWebFragment.this.aN_()).runtime().permission(bt.g).rationale(new KGCommonRational.Builder(AbsBaseFlexoWebFragment.this.getActivity()).setTitleResId(R.string.axw).setContentResId(R.string.awj).setLocationResId(R.string.axi).setCancelRequestListener(new KGCommonRational.OnPermissionListener() {
@Override
public void callback() {
AbsBaseFlexoWebFragment.this.b();
}
}).setDismissRequestListener(new KGCommonRational.OnPermissionListener() {
@Override
public void callback() {
AbsBaseFlexoWebFragment.this.b();
}
}).build()).onGranted(new GrantAction<List<String>>() {
@Override
public void onTokenAction(String str2, List<String> list) {
AbsBaseFlexoWebFragment.this.selectFile(false, str, z);
}
}).onDenied(new DenyAction<List<String>>() {
@Override
public void onAction(List<String> list) {
AbsBaseFlexoWebFragment.this.b();
}
}).start();
return true;
}
}
public void b() {
ValueCallback<Uri[]> valueCallback = this.mUploadMessageArray;
if (valueCallback != null) {
valueCallback.onReceiveValue(null);
this.mUploadMessageArray = null;
}
}
@Override
public void onActivityResult(int i, int i2, Intent intent) {
Uri[] uriArr;
ValueCallback<Uri[]> valueCallback;
Uri uri;
Uri data;
super.onActivityResult(i, i2, intent);
if (as.f54365e) {
as.d("AbsBaseFlexoWebFragment", "requestCode = " + i + ", resultCode = " + i2);
}
if (i == 101) {
if (i2 == -1) {
if (this.mUploadMessage == null) {
return;
}
if (intent != null && (data = intent.getData()) != null) {
String path = KugouWebUtils.getPath(aN_(), data);
if (!TextUtils.isEmpty(path)) {
uri = Uri.fromFile(new s(path));
this.mUploadMessage.onReceiveValue(uri);
this.mUploadMessage = null;
return;
}
}
}
uri = null;
this.mUploadMessage.onReceiveValue(uri);
this.mUploadMessage = null;
return;
}
if (i == 102) {
boolean z = false;
if (i2 == -1) {
if (this.mUploadMessageArray == null) {
return;
}
if (intent != null) {
ClipData clipData = intent.getClipData();
if (clipData != null && clipData.getItemCount() > 0) {
this.mWorkerHandler.removeMessages(2);
this.mWorkerHandler.obtainMessage(2, clipData).sendToTarget();
uriArr = null;
z = true;
} else {
Uri data2 = intent.getData();
if (data2 != null) {
String path2 = KugouWebUtils.getPath(aN_(), data2);
if (!TextUtils.isEmpty(path2)) {
uriArr = new Uri[]{Uri.fromFile(new s(path2))};
if (as.f54365e) {
as.d("AbsBaseFlexoWebFragment", "5.0以上:clipData = null, results = " + uriArr[0]);
}
}
}
}
if (!z || (valueCallback = this.mUploadMessageArray) == null) {
}
valueCallback.onReceiveValue(uriArr);
this.mUploadMessageArray = null;
return;
}
}
uriArr = null;
if (z) {
}
}
}
public static class MyWebViewDownLoadListener implements DownloadListener {
final WeakReference<AbsBaseFlexoWebFragment> mOwner;
private MyWebViewDownLoadListener(AbsBaseFlexoWebFragment absBaseFlexoWebFragment) {
this.mOwner = new WeakReference<>(absBaseFlexoWebFragment);
}
@Override
public void onDownloadStart(String str, String str2, String str3, String str4, long j) {
AbsBaseFlexoWebFragment absBaseFlexoWebFragment = this.mOwner.get();
if (absBaseFlexoWebFragment != null) {
com.kugou.android.app.flexowebview.c.c.a(absBaseFlexoWebFragment.aN_(), str);
}
}
}
public void e(boolean z) {
this.f9061e = z;
}
public int o(int i) {
if (this.f9061e) {
return 8;
}
return i;
}
public WebView getmWebView() {
return this.mWebView;
}
public void a(j jVar) {
this.o = jVar;
}
public void b(String str) {
j jVar = this.o;
if (jVar != null) {
jVar.a(str);
}
}
public void onLoadFinished(String str) {
WebView webView = this.mWebView;
if (webView != null && !webView.getSettings().getLoadsImagesAutomatically()) {
this.mWebView.getSettings().setLoadsImagesAutomatically(true);
}
j jVar = this.o;
if (jVar != null) {
jVar.b(str);
}
}
public void n(String str) {
j jVar = this.o;
if (jVar != null) {
jVar.c(str);
}
}
public void a(String str, String str2, boolean z) {
j jVar = this.o;
if (jVar != null) {
jVar.a(str, str2, z);
}
}
public void hideProgeressBar() {
SkinCommonProgressBar skinCommonProgressBar = this.mProgressBar;
if (skinCommonProgressBar != null) {
this.mVirtualProgress = 0;
skinCommonProgressBar.setVisibility(8);
this.mUIHandler.removeMessages(2);
this.mUIHandler.removeMessages(3);
}
}
public void setProgress(int i) {
if (as.f54365e) {
as.b("xinshenweb", "progress = " + i);
}
SkinCommonProgressBar skinCommonProgressBar = this.mProgressBar;
if (skinCommonProgressBar != null) {
skinCommonProgressBar.setProgress(i);
this.mProgressBar.setSecondaryProgress(i);
}
}
public void sendProgressBarEndMessage(boolean z) {
UIHandler uIHandler;
if (z) {
this.mVirtualProgress = 0;
}
if (this.mProgressBar == null || this.mCurrentProgress >= 100 || (uIHandler = this.mUIHandler) == null || uIHandler.hasMessages(3)) {
return;
}
this.mUIHandler.removeMessages(2);
this.mUIHandler.sendEmptyMessage(3);
}
public static class WorkerHandler extends com.kugou.framework.common.utils.stacktrace.e {
public static final int WORKER_CHECK_LOAD_URL_PROGRESS = 1;
public static final int WORKER_GET_FILE_URI = 2;
private WeakReference<AbsBaseFlexoWebFragment> weakReference;
public WorkerHandler(Looper looper, AbsBaseFlexoWebFragment absBaseFlexoWebFragment) {
super(looper);
this.weakReference = new WeakReference<>(absBaseFlexoWebFragment);
}
@Override
public void handleMessage(Message message) {
super.handleMessage(message);
final AbsBaseFlexoWebFragment absBaseFlexoWebFragment = this.weakReference.get();
if (absBaseFlexoWebFragment == null || !absBaseFlexoWebFragment.isAlive()) {
return;
}
int i = message.what;
if (i == 1) {
if (as.f54365e) {
as.d("xinshenweb", "WORKER_CHECK_LOAD_URL_PROGRESS");
}
absBaseFlexoWebFragment.a(new Runnable() {
@Override
public void run() {
absBaseFlexoWebFragment.isTimeOut = true;
if (absBaseFlexoWebFragment.mWebView != null) {
absBaseFlexoWebFragment.mWebView.stopLoading();
}
}
});
return;
}
if (i != 2) {
return;
}
ClipData clipData = (ClipData) message.obj;
Uri[] uriArr = null;
if (clipData != null && clipData.getItemCount() > 0) {
ArrayList arrayList = new ArrayList();
for (int i2 = 0; i2 < clipData.getItemCount(); i2++) {
ClipData.Item itemAt = clipData.getItemAt(i2);
if (itemAt != null && itemAt.getUri() != null) {
String path = KugouWebUtils.getPath(absBaseFlexoWebFragment.aN_(), itemAt.getUri());
if (!TextUtils.isEmpty(path)) {
arrayList.add(Uri.fromFile(new s(path)));
}
}
}
if (arrayList.size() > 0) {
uriArr = (Uri[]) arrayList.toArray(new Uri[arrayList.size()]);
}
}
if (as.f54365e) {
as.d("xinshenWeb", "5.0以上:clipData != null : WORKER_GET_FILE_URI");
}
absBaseFlexoWebFragment.mUIHandler.removeMessages(1);
absBaseFlexoWebFragment.mUIHandler.obtainMessage(1, uriArr).sendToTarget();
}
}
public static class UIHandler extends com.kugou.framework.common.utils.stacktrace.e {
public static final int MSG_RECIEVE_FILE_URI = 1;
public static final int UI_REFRESH_PREGRESS_BAR_VIRTUAL_END = 3;
public static final int UI_REFRESH_PREGRESS_BAR_VIRTUAL_START = 2;
private WeakReference<AbsBaseFlexoWebFragment> weakReference;
public UIHandler(AbsBaseFlexoWebFragment absBaseFlexoWebFragment) {
this.weakReference = new WeakReference<>(absBaseFlexoWebFragment);
}
@Override
public void handleMessage(Message message) {
super.handleMessage(message);
AbsBaseFlexoWebFragment absBaseFlexoWebFragment = this.weakReference.get();
if (absBaseFlexoWebFragment == null || !absBaseFlexoWebFragment.isAlive()) {
return;
}
int i = message.what;
if (i == 1) {
absBaseFlexoWebFragment.mUploadMessageArray.onReceiveValue((Uri[]) message.obj);
absBaseFlexoWebFragment.mUploadMessageArray = null;
return;
}
if (i == 2) {
if (absBaseFlexoWebFragment.mProgressBar == null || absBaseFlexoWebFragment.mProgressBar.getProgress() > 20) {
absBaseFlexoWebFragment.mUIHandler.removeMessages(2);
return;
}
absBaseFlexoWebFragment.mVirtualProgress = Math.max(absBaseFlexoWebFragment.mVirtualProgress, absBaseFlexoWebFragment.mProgressBar.getProgress());
absBaseFlexoWebFragment.mVirtualProgress += 5;
absBaseFlexoWebFragment.setProgress(absBaseFlexoWebFragment.mVirtualProgress);
absBaseFlexoWebFragment.mProgressBar.setVisibility(absBaseFlexoWebFragment.o(0));
if (absBaseFlexoWebFragment.mVirtualProgress >= 20) {
absBaseFlexoWebFragment.mUIHandler.removeMessages(2);
return;
} else {
absBaseFlexoWebFragment.mUIHandler.sendEmptyMessageDelayed(2, 100L);
return;
}
}
if (i == 3 && absBaseFlexoWebFragment.mProgressBar != null) {
int progress = absBaseFlexoWebFragment.mProgressBar.getProgress();
if (progress >= 100) {
absBaseFlexoWebFragment.hideProgeressBar();
return;
}
int max = Math.max(absBaseFlexoWebFragment.mVirtualProgress, progress) + 5;
if (max > 100) {
max = 100;
}
absBaseFlexoWebFragment.setProgress(max);
absBaseFlexoWebFragment.mProgressBar.setVisibility(absBaseFlexoWebFragment.o(0));
absBaseFlexoWebFragment.mUIHandler.sendEmptyMessageDelayed(3, 50L);
}
}
}
public ArrayList<String> getMimeTypes(String[] strArr) {
ArrayList<String> arrayList = new ArrayList<>();
if (strArr != null && strArr.length > 0) {
for (String str : strArr) {
if (!TextUtils.isEmpty(str)) {
String[] split = str.split(",");
if (split.length > 0) {
for (int i = 0; i < split.length; i++) {
if (!TextUtils.isEmpty(split[i])) {
arrayList.add(split[i]);
}
}
}
}
}
}
return arrayList;
}
public void selectFile(boolean z, String str, boolean z2) {
Intent intent = new Intent("android.intent.action.GET_CONTENT");
intent.addCategory("android.intent.category.OPENABLE");
intent.setType(str);
try {
if (z) {
startActivityForResult(intent, 101);
return;
}
if (Build.VERSION.SDK_INT >= 21 && z2) {
intent.putExtra("android.intent.extra.ALLOW_MULTIPLE", true);
}
startActivityForResult(intent, 102);
} catch (Throwable th) {
as.e(th);
}
}
public JumpThirdAppManager getJumpThirdAppManager() {
if (this.mThirdAppManager == null) {
this.mThirdAppManager = new JumpThirdAppManager(aN_());
}
return this.mThirdAppManager;
}
public void onEventMainThread(com.kugou.android.app.flexowebview.b.a aVar) {
WebView webView = this.mWebView;
if (webView != null) {
try {
webView.loadUrl(y("javascript:KgWebMobileCall.closeTopStatus()"));
} catch (Exception e2) {
as.e(e2);
}
}
}
public int[] al() {
return this.fu_;
}
@Override
public String Z() {
MyWebViewClient myWebViewClient = this.h;
if (myWebViewClient != null) {
return myWebViewClient.getCurrentUrl();
}
return null;
}
public void onEventMainThread(VipPageCloseEvent vipPageCloseEvent) {
if (vipPageCloseEvent.a() == 4 || vipPageCloseEvent.a() == 1) {
finish();
}
}
}