红果免费短剧 v6.2.3.32版本的 MD5 值为:a6b05492607eab2c8a25f26d2f238ae0
以下内容为反编译后的 WebKitView.java 源代码,内容仅作参考
package com.bytedance.lynx.hybrid.webkit;
import android.content.Context;
import android.net.Uri;
import android.os.Build;
import android.os.Handler;
import android.text.TextUtils;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewConfiguration;
import android.webkit.WebSettings;
import android.webkit.WebView;
import com.bytedance.android.monitorV2.webview.WebViewMonitorHelper;
import com.bytedance.crash.Npth;
import com.bytedance.lynx.hybrid.HybridEnvironment;
import com.bytedance.lynx.hybrid.KitViewManager;
import com.bytedance.lynx.hybrid.base.BaseInfoConfig;
import com.bytedance.lynx.hybrid.base.IHybridKitLifeCycle;
import com.bytedance.lynx.hybrid.base.IKitView;
import com.bytedance.lynx.hybrid.base.SessionInfo;
import com.bytedance.lynx.hybrid.base.YieldError;
import com.bytedance.lynx.hybrid.param.HybridContext;
import com.bytedance.lynx.hybrid.param.HybridSchemaParam;
import com.bytedance.lynx.hybrid.param.LoadSession;
import com.bytedance.lynx.hybrid.protocol.HybridGlobalPropsServiceProtocol;
import com.bytedance.lynx.hybrid.runtime.HybridRuntime;
import com.bytedance.lynx.hybrid.service.IKitBridgeService;
import com.bytedance.lynx.hybrid.service.api.IService;
import com.bytedance.lynx.hybrid.utils.LogLevel;
import com.bytedance.lynx.hybrid.utils.LogUtils;
import com.bytedance.lynx.hybrid.utils.ViewEventUtils;
import com.bytedance.lynx.hybrid.webkit.runtime.HybridDefaultWebViewRuntime;
import com.bytedance.webx.core.webview.WebViewContainer;
import com.phoenix.read.R;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import kotlin.TuplesKt;
import kotlin.TypeCastException;
import kotlin.collections.CollectionsKt;
import kotlin.collections.MapsKt;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;
import org.json.JSONObject;
public class WebKitView extends WebViewContainer implements IKitView {
private final int MAX_CLICK_DURATION;
private final long TIME_INTERVAL;
private HashMap _$_findViewCache;
private IKitBridgeService bridgeService;
private boolean canTouch;
private c eventDelegate;
private HybridContext hybridContext;
private HybridRuntime hybridRuntime;
private WebKitInitParams initParams;
private boolean isBridgeServiceOnCreated;
private boolean isBridgeServiceOnProvided;
private long lastCickTime;
private LoadSession loadSession;
private Uri loadUri;
private com.bytedance.lynx.hybrid.protocol.b navigationServiceProtocol;
private a overScrollByListener;
private IService resource;
private Function0<? extends IService> resourceDynamic;
private b scrollListener;
private SessionInfo sessionInfo;
private long startClickTime;
private long timeInterval;
private IHybridKitLifeCycle webKitLifeCycle;
private String webUrl;
public interface a {
void a(int i, int i2, int i3, int i4, int i5, int i6, int i7, int i8, boolean z);
}
public interface b {
void a(int i, int i2, int i3, int i4);
}
private final void setOtherDelegates() {
}
public void _$_clearFindViewByIdCache() {
HashMap hashMap = this._$_findViewCache;
if (hashMap != null) {
hashMap.clear();
}
}
public View _$_findCachedViewById(int i) {
if (this._$_findViewCache == null) {
this._$_findViewCache = new HashMap();
}
View view = (View) this._$_findViewCache.get(Integer.valueOf(i));
if (view != null) {
return view;
}
View findViewById = findViewById(i);
this._$_findViewCache.put(Integer.valueOf(i), findViewById);
return findViewById;
}
@Override
public void load(byte[] templateArray, String str) {
Intrinsics.checkParameterIsNotNull(templateArray, "templateArray");
}
@Override
public WebView realView() {
return this;
}
@Override
public void refreshSchemaParam(HybridSchemaParam hybridSchemaParam) {
Intrinsics.checkParameterIsNotNull(hybridSchemaParam, "hybridSchemaParam");
}
public final IKitBridgeService getBridgeService$hybrid_web_release() {
return this.bridgeService;
}
public final boolean getCanTouch() {
return this.canTouch;
}
@Override
public HybridContext getHybridContext() {
return this.hybridContext;
}
public final HybridRuntime getHybridRuntime$hybrid_web_release() {
return this.hybridRuntime;
}
public final WebKitInitParams getInitParams$hybrid_web_release() {
return this.initParams;
}
public final com.bytedance.lynx.hybrid.protocol.b getNavigationServiceProtocol$hybrid_web_release() {
return this.navigationServiceProtocol;
}
public final IService getResource$hybrid_web_release() {
return this.resource;
}
public final Function0<IService> getResourceDynamic$hybrid_web_release() {
return this.resourceDynamic;
}
public final long getTimeInterval() {
return this.timeInterval;
}
public final IHybridKitLifeCycle getWebKitLifeCycle$hybrid_web_release() {
return this.webKitLifeCycle;
}
public final String getWebUrl$hybrid_web_release() {
return this.webUrl;
}
public final void prepare() {
onCreated$hybrid_web_release();
}
@Override
public void goBack() {
WebViewMonitorHelper.getInstance().goBack(this);
super.goBack();
}
@Override
protected void onAttachedToWindow() {
WebViewMonitorHelper.getInstance().onAttachedToWindow(this);
super.onAttachedToWindow();
}
@Override
public void onHide() {
ViewEventUtils.f21627a.a(getHybridContext());
}
public final void onProvided$hybrid_web_release() {
Context context = getContext();
Intrinsics.checkExpressionValueIsNotNull(context, "context");
setJsBridgeOnKitViewProvided(context);
}
@Override
public void onShow() {
ViewEventUtils.f21627a.c(getHybridContext());
}
private final void setLongClickable() {
Boolean disableSaveImage;
WebKitInitParams webKitInitParams = this.initParams;
if (webKitInitParams != null && (disableSaveImage = webKitInitParams.getDisableSaveImage()) != null) {
boolean booleanValue = disableSaveImage.booleanValue();
setLongClickable(!booleanValue);
if (booleanValue) {
setOnLongClickListener(null);
}
}
}
static final class d implements Runnable {
final boolean f21651b;
d(boolean z) {
this.f21651b = z;
}
@Override
public final void run() {
IKitBridgeService bridgeService$hybrid_web_release = WebKitView.this.getBridgeService$hybrid_web_release();
if (bridgeService$hybrid_web_release != null) {
bridgeService$hybrid_web_release.onDestroy();
}
if (this.f21651b) {
IHybridKitLifeCycle webKitLifeCycle$hybrid_web_release = WebKitView.this.getWebKitLifeCycle$hybrid_web_release();
if (webKitLifeCycle$hybrid_web_release != null) {
webKitLifeCycle$hybrid_web_release.onClearContext();
}
} else {
IHybridKitLifeCycle webKitLifeCycle$hybrid_web_release2 = WebKitView.this.getWebKitLifeCycle$hybrid_web_release();
if (webKitLifeCycle$hybrid_web_release2 != null) {
webKitLifeCycle$hybrid_web_release2.onDestroy();
}
}
KitViewManager.INSTANCE.removeKitView(WebKitView.this.getHybridContext().getContainerId());
}
}
public final boolean hasClickInTimeInterval() {
c cVar = this.eventDelegate;
if (cVar != null) {
try {
return cVar.a();
} catch (YieldError unused) {
}
}
long currentTimeMillis = System.currentTimeMillis() - this.lastCickTime;
LogUtils.printLog$default(LogUtils.INSTANCE, "ClickInTimeInterval:" + currentTimeMillis, null, null, 6, null);
long j = this.timeInterval;
if (j <= 0) {
j = this.TIME_INTERVAL;
}
if (currentTimeMillis < j) {
return true;
}
return false;
}
@Override
public void load() {
LoadSession loadSession = this.loadSession;
if (loadSession != null) {
loadSession.setWebviewStartLoad(Long.valueOf(System.currentTimeMillis()));
}
if (!TextUtils.isEmpty(this.webUrl)) {
String str = this.webUrl;
if (str == null) {
Intrinsics.throwNpe();
}
load(str);
return;
}
LogUtils.printLog$default(LogUtils.INSTANCE, "please set url at WebKitInitParam(url=\"\")", LogLevel.E, null, 4, null);
}
public final void onCreated$hybrid_web_release() {
long currentTimeMillis = System.currentTimeMillis();
com.bytedance.lynx.hybrid.utils.f.f21642a.a(getHybridContext().getContainerId(), "prepare_template_start", currentTimeMillis);
LoadSession loadSession = (LoadSession) getHybridContext().getDependency(LoadSession.class);
if (loadSession != null) {
loadSession.setPrepareTemplateStart(Long.valueOf(currentTimeMillis));
}
setWebSettings();
setLongClickable();
setOtherDelegates();
Context context = getContext();
Intrinsics.checkExpressionValueIsNotNull(context, "context");
setJsBridgeOnKitViewCreated(context, getHybridContext());
long currentTimeMillis2 = System.currentTimeMillis();
com.bytedance.lynx.hybrid.utils.f.f21642a.a(getHybridContext().getContainerId(), "prepare_template_end", currentTimeMillis2);
LoadSession loadSession2 = (LoadSession) getHybridContext().getDependency(LoadSession.class);
if (loadSession2 != null) {
loadSession2.setPrepareTemplateEnd(Long.valueOf(currentTimeMillis2));
}
WebViewMonitorHelper.getInstance().handleViewCreate(this);
}
@Override
public void reload() {
HybridGlobalPropsServiceProtocol globalPropsServiceProtocol;
Map<String, Object> map;
HybridRuntime hybridRuntime = this.hybridRuntime;
if (hybridRuntime != null && (globalPropsServiceProtocol = hybridRuntime.getGlobalPropsServiceProtocol()) != null) {
WebKitView webKitView = this;
WebKitInitParams webKitInitParams = this.initParams;
if (webKitInitParams != null) {
map = webKitInitParams.getGlobalProps();
} else {
map = null;
}
globalPropsServiceProtocol.setGlobalProps(webKitView, map);
}
IHybridKitLifeCycle iHybridKitLifeCycle = this.webKitLifeCycle;
if (iHybridKitLifeCycle != null) {
WebKitView webKitView2 = this;
String str = this.webUrl;
if (str == null) {
str = "";
}
iHybridKitLifeCycle.onLoadStart(webKitView2, str);
}
getHybridContext().tryResetTemplateResData(System.currentTimeMillis());
WebViewMonitorHelper.getInstance().reload(this);
super.reload();
}
private final void setWebSettings() {
WebSettingsApplier customWebSettingsApplier;
WebSettings settings = getSettings();
Intrinsics.checkExpressionValueIsNotNull(settings, "settings");
settings.setJavaScriptEnabled(true);
WebSettings settings2 = getSettings();
Intrinsics.checkExpressionValueIsNotNull(settings2, "settings");
settings2.setLoadWithOverviewMode(true);
getSettings().setSupportZoom(true);
WebSettings settings3 = getSettings();
Intrinsics.checkExpressionValueIsNotNull(settings3, "settings");
settings3.setBuiltInZoomControls(true);
WebSettings settings4 = getSettings();
Intrinsics.checkExpressionValueIsNotNull(settings4, "settings");
settings4.setLoadWithOverviewMode(true);
WebSettings settings5 = getSettings();
Intrinsics.checkExpressionValueIsNotNull(settings5, "settings");
settings5.setUseWideViewPort(true);
WebSettings settings6 = getSettings();
Intrinsics.checkExpressionValueIsNotNull(settings6, "settings");
settings6.setDomStorageEnabled(true);
WebSettings settings7 = getSettings();
Intrinsics.checkExpressionValueIsNotNull(settings7, "settings");
settings7.setAllowFileAccess(true);
WebSettings settings8 = getSettings();
Intrinsics.checkExpressionValueIsNotNull(settings8, "settings");
settings8.setBlockNetworkImage(false);
BaseInfoConfig baseInfoConfig = HybridEnvironment.Companion.getInstance().getBaseInfoConfig();
if (baseInfoConfig != null) {
WebSettings settings9 = getSettings();
Intrinsics.checkExpressionValueIsNotNull(settings9, "settings");
baseInfoConfig.applyGlobalSettings(settings9, this);
}
WebKitInitParams webKitInitParams = this.initParams;
if (webKitInitParams != null && (customWebSettingsApplier = webKitInitParams.getCustomWebSettingsApplier()) != null) {
WebSettings settings10 = getSettings();
Intrinsics.checkExpressionValueIsNotNull(settings10, "settings");
customWebSettingsApplier.applyWebSettings(settings10, this);
}
WebKitInitParams webKitInitParams2 = this.initParams;
if (webKitInitParams2 != null) {
Integer ignoreCachePolicy = webKitInitParams2.getIgnoreCachePolicy();
if (ignoreCachePolicy != null && ignoreCachePolicy.intValue() == 0) {
WebSettings settings11 = getSettings();
Intrinsics.checkExpressionValueIsNotNull(settings11, "settings");
settings11.setCacheMode(-1);
} else if (ignoreCachePolicy != null && ignoreCachePolicy.intValue() == 1) {
WebSettings settings12 = getSettings();
Intrinsics.checkExpressionValueIsNotNull(settings12, "settings");
settings12.setCacheMode(2);
}
HybridSchemaParam hybridSchemaParams = webKitInitParams2.getHybridSchemaParams();
if (hybridSchemaParams != null && hybridSchemaParams.getAutoPlayBgm() == 1 && Build.VERSION.SDK_INT >= 17) {
WebSettings settings13 = getSettings();
Intrinsics.checkExpressionValueIsNotNull(settings13, "settings");
settings13.setMediaPlaybackRequiresUserGesture(false);
}
}
setFocusable(true);
setFocusableInTouchMode(true);
}
@Override
public void getCurrentData(com.bytedance.lynx.hybrid.base.d dVar) {
IKitView.DefaultImpls.getCurrentData(this, dVar);
}
public final void setBridgeService$hybrid_web_release(IKitBridgeService iKitBridgeService) {
this.bridgeService = iKitBridgeService;
}
public final void setCanTouch(boolean z) {
this.canTouch = z;
}
public final void setHybridRuntime$hybrid_web_release(HybridRuntime hybridRuntime) {
this.hybridRuntime = hybridRuntime;
}
public final void setInitParams$hybrid_web_release(WebKitInitParams webKitInitParams) {
this.initParams = webKitInitParams;
}
public final void setNavigationServiceProtocol$hybrid_web_release(com.bytedance.lynx.hybrid.protocol.b bVar) {
this.navigationServiceProtocol = bVar;
}
public final void setResource$hybrid_web_release(IService iService) {
this.resource = iService;
}
public final void setTimeInterval(long j) {
this.timeInterval = j;
}
public final void setWebKitLifeCycle$hybrid_web_release(IHybridKitLifeCycle iHybridKitLifeCycle) {
this.webKitLifeCycle = iHybridKitLifeCycle;
}
public final void setWebOverScrollByListener(a aVar) {
this.overScrollByListener = aVar;
}
public final void setWebScrollListener(b bVar) {
this.scrollListener = bVar;
}
public final void setWebUrl$hybrid_web_release(String str) {
this.webUrl = str;
}
@Override
public void setHybridContext(HybridContext hybridContext) {
Intrinsics.checkParameterIsNotNull(hybridContext, "<set-?>");
this.hybridContext = hybridContext;
}
public final void setResourceDynamic$hybrid_web_release(Function0<? extends IService> function0) {
Intrinsics.checkParameterIsNotNull(function0, "<set-?>");
this.resourceDynamic = function0;
}
public final void setWebViewEventDelegate(c delegate) {
Intrinsics.checkParameterIsNotNull(delegate, "delegate");
this.eventDelegate = delegate;
}
public interface c {
boolean a();
boolean a(int i, boolean z);
boolean a(MotionEvent motionEvent);
public static final class a {
public static boolean a(c cVar) {
throw new YieldError("An operation is not implemented");
}
public static boolean a(c cVar, MotionEvent event) {
Intrinsics.checkParameterIsNotNull(event, "event");
throw new YieldError("An operation is not implemented");
}
public static boolean a(c cVar, int i, boolean z) {
throw new YieldError("An operation is not implemented");
}
}
}
@Override
public void refreshContext(Context context) {
Intrinsics.checkParameterIsNotNull(context, "context");
IKitView.DefaultImpls.refreshContext(this, context);
IKitBridgeService iKitBridgeService = this.bridgeService;
if (iKitBridgeService != null) {
iKitBridgeService.onContextRefreshed(context);
}
}
@Override
public void resetData(Map<String, ? extends Object> map) {
Intrinsics.checkParameterIsNotNull(map, com.bytedance.accountseal.a.l.n);
IKitView.DefaultImpls.resetData(this, map);
}
@Override
public void resetDataByJson(String str) {
Intrinsics.checkParameterIsNotNull(str, com.bytedance.accountseal.a.l.n);
IKitView.DefaultImpls.resetDataByJson(this, str);
}
@Override
public void updateData(Map<String, ? extends Object> map) {
Intrinsics.checkParameterIsNotNull(map, com.bytedance.accountseal.a.l.n);
IKitView.DefaultImpls.updateData(this, map);
}
@Override
public void updateDataByJson(String str) {
Intrinsics.checkParameterIsNotNull(str, com.bytedance.accountseal.a.l.n);
IKitView.DefaultImpls.updateDataByJson(this, str);
}
private final boolean isPreCreate(WebKitView webKitView) {
Object tag = webKitView.getTag(R.id.c5v);
if (tag instanceof Boolean) {
return ((Boolean) tag).booleanValue();
}
return false;
}
@Override
public boolean canScrollVertically(int i) {
c cVar = this.eventDelegate;
if (cVar != null) {
try {
return cVar.a(i, super.canScrollVertically(i));
} catch (YieldError unused) {
}
}
return super.canScrollVertically(i);
}
@Override
public void updateGlobalPropsByIncrement(Map<String, ? extends Object> map) {
HybridGlobalPropsServiceProtocol globalPropsServiceProtocol;
Intrinsics.checkParameterIsNotNull(map, com.bytedance.accountseal.a.l.n);
IKitView.DefaultImpls.updateGlobalPropsByIncrement(this, map);
HybridRuntime hybridRuntime = this.hybridRuntime;
if (hybridRuntime != null && (globalPropsServiceProtocol = hybridRuntime.getGlobalPropsServiceProtocol()) != null) {
globalPropsServiceProtocol.updateGlobalProps(this, MapsKt.toMutableMap(map));
}
}
@Override
public void destroy(boolean z) {
ViewEventUtils.f21627a.b(getHybridContext());
new Handler().postDelayed(new d(z), 100L);
WebViewMonitorHelper.getInstance().destroy(this);
super.destroy();
}
public final void setJsBridgeOnKitViewProvided(Context context) {
IKitBridgeService iKitBridgeService;
IKitBridgeService iKitBridgeService2;
com.bytedance.lynx.hybrid.protocol.a bridgeServiceProtocol;
Intrinsics.checkParameterIsNotNull(context, "context");
if (this.bridgeService == null) {
HybridRuntime hybridRuntime = this.hybridRuntime;
if (hybridRuntime != null && (bridgeServiceProtocol = hybridRuntime.getBridgeServiceProtocol()) != null) {
iKitBridgeService2 = bridgeServiceProtocol.a(getHybridContext());
} else {
iKitBridgeService2 = null;
}
this.bridgeService = iKitBridgeService2;
}
if (!this.isBridgeServiceOnProvided && (iKitBridgeService = this.bridgeService) != null) {
this.isBridgeServiceOnProvided = true;
iKitBridgeService.onKitViewProvided(context, this, this.sessionInfo);
}
}
private final void loadInner(String str) {
UrlAndHeaders intercept;
HybridGlobalPropsServiceProtocol globalPropsServiceProtocol;
Map<String, Object> map;
this.webUrl = str;
HybridRuntime hybridRuntime = this.hybridRuntime;
if (hybridRuntime != null && (globalPropsServiceProtocol = hybridRuntime.getGlobalPropsServiceProtocol()) != null) {
WebKitView webKitView = this;
WebKitInitParams webKitInitParams = this.initParams;
if (webKitInitParams != null) {
map = webKitInitParams.getGlobalProps();
} else {
map = null;
}
globalPropsServiceProtocol.setGlobalProps(webKitView, map);
}
boolean z = true;
if (isPreCreate(this)) {
updateGlobalPropsByIncrement(MapsKt.mutableMapOf(TuplesKt.to("usePreCreate", "1")));
}
WebKitInitParams webKitInitParams2 = this.initParams;
if (webKitInitParams2 != null) {
if (webKitInitParams2.getMainUrlInterceptor() != null) {
MainUrlInterceptor mainUrlInterceptor = webKitInitParams2.getMainUrlInterceptor();
if (mainUrlInterceptor != null && (intercept = mainUrlInterceptor.intercept(new UrlAndHeaders(str, webKitInitParams2.getCommonTtnetHeaders()))) != null) {
Map<String, String> headers = intercept.getHeaders();
if (headers != null && !headers.isEmpty()) {
z = false;
}
if (z) {
loadUrl(intercept.getUrl());
return;
} else {
loadUrl(intercept.getUrl(), intercept.getHeaders(), new com.bytedance.webx.d[0]);
return;
}
}
return;
}
loadUrl(str);
}
}
@Override
public void loadUrl(String str) {
HybridGlobalPropsServiceProtocol globalPropsServiceProtocol;
Map<String, Object> map;
HybridRuntime hybridRuntime = this.hybridRuntime;
if (hybridRuntime != null && (globalPropsServiceProtocol = hybridRuntime.getGlobalPropsServiceProtocol()) != null) {
WebKitView webKitView = this;
WebKitInitParams webKitInitParams = this.initParams;
if (webKitInitParams != null) {
map = webKitInitParams.getGlobalProps();
} else {
map = null;
}
globalPropsServiceProtocol.setGlobalProps(webKitView, map);
}
WebViewMonitorHelper.getInstance().onLoadUrl(this, str);
LoadSession loadSession = this.loadSession;
if (loadSession != null && loadSession.getInit2StartRenderDuration() == null && loadSession.getContainerInitTime() != null) {
long currentTimeMillis = System.currentTimeMillis();
Long containerInitTime = loadSession.getContainerInitTime();
if (containerInitTime == null) {
Intrinsics.throwNpe();
}
loadSession.setInit2StartRenderDuration(Long.valueOf(currentTimeMillis - containerInitTime.longValue()));
}
super.loadUrl(str);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
Intrinsics.checkParameterIsNotNull(event, "event");
c cVar = this.eventDelegate;
if (cVar != null) {
try {
return cVar.a(event);
} catch (YieldError unused) {
}
}
if (!this.canTouch) {
return false;
}
int action = event.getAction();
if (action != 0) {
if (action == 1) {
long currentTimeMillis = System.currentTimeMillis() - this.startClickTime;
LogUtils.printLog$default(LogUtils.INSTANCE, "clickDuration" + currentTimeMillis, null, null, 6, null);
if (currentTimeMillis < this.MAX_CLICK_DURATION) {
this.lastCickTime = System.currentTimeMillis();
LogUtils.printLog$default(LogUtils.INSTANCE, "lastCickTime:" + this.lastCickTime + "TapTimeout():" + ViewConfiguration.getTapTimeout(), null, null, 6, null);
}
}
} else {
this.startClickTime = System.currentTimeMillis();
LogUtils.printLog$default(LogUtils.INSTANCE, "startClickTime" + this.startClickTime, null, null, 6, null);
}
try {
return super.onTouchEvent(event);
} catch (Throwable unused2) {
return false;
}
}
@Override
public void load(String originUrl) {
Boolean bool;
Uri uri;
Uri uri2;
String applyAppendCommonParamsUrl;
String applyGlobalLoadUrl;
Intrinsics.checkParameterIsNotNull(originUrl, "originUrl");
BaseInfoConfig baseInfoConfig = HybridEnvironment.Companion.getInstance().getBaseInfoConfig();
if (baseInfoConfig != null && (applyGlobalLoadUrl = baseInfoConfig.applyGlobalLoadUrl(originUrl)) != null) {
originUrl = applyGlobalLoadUrl;
}
WebKitInitParams webKitInitParams = this.initParams;
if (webKitInitParams != null) {
bool = webKitInitParams.getAppendCommonParams();
} else {
bool = null;
}
if (Intrinsics.areEqual((Object) bool, (Object) true)) {
long currentTimeMillis = System.currentTimeMillis();
BaseInfoConfig baseInfoConfig2 = HybridEnvironment.Companion.getInstance().getBaseInfoConfig();
if (baseInfoConfig2 != null && (applyAppendCommonParamsUrl = baseInfoConfig2.applyAppendCommonParamsUrl(originUrl)) != null) {
originUrl = applyAppendCommonParamsUrl;
}
LogUtils.printLog$default(LogUtils.INSTANCE, "appendCommonParamsDuration = " + (System.currentTimeMillis() - currentTimeMillis), null, null, 6, null);
}
try {
WebKitInitParams webKitInitParams2 = this.initParams;
if (webKitInitParams2 != null) {
uri = webKitInitParams2.getLoadUri();
} else {
uri = null;
}
Npth.addTag("last_web_url", String.valueOf(uri));
ArrayList arrayList = new ArrayList();
Iterator<Map.Entry<String, WeakReference<IKitView>>> it2 = KitViewManager.INSTANCE.allWeakRefWebKitView().entrySet().iterator();
while (it2.hasNext()) {
IKitView iKitView = it2.next().getValue().get();
if (iKitView != null) {
WebKitInitParams webKitInitParams3 = ((WebKitView) iKitView).initParams;
if (webKitInitParams3 != null) {
uri2 = webKitInitParams3.getLoadUri();
} else {
uri2 = null;
}
arrayList.add(String.valueOf(uri2));
} else {
throw new TypeCastException("null cannot be cast to non-null type com.bytedance.lynx.hybrid.webkit.WebKitView");
}
}
Npth.addTag("recent_web_url_list", arrayList.toString());
Npth.addTag("web_instance_num", String.valueOf(arrayList.size()));
WebSettings settings = getSettings();
Intrinsics.checkExpressionValueIsNotNull(settings, "this@WebKitView.settings");
Npth.addTag("web_ua", settings.getUserAgentString());
} catch (Throwable th) {
LogUtils.printLog$default(LogUtils.INSTANCE, String.valueOf(th.getMessage()), LogLevel.E, null, 4, null);
}
IHybridKitLifeCycle iHybridKitLifeCycle = this.webKitLifeCycle;
if (iHybridKitLifeCycle != null) {
iHybridKitLifeCycle.onLoadStart(this, originUrl);
}
loadInner(originUrl);
}
@Override
public void resetDataWithExtra(String str, Map<String, ? extends Object> extra) {
Intrinsics.checkParameterIsNotNull(str, com.bytedance.accountseal.a.l.n);
Intrinsics.checkParameterIsNotNull(extra, "extra");
IKitView.DefaultImpls.resetDataWithExtra(this, str, extra);
}
@Override
public void sendEventByJSON(String eventName, JSONObject jSONObject) {
Intrinsics.checkParameterIsNotNull(eventName, "eventName");
IKitView.DefaultImpls.sendEventByJSON(this, eventName, jSONObject);
IKitBridgeService iKitBridgeService = this.bridgeService;
if (iKitBridgeService != null) {
iKitBridgeService.sendEvent(eventName, jSONObject);
}
}
@Override
public void sendEventByMap(String eventName, Map<String, ? extends Object> map) {
Intrinsics.checkParameterIsNotNull(eventName, "eventName");
IKitView.DefaultImpls.sendEventByMap(this, eventName, map);
IKitBridgeService iKitBridgeService = this.bridgeService;
if (iKitBridgeService != null) {
iKitBridgeService.sendEvent(eventName, map);
}
}
@Override
public void sendEventForAir(String eventName, List<? extends Object> list) {
Intrinsics.checkParameterIsNotNull(eventName, "eventName");
IKitView.DefaultImpls.sendEventForAir(this, eventName, list);
}
public final void setJsBridge(Context context, HybridContext hybridContext) {
Intrinsics.checkParameterIsNotNull(context, "context");
Intrinsics.checkParameterIsNotNull(hybridContext, "hybridContext");
setJsBridgeOnKitViewCreated(context, hybridContext);
}
@Override
public void updateDataWithExtra(String str, Map<String, ? extends Object> extra) {
Intrinsics.checkParameterIsNotNull(str, com.bytedance.accountseal.a.l.n);
Intrinsics.checkParameterIsNotNull(extra, "extra");
IKitView.DefaultImpls.updateDataWithExtra(this, str, extra);
}
@Override
public void resetDataWithExtra(List<String> dataList, Map<String, ? extends Object> map) {
Intrinsics.checkParameterIsNotNull(dataList, "dataList");
IKitView.DefaultImpls.resetDataWithExtra(this, dataList, map);
}
@Override
public void sendEvent(String eventName, List<? extends Object> list) {
Object firstOrNull;
Intrinsics.checkParameterIsNotNull(eventName, "eventName");
IKitView.DefaultImpls.sendEvent(this, eventName, list);
JSONObject jSONObject = null;
if (list != null && (firstOrNull = CollectionsKt.firstOrNull(list)) != 0) {
if (firstOrNull instanceof JSONObject) {
jSONObject = firstOrNull;
}
jSONObject = jSONObject;
}
sendEventByJSON(eventName, jSONObject);
}
@Override
public void updateDataWithExtra(List<String> dataList, Map<String, ? extends Object> map) {
Intrinsics.checkParameterIsNotNull(dataList, "dataList");
IKitView.DefaultImpls.updateDataWithExtra(this, dataList, map);
}
public WebKitView(Context context, HybridContext hybridContext) {
super(context);
Intrinsics.checkParameterIsNotNull(context, "context");
Intrinsics.checkParameterIsNotNull(hybridContext, "hybridContext");
this.hybridContext = hybridContext;
this.resourceDynamic = new Function0() {
@Override
public final Void invoke() {
return null;
}
};
this.MAX_CLICK_DURATION = 100;
this.TIME_INTERVAL = 500L;
this.canTouch = true;
this.timeInterval = 500L;
}
public final void setJsBridgeOnKitViewCreated(Context context, HybridContext hybridContext) {
IKitBridgeService iKitBridgeService;
IKitBridgeService iKitBridgeService2;
com.bytedance.lynx.hybrid.protocol.a bridgeServiceProtocol;
Intrinsics.checkParameterIsNotNull(context, "context");
Intrinsics.checkParameterIsNotNull(hybridContext, "hybridContext");
if (this.bridgeService == null) {
HybridRuntime hybridRuntime = this.hybridRuntime;
if (hybridRuntime != null && (bridgeServiceProtocol = hybridRuntime.getBridgeServiceProtocol()) != null) {
iKitBridgeService2 = bridgeServiceProtocol.a(hybridContext);
} else {
iKitBridgeService2 = null;
}
this.bridgeService = iKitBridgeService2;
}
if (!this.isBridgeServiceOnCreated && (iKitBridgeService = this.bridgeService) != null) {
this.isBridgeServiceOnCreated = true;
iKitBridgeService.onKitViewCreated(context, this, this.sessionInfo);
}
}
@Override
public void loadUrl(String str, Map<String, String> map) {
HybridGlobalPropsServiceProtocol globalPropsServiceProtocol;
Map<String, Object> map2;
HybridRuntime hybridRuntime = this.hybridRuntime;
if (hybridRuntime != null && (globalPropsServiceProtocol = hybridRuntime.getGlobalPropsServiceProtocol()) != null) {
WebKitView webKitView = this;
WebKitInitParams webKitInitParams = this.initParams;
if (webKitInitParams != null) {
map2 = webKitInitParams.getGlobalProps();
} else {
map2 = null;
}
globalPropsServiceProtocol.setGlobalProps(webKitView, map2);
}
WebViewMonitorHelper.getInstance().onLoadUrl(this, str);
LoadSession loadSession = this.loadSession;
if (loadSession != null && loadSession.getInit2StartRenderDuration() == null && loadSession.getContainerInitTime() != null) {
long currentTimeMillis = System.currentTimeMillis();
Long containerInitTime = loadSession.getContainerInitTime();
if (containerInitTime == null) {
Intrinsics.throwNpe();
}
loadSession.setInit2StartRenderDuration(Long.valueOf(currentTimeMillis - containerInitTime.longValue()));
}
super.loadUrl(str, map);
}
public final void initContext(final HybridContext hybridContext, WebKitInitParams webKitInitParams, IHybridKitLifeCycle iHybridKitLifeCycle) {
IService iService;
Uri loadUri;
com.bytedance.lynx.hybrid.protocol.c resourceServiceProtocol;
Intrinsics.checkParameterIsNotNull(hybridContext, "hybridContext");
setHybridContext(hybridContext);
this.initParams = webKitInitParams;
this.webKitLifeCycle = iHybridKitLifeCycle;
HybridDefaultWebViewRuntime hybridDefaultWebViewRuntime = (HybridRuntime) hybridContext.getDependency(HybridRuntime.class);
if (hybridDefaultWebViewRuntime == null) {
hybridDefaultWebViewRuntime = new HybridDefaultWebViewRuntime();
}
this.hybridRuntime = hybridDefaultWebViewRuntime;
com.bytedance.lynx.hybrid.protocol.b bVar = null;
if (hybridDefaultWebViewRuntime != null && (resourceServiceProtocol = hybridDefaultWebViewRuntime.getResourceServiceProtocol()) != null) {
iService = resourceServiceProtocol.getResources(hybridContext);
} else {
iService = null;
}
this.resource = iService;
this.resourceDynamic = new Function0<IService>() {
{
super(0);
}
@Override
public final IService invoke() {
com.bytedance.lynx.hybrid.protocol.c resourceServiceProtocol2;
HybridRuntime hybridRuntime$hybrid_web_release = WebKitView.this.getHybridRuntime$hybrid_web_release();
if (hybridRuntime$hybrid_web_release != null && (resourceServiceProtocol2 = hybridRuntime$hybrid_web_release.getResourceServiceProtocol()) != null) {
return resourceServiceProtocol2.getResources(hybridContext);
}
return null;
}
};
BaseInfoConfig baseInfoConfig = HybridEnvironment.Companion.getInstance().getBaseInfoConfig();
if (baseInfoConfig != null) {
bVar = baseInfoConfig.getWebViewNavigationServiceProtocol();
}
this.navigationServiceProtocol = bVar;
if (webKitInitParams != null && (loadUri = webKitInitParams.getLoadUri()) != null) {
this.loadUri = loadUri;
if (loadUri != null) {
this.webUrl = loadUri.getQueryParameter("url");
}
}
SessionInfo sessionInfo = (SessionInfo) hybridContext.getDependency(SessionInfo.class);
if (sessionInfo != null) {
this.sessionInfo = sessionInfo;
}
this.loadSession = (LoadSession) hybridContext.getDependency(LoadSession.class);
KitViewManager.INSTANCE.addKitView(this);
}
public WebKitView(Context context, HybridContext hybridContext, int i, DefaultConstructorMarker defaultConstructorMarker) {
this(context, (i & 2) != 0 ? com.bytedance.lynx.hybrid.param.b.a() : hybridContext);
}
@Override
protected void onScrollChanged(int i, int i2, int i3, int i4) {
super.onScrollChanged(i, i2, i3, i4);
b bVar = this.scrollListener;
if (bVar != null) {
bVar.a(i, i2, i3, i4);
}
}
@Override
protected boolean overScrollBy(int i, int i2, int i3, int i4, int i5, int i6, int i7, int i8, boolean z) {
a aVar = this.overScrollByListener;
if (aVar != null) {
aVar.a(i, i2, i3, i4, i5, i6, i7, i8, z);
}
return super.overScrollBy(i, i2, i3, i4, i5, i6, i7, i8, z);
}
}