流利说-英语 v8.47.26版本的 MD5 值为:0079dce5ff96e6cdbc95c261b3f51387
以下内容为反编译后的 r.java 源代码,内容仅作参考
package im.zego.zegodocs.layout;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.net.http.SslError;
import android.os.Build;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.MotionEvent;
import android.webkit.ConsoleMessage;
import android.webkit.JavascriptInterface;
import android.webkit.JsResult;
import android.webkit.SslErrorHandler;
import android.webkit.ValueCallback;
import android.webkit.WebChromeClient;
import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
import android.webkit.WebResourceResponse;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.FrameLayout;
import androidx.annotation.Nullable;
import com.alibaba.fastjson.asm.Opcodes;
import com.sensorsdata.analytics.android.sdk.jsbridge.JSHookAop;
import com.tencent.bugly.beta.tinker.TinkerReport;
import com.tencent.smtt.sdk.TbsListener;
import com.tencent.smtt.utils.TbsLog;
import im.zego.zegodocs.IZegoDocsViewAnimationListener;
import im.zego.zegodocs.IZegoDocsViewCurrentStepChangeListener;
import im.zego.zegodocs.IZegoDocsViewLoadListener;
import im.zego.zegodocs.IZegoDocsViewScrollCompleteListener;
import im.zego.zegodocs.ZegoDocsViewConstants;
import im.zego.zegodocs.ZegoDocsViewManager;
import im.zego.zegodocs.sdk.ZegoSize;
import im.zego.zegodocs.sdk.d.b;
import im.zego.zegodocs.sdk.model.ZegoDocsPageInfo;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import kotlin.Pair;
import kotlin.jvm.internal.Lambda;
import kotlin.jvm.internal.t;
import kotlin.u;
import org.apache.commons.compress.archivers.tar.TarConstants;
import org.json.JSONException;
import org.json.JSONObject;
@kotlin.i
public final class r extends WebView {
private final String A;
private final String B;
private String C;
private final int D;
private int E;
private im.zego.zegodocs.layout.c F;
private float G;
private boolean H;
private final Runnable I;
private final boolean J;
private final String f3903a;
private String f3904b;
private int c;
private volatile int d;
private volatile int e;
private final int f;
private final int g;
private boolean h;
private boolean i;
private int j;
private final c<Integer> k;
private final h l;
private IZegoDocsViewLoadListener m;
private IZegoDocsViewCurrentStepChangeListener n;
private IZegoDocsViewScrollCompleteListener o;
private IZegoDocsViewAnimationListener p;
private final c<b> q;
private boolean r;
private final long s;
private final long t;
private final Map<Integer, Integer> u;
private ZegoSize v;
private int w;
private String[] x;
private String y;
private boolean z;
@kotlin.i
public final class a {
@kotlin.i
public static final class RunnableC1264a implements Runnable {
@kotlin.i
static final class C1265a extends Lambda implements kotlin.jvm.a.a<u> {
@kotlin.i
public static final class RunnableC1266a implements Runnable {
RunnableC1266a() {
}
@Override
public final void run() {
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "", 981, r.this.f3904b, "ZegoDocsViewSuccess");
r.this.b(0);
}
}
C1265a() {
super(0);
}
public final void a() {
if (r.this.m != null) {
r.this.l.post(new RunnableC1266a());
}
}
@Override
public u invoke() {
a();
return u.jXu;
}
}
RunnableC1264a() {
}
@Override
public final void run() {
r.this.a(new C1265a());
}
}
@kotlin.i
public static final class b implements Runnable {
final b f3909a;
final a f3910b;
b(b bVar, a aVar) {
this.f3909a = bVar;
this.f3910b = aVar;
}
@Override
public final void run() {
if (this.f3909a.b() || this.f3909a.e() || this.f3909a.c() || this.f3909a.f()) {
r.this.c(this.f3909a);
} else {
r.this.k.a(Integer.valueOf(r.this.g));
r.this.l.sendEmptyMessage(r.this.g);
}
}
}
@kotlin.i
public static final class c implements Runnable {
c() {
}
@Override
public final void run() {
IZegoDocsViewCurrentStepChangeListener iZegoDocsViewCurrentStepChangeListener = r.this.n;
if (iZegoDocsViewCurrentStepChangeListener != null) {
iZegoDocsViewCurrentStepChangeListener.onStepChangeForClick();
}
r.this.a();
}
}
@kotlin.i
public static final class d implements Runnable {
d() {
}
@Override
public final void run() {
IZegoDocsViewCurrentStepChangeListener iZegoDocsViewCurrentStepChangeListener = r.this.n;
if (iZegoDocsViewCurrentStepChangeListener != null) {
iZegoDocsViewCurrentStepChangeListener.onChanged();
}
}
}
public a() {
}
private final void a(int i) {
try {
r.this.d = i;
r.this.e = 0;
} catch (Exception unused) {
}
if (r.this.u.isEmpty()) {
r.this.l.post(new RunnableC1264a());
}
}
private final void a(int i, boolean z) {
if (i >= 0) {
r.this.e = i;
r.this.r = false;
if (z) {
r.this.l.post(new c());
} else {
b bVar = (b) r.this.q.e();
if (bVar != null) {
r.this.l.post(new b(bVar, this));
}
}
r.this.l.post(new d());
}
}
@JavascriptInterface
public final void log(String content) {
t.g(content, "content");
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "log()", 433, r.this.f3904b, "jsLog -> " + content);
}
@JavascriptInterface
public final void syncCurrentElement(String targetInfo) {
t.g(targetInfo, "targetInfo");
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "syncCurrentElement()", 497, "", "targetInfo = " + targetInfo);
IZegoDocsViewAnimationListener iZegoDocsViewAnimationListener = r.this.p;
if (iZegoDocsViewAnimationListener != null) {
iZegoDocsViewAnimationListener.onPlayAnimation(targetInfo);
}
}
@JavascriptInterface
public final void syncCurrentError(String errorCode) {
t.g(errorCode, "errorCode");
b.a aVar = im.zego.zegodocs.sdk.d.b.g;
aVar.c(im.zego.zegodocs.sdk.d.b.c, "syncCurrentError()", 984, r.this.f3904b, "errorCode = " + errorCode);
if (errorCode.hashCode() == -1449450315 && errorCode.equals("2000003")) {
aVar.c(im.zego.zegodocs.sdk.d.b.c, "syncCurrentError()", TbsLog.TBSLOG_CODE_SDK_INVOKE_ERROR, "", "mCurrentUrlIndex = " + r.this.w + ", mUrls=" + kotlin.collections.k.a(r.this.x, (CharSequence) null, (CharSequence) null, (CharSequence) null, 0, (CharSequence) null, (kotlin.jvm.a.b) null, 63, (Object) null));
r.this.d("syncCurrentError()");
}
}
@JavascriptInterface
public final void syncCurrentPage(String pageIndex) {
t.g(pageIndex, "pageIndex");
}
@JavascriptInterface
public final void syncCurrentPage(String pageIndex, boolean z) {
t.g(pageIndex, "pageIndex");
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "syncCurrentPage()", 960, r.this.f3904b, "isDynamicPPT:" + r.this.H + ",pageIndex = " + pageIndex + ", local = " + z + ",stepCountMap.isEmpty():" + r.this.u.isEmpty() + ' ');
if (r.this.H) {
if (r.this.i && t.h(String.valueOf(r.this.j), pageIndex)) {
r.this.i = false;
}
try {
a(Integer.parseInt(pageIndex));
} catch (Exception unused) {
}
}
}
@JavascriptInterface
public final void syncCurrentPageStep(String pageIndex, String stepIndex, boolean z) {
t.g(pageIndex, "pageIndex");
t.g(stepIndex, "stepIndex");
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "syncCurrentPageStep()", 930, r.this.f3904b, "isDynamicPPT:" + r.this.H + ",pageIndex = " + pageIndex + ",stepIndex = " + stepIndex + ", local = " + z + ",stepCountMap.isEmpty():" + r.this.u.isEmpty() + ' ');
if (r.this.H) {
return;
}
try {
a(Integer.parseInt(pageIndex) - 1);
a(Integer.parseInt(stepIndex) - 1, z);
} catch (Exception unused) {
}
}
@JavascriptInterface
public final void syncCurrentStep(String stepIndex) {
t.g(stepIndex, "stepIndex");
}
@JavascriptInterface
public final void syncCurrentStep(String stepIndex, boolean z) {
t.g(stepIndex, "stepIndex");
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "syncCurrentStep()", 1036, r.this.f3904b, "isDynamicPPT:" + r.this.H + ",stepIndex = " + stepIndex + ", local = " + z);
if (r.this.H) {
try {
a(Integer.parseInt(stepIndex), z);
} catch (Exception unused) {
}
}
}
}
@kotlin.i
public static final class b {
private int f3913a;
private int f3914b;
private long c;
private boolean d;
private boolean e;
private boolean f;
private boolean g;
private IZegoDocsViewScrollCompleteListener h;
public final IZegoDocsViewScrollCompleteListener a() {
return this.h;
}
public final void a(int i) {
this.f3913a = i;
}
public final void a(long j) {
this.c = j;
}
public final void a(IZegoDocsViewScrollCompleteListener iZegoDocsViewScrollCompleteListener) {
this.h = iZegoDocsViewScrollCompleteListener;
}
public final void a(boolean z) {
this.f = z;
}
public final void b(int i) {
this.f3914b = i;
}
public final void b(boolean z) {
this.d = z;
}
public final boolean b() {
return this.f;
}
public final void c(boolean z) {
this.g = z;
}
public final boolean c() {
return this.d;
}
public final int d() {
return this.f3913a;
}
public final void d(boolean z) {
this.e = z;
}
public final boolean e() {
return this.g;
}
public final boolean f() {
return this.e;
}
public final int g() {
return this.f3914b;
}
public final long h() {
return this.c;
}
public String toString() {
return "PageStepAction(pageIndex=" + this.f3913a + ", stepIndex=" + this.f3914b + ", timestamp=" + this.c + ", nextStep=" + this.d + ", prevStep=" + this.e + ", nextPage=" + this.f + ", prevPage=" + this.g + ", listener=" + this.h + ')';
}
}
@kotlin.i
public static final class c<T> {
private final List<T> f3915a = new ArrayList();
public final int a() {
return this.f3915a.size();
}
public final boolean a(T t) {
return this.f3915a.add(t);
}
public final T b() {
if (c()) {
return null;
}
return this.f3915a.remove(0);
}
public final boolean c() {
return this.f3915a.isEmpty();
}
public final boolean d() {
return !this.f3915a.isEmpty();
}
public final T e() {
if (c()) {
return null;
}
return this.f3915a.get(0);
}
public String toString() {
return this.f3915a.toString();
}
}
@kotlin.i
public final class d extends WebChromeClient {
public d() {
}
@Override
public boolean onConsoleMessage(ConsoleMessage consoleMessage) {
if (consoleMessage == null) {
return true;
}
String message = consoleMessage.message();
t.e(message, "cm.message()");
if (kotlin.text.m.c((CharSequence) message, (CharSequence) "can only be initiated by a user gesture", false, 2, (Object) null)) {
return true;
}
String message2 = consoleMessage.message();
t.e(message2, "cm.message()");
if (kotlin.text.m.c((CharSequence) message2, (CharSequence) "interrupted by a call to pause()", false, 2, (Object) null)) {
return true;
}
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "onConsoleMessage()", 119, r.this.f3904b, consoleMessage.message() + " -- From line " + consoleMessage.lineNumber() + " of " + consoleMessage.sourceId());
return true;
}
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
t.g(view, "view");
t.g(url, "url");
t.g(message, "message");
t.g(result, "result");
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "onJsAlert()", 113, r.this.f3904b, "view = " + view + ", url = " + url + ", message = " + message + ", result = " + result);
return true;
}
}
@kotlin.i
public static final class f<T> implements ValueCallback<String> {
final kotlin.jvm.a.a f3921b;
@kotlin.i
public static final class a<T> implements ValueCallback<String> {
a() {
}
@Override
public final void onReceiveValue(String stepStrings) {
try {
t.e(stepStrings, "stepStrings");
int i = 1;
String substring = stepStrings.substring(kotlin.text.m.a((CharSequence) stepStrings, "{", 0, false, 6, (Object) null), kotlin.text.m.a((CharSequence) stepStrings, "}", 0, false, 6, (Object) null) + 1);
t.e(substring, "(this as java.lang.Strin…ing(startIndex, endIndex)");
JSONObject jSONObject = new JSONObject(kotlin.text.m.a(substring, "\\", "", false, 4, (Object) null));
if (r.this.H) {
int i2 = r.this.c;
for (int i3 = 0; i3 < i2; i3++) {
r.this.u.put(Integer.valueOf(i3), Integer.valueOf(jSONObject.getInt(String.valueOf(i3))));
}
} else {
int i4 = r.this.c;
if (1 <= i4) {
while (true) {
r.this.u.put(Integer.valueOf(i - 1), Integer.valueOf(jSONObject.getInt(String.valueOf(i))));
if (i == i4) {
break;
} else {
i++;
}
}
}
}
b.a aVar = im.zego.zegodocs.sdk.d.b.g;
aVar.c(im.zego.zegodocs.sdk.d.b.c, "calculateStepCountInPage()", 847, r.this.f3904b, "stepCountMap:" + r.this.u);
} catch (JSONException e) {
e.printStackTrace();
b.a aVar2 = im.zego.zegodocs.sdk.d.b.g;
String str = r.this.f3904b;
e.printStackTrace();
aVar2.b(im.zego.zegodocs.sdk.d.b.c, "calculateStepCountInPage()", 850, str, String.valueOf(u.jXu));
}
f.this.f3921b.invoke();
}
}
f(kotlin.jvm.a.a aVar) {
this.f3921b = aVar;
}
@Override
public final void onReceiveValue(String str) {
Integer wB;
if (str == null || (wB = kotlin.text.m.wB(str)) == null) {
return;
}
r.this.c = wB.intValue();
r.this.c(new a());
}
}
@kotlin.i
public static final class g<T> implements ValueCallback<String> {
final String f3924b;
final ValueCallback c;
g(String str, ValueCallback valueCallback) {
this.f3924b = str;
this.c = valueCallback;
}
@Override
public final void onReceiveValue(String str) {
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "evaluateJavascript()", 1167, r.this.f3904b, "evaluateJavascript " + this.f3924b + ", result: " + str);
ValueCallback valueCallback = this.c;
if (valueCallback != null) {
valueCallback.onReceiveValue(str);
}
}
}
@kotlin.i
public static final class h extends Handler {
@kotlin.i
static final class a<T> implements ValueCallback<String> {
a() {
}
@Override
public final void onReceiveValue(String str) {
r.this.h = false;
}
}
h(Looper looper) {
super(looper);
}
@Override
public void handleMessage(Message msg) {
Integer num;
t.g(msg, "msg");
if (r.this.z && (num = (Integer) r.this.k.e()) != null) {
int intValue = num.intValue();
if (!r.this.h) {
b bVar = (b) r.this.q.e();
if (bVar != null) {
r.this.h = true;
r.this.a(bVar, new a());
}
r.this.k.b();
return;
}
if (r.this.f == intValue) {
r.this.k.b();
if (!r.this.q.d()) {
return;
}
} else if (!r.this.q.d()) {
return;
}
sendEmptyMessageDelayed(r.this.f, 100L);
}
}
}
@kotlin.i
public static final class i<T> implements ValueCallback<String> {
final IZegoDocsViewScrollCompleteListener f3928b;
i(IZegoDocsViewScrollCompleteListener iZegoDocsViewScrollCompleteListener) {
this.f3928b = iZegoDocsViewScrollCompleteListener;
}
@Override
public final void onReceiveValue(String value) {
t.e(value, "value");
if (!t.h("idle", kotlin.text.m.a(value, "\"", "", false, 4, (Object) null))) {
IZegoDocsViewScrollCompleteListener iZegoDocsViewScrollCompleteListener = this.f3928b;
if (iZegoDocsViewScrollCompleteListener != null) {
iZegoDocsViewScrollCompleteListener.onScrollComplete(false);
return;
}
return;
}
b bVar = new b();
bVar.b(true);
bVar.a(this.f3928b);
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "nextStep()", 376, r.this.f3904b, "actionQueue.peek():" + ((b) r.this.q.e()));
r.this.q.a(bVar);
r.this.a();
}
}
@kotlin.i
public static final class j<T> implements ValueCallback<String> {
final IZegoDocsViewScrollCompleteListener f3930b;
j(IZegoDocsViewScrollCompleteListener iZegoDocsViewScrollCompleteListener) {
this.f3930b = iZegoDocsViewScrollCompleteListener;
}
@Override
public final void onReceiveValue(String value) {
t.e(value, "value");
if (!t.h("idle", kotlin.text.m.a(value, "\"", "", false, 4, (Object) null))) {
IZegoDocsViewScrollCompleteListener iZegoDocsViewScrollCompleteListener = this.f3930b;
if (iZegoDocsViewScrollCompleteListener != null) {
iZegoDocsViewScrollCompleteListener.onScrollComplete(false);
return;
}
return;
}
b bVar = new b();
bVar.d(true);
bVar.a(this.f3930b);
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "previousStep()", 403, r.this.f3904b, "actionQueue.peek():" + ((b) r.this.q.e()));
r.this.q.a(bVar);
r.this.a();
}
}
@kotlin.i
public static final class k<T> implements ValueCallback<String> {
k() {
}
@Override
public final void onReceiveValue(String str) {
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "resizeByJS()", 789, r.this.f3904b, "jsChangeSize call back: " + str);
}
}
@kotlin.i
static final class l implements Runnable {
l() {
}
@Override
public final void run() {
if (r.this.r) {
b bVar = (b) r.this.q.b();
if (bVar != null) {
im.zego.zegodocs.sdk.d.b.g.b(im.zego.zegodocs.sdk.d.b.e, "timeoutRunnable()", 310, r.this.f3904b, "-------timeout------- : " + bVar);
IZegoDocsViewScrollCompleteListener a2 = bVar.a();
if (a2 != null) {
a2.onScrollComplete(false);
}
}
r.this.r = false;
r.this.h = false;
r.this.a();
}
}
}
public r(Context context) {
super(context);
String userAgentString;
t.g(context, "context");
this.f3903a = "ZegoWebView";
this.f = 1;
this.g = 2;
this.j = -1;
this.k = new c<>();
this.l = new h(Looper.getMainLooper());
this.q = new c<>();
this.s = 15000L;
this.t = 1000L;
this.u = new LinkedHashMap();
this.x = new String[0];
this.A = "1";
this.B = "2";
this.C = "1";
this.D = 3;
this.G = 1.0f;
this.H = true;
setWebViewClient(new e());
setWebChromeClient(new d());
WebSettings settings = getSettings();
t.e(settings, "settings");
settings.setDomStorageEnabled(true);
WebSettings settings2 = getSettings();
t.e(settings2, "settings");
settings2.setUseWideViewPort(false);
WebSettings settings3 = getSettings();
t.e(settings3, "settings");
settings3.setLoadWithOverviewMode(false);
WebSettings settings4 = getSettings();
t.e(settings4, "settings");
settings4.setTextZoom(100);
WebSettings settings5 = getSettings();
t.e(settings5, "settings");
settings5.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
WebSettings settings6 = getSettings();
t.e(settings6, "settings");
settings6.setCacheMode(-1);
WebSettings settings7 = getSettings();
t.e(settings7, "settings");
settings7.setJavaScriptEnabled(true);
WebSettings settings8 = getSettings();
t.e(settings8, "settings");
settings8.setMediaPlaybackRequiresUserGesture(false);
PackageInfo a2 = n.f3890a.a(context);
if (a2 != null) {
userAgentString = a2.versionName;
} else {
WebSettings settings9 = getSettings();
t.e(settings9, "settings");
userAgentString = settings9.getUserAgentString();
}
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "webview constructor", 149, this.f3904b, "webviewVersion:" + userAgentString + ",isFinalReleaseVersion:true,this:" + toString());
addJavascriptInterface(new a(), "android");
String customizedConfig = ZegoDocsViewManager.getInstance().getCustomizedConfig("pptStepMode");
if (customizedConfig != null) {
if (customizedConfig.length() > 0) {
this.C = customizedConfig;
}
}
this.I = new l();
}
private final int a(float f2) {
Resources system = Resources.getSystem();
t.e(system, "Resources.getSystem()");
float f3 = system.getDisplayMetrics().density;
if (Build.VERSION.SDK_INT >= 24) {
b.a aVar = im.zego.zegodocs.sdk.d.b.g;
String str = this.f3904b;
aVar.c(im.zego.zegodocs.sdk.d.b.c, "px2dp()", 670, str, "system density:" + f3 + ", app density:" + (DisplayMetrics.DENSITY_DEVICE_STABLE / 160));
}
return (int) ((f2 / f3) + 0.5f);
}
public final void a() {
this.k.a(Integer.valueOf(this.f));
this.l.sendEmptyMessage(this.f);
}
private final void a(int i2, ValueCallback<String> valueCallback) {
if (!this.H) {
i2++;
}
a("javascript:getPageStepCount(" + i2 + ')', valueCallback);
}
private final void a(ValueCallback<String> valueCallback) {
a("javascript:currentPage()", valueCallback);
}
public final void a(b bVar, ValueCallback<String> valueCallback) {
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "processActionQueue()", 189, this.f3904b, "actionQueue.size=" + this.q.a() + ",currentPageIdx =" + this.d + ",currentStepIdx:" + this.e + ",pageStepAction=" + bVar);
if (bVar.b()) {
d(valueCallback);
} else {
if (!bVar.e()) {
if (!bVar.c()) {
if (!bVar.f()) {
if (this.d != bVar.d()) {
b(bVar.d(), valueCallback);
} else if (this.e >= bVar.g()) {
if (this.e <= bVar.g()) {
c(bVar);
if (valueCallback != null) {
valueCallback.onReceiveValue("");
return;
}
return;
}
}
}
c(bVar, valueCallback);
return;
}
b(bVar, valueCallback);
return;
}
h(valueCallback);
}
this.r = true;
this.l.removeCallbacks(this.I);
this.l.postDelayed(this.I, this.s);
}
private final void a(String str) {
JSHookAop.loadUrl(this, str);
super.loadUrl(str);
b.a aVar = im.zego.zegodocs.sdk.d.b.g;
String str2 = this.f3904b;
StringBuilder sb = new StringBuilder();
sb.append("visible = ");
sb.append(getVisibility() == 0);
sb.append(',');
sb.append("url != loadUrl:");
sb.append(!t.h(str, this.y));
sb.append(",isAttached:");
sb.append(isAttachedToWindow());
sb.append(",url:");
sb.append(str);
aVar.c(im.zego.zegodocs.sdk.d.b.c, "innerLoadUrl()", 398, str2, sb.toString());
if (!t.h(str, this.y)) {
this.u.clear();
}
this.y = str;
}
public final void a(String str, ValueCallback<String> valueCallback) {
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "executeJS()", 1158, this.f3904b, "jsFunction = " + str);
evaluateJavascript(str, new g(str, valueCallback));
}
private final void a(String str, String str2, ValueCallback<String> valueCallback) {
a("javascript:setCustomizedConfig(\"" + str + "\",\"" + str2 + "\")", valueCallback);
}
private final boolean a(int i2) {
return 1 <= i2 && this.c >= i2;
}
private final boolean a(b bVar) {
int d2 = bVar.d();
int g2 = bVar.g();
Integer num = this.u.get(Integer.valueOf(d2));
if (num != null) {
num.intValue();
if (g2 > num.intValue() - 1) {
return false;
}
}
return true;
}
public final void b(int i2) {
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "notifyLoadResult()", 243, this.f3904b, "errorCode:" + i2 + ",docLoadListener is :" + this.m);
if (this.m != null) {
this.z = true;
a();
IZegoDocsViewLoadListener iZegoDocsViewLoadListener = this.m;
if (iZegoDocsViewLoadListener != null) {
iZegoDocsViewLoadListener.onLoadFile(i2);
}
this.m = null;
}
a("pptStepMode", this.C, (ValueCallback<String>) null);
}
private final void b(int i2, ValueCallback<String> valueCallback) {
if (this.d == i2) {
if (valueCallback != null) {
valueCallback.onReceiveValue("");
}
this.l.sendEmptyMessage(this.f);
return;
}
this.i = true;
if (!this.H) {
i2++;
}
this.j = i2;
a("javascript:gotoPage(" + i2 + ',' + this.J + ')', valueCallback);
}
private final void b(ValueCallback<String> valueCallback) {
a("javascript:currentStep()", valueCallback);
}
private final void b(b bVar) {
im.zego.zegodocs.sdk.d.b.g.b(im.zego.zegodocs.sdk.d.b.c, "flipFail()", 296, this.f3904b, "action = " + bVar);
this.q.b();
this.r = false;
this.l.removeCallbacks(this.I);
IZegoDocsViewScrollCompleteListener a2 = bVar.a();
if (a2 != null) {
a2.onScrollComplete(false);
}
a();
}
private final void b(b bVar, ValueCallback<String> valueCallback) {
h hVar;
Runnable runnable;
long j2;
Integer num = this.u.get(Integer.valueOf(this.d));
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "processNextStep()", 292, this.f3904b, "stepCount = " + num + ",it = " + bVar);
if (num != null) {
if (this.e < num.intValue() - 1) {
e(valueCallback);
this.r = true;
this.l.removeCallbacks(this.I);
hVar = this.l;
runnable = this.I;
j2 = this.t;
hVar.postDelayed(runnable, j2);
}
if (this.d == this.c - 1) {
b(bVar);
if (valueCallback == null) {
return;
}
} else if (this.H && t.h(this.C, this.B)) {
c(bVar);
if (valueCallback == null) {
return;
}
} else {
b(this.d + 1, valueCallback);
}
valueCallback.onReceiveValue("");
return;
}
e(valueCallback);
this.r = true;
this.l.removeCallbacks(this.I);
hVar = this.l;
runnable = this.I;
j2 = this.s;
hVar.postDelayed(runnable, j2);
}
private final void b(String str) {
a("javascript:triggerElementsClick(" + str + ')', (ValueCallback<String>) null);
}
public final Pair<Integer, Float> c(int i2) {
int width;
ZegoSize zegoSize = this.v;
if (zegoSize != null) {
t.cy(zegoSize);
width = zegoSize.getWidth();
} else {
width = getWidth();
}
int a2 = this.H ? a(i2) : width;
float f2 = a2 / width;
Log.d(this.f3903a, "resizeByJS() called with: mOrgPPTSize = " + this.v + ",webview size:" + getWidth() + ",w:" + i2);
a("scale", String.valueOf(f2), new k());
return new Pair<>(Integer.valueOf(a2), Float.valueOf(f2));
}
private final void c(int i2, ValueCallback<String> valueCallback) {
if (!this.H) {
i2++;
}
a("javascript:stopPlay(" + i2 + ')', valueCallback);
}
public final void c(ValueCallback<String> valueCallback) {
a("javascript:getAllPageStepCount()", valueCallback);
}
public final void c(b bVar) {
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "flipSuccess()", 286, this.f3904b, "action = " + bVar);
this.q.b();
this.r = false;
this.l.removeCallbacks(this.I);
IZegoDocsViewScrollCompleteListener a2 = bVar.a();
if (a2 != null) {
a2.onScrollComplete(true);
}
a();
}
private final void c(b bVar, ValueCallback<String> valueCallback) {
h hVar;
Runnable runnable;
long j2;
if (this.e <= 0) {
if (this.d == 0) {
b(bVar);
if (valueCallback == null) {
return;
}
} else if (this.H && t.h(this.C, this.B)) {
c(bVar);
if (valueCallback == null) {
return;
}
} else {
b(this.d - 1, valueCallback);
this.r = true;
this.l.removeCallbacks(this.I);
hVar = this.l;
runnable = this.I;
j2 = this.s;
}
valueCallback.onReceiveValue("");
return;
}
g(valueCallback);
this.r = true;
this.l.removeCallbacks(this.I);
hVar = this.l;
runnable = this.I;
j2 = this.t;
hVar.postDelayed(runnable, j2);
}
private final void d(ValueCallback<String> valueCallback) {
a("javascript:nextPage(" + this.J + ')', valueCallback);
}
public final boolean d(String str) {
int i2 = this.w;
String[] strArr = this.x;
boolean z = true;
if (i2 < strArr.length - 1) {
int i3 = i2 + 1;
this.w = i3;
a(strArr[i3]);
} else {
b(ZegoDocsViewConstants.ZegoDocsViewErrorNetworkTimeout);
z = false;
}
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "retryNextUrl()", 1027, "", "from=" + str + ", mCurrentUrlIndex = " + this.w + ", mUrls=" + kotlin.collections.k.a(this.x, (CharSequence) null, (CharSequence) null, (CharSequence) null, 0, (CharSequence) null, (kotlin.jvm.a.b) null, 63, (Object) null) + ", canProceedLoadNextUrl=" + z);
return z;
}
private final void e(ValueCallback<String> valueCallback) {
a("javascript:nextStep(" + this.J + ')', valueCallback);
}
private final void f(ValueCallback<String> valueCallback) {
a("javascript:pageCount()", valueCallback);
}
private final void g(ValueCallback<String> valueCallback) {
a("javascript:previousStep(" + this.J + ')', valueCallback);
}
private final void h(ValueCallback<String> valueCallback) {
a("javascript:previousPage(" + this.J + ')', valueCallback);
}
private final void i(ValueCallback<String> valueCallback) {
a("javascript:transitionState()", valueCallback);
}
public final synchronized void a(int i2, int i3, @Nullable IZegoDocsViewScrollCompleteListener iZegoDocsViewScrollCompleteListener) {
b.a aVar = im.zego.zegodocs.sdk.d.b.g;
aVar.c(im.zego.zegodocs.sdk.d.b.c, "gotoPageWithStep()", 162, this.f3904b, "pageIndex = " + i2 + ", stepIndex = " + i3 + ", actionQueue.size = " + this.q.a());
if (!a(i2)) {
aVar.b(im.zego.zegodocs.sdk.d.b.e, "gotoPageWithStep()", TbsListener.ErrorCode.STARTDOWNLOAD_5, this.f3904b, "invalid page number : " + i2 + ", mPageCount = " + this.c);
if (iZegoDocsViewScrollCompleteListener != null) {
iZegoDocsViewScrollCompleteListener.onScrollComplete(false);
}
return;
}
if (i3 <= 0) {
aVar.b(im.zego.zegodocs.sdk.d.b.e, "gotoPageWithStep()", 169, this.f3904b, "invalid stepIdx : " + i3);
if (iZegoDocsViewScrollCompleteListener != null) {
iZegoDocsViewScrollCompleteListener.onScrollComplete(false);
}
return;
}
b bVar = new b();
bVar.a(i2 - 1);
bVar.b(i3 - 1);
if (a(bVar)) {
bVar.a(iZegoDocsViewScrollCompleteListener);
aVar.c(im.zego.zegodocs.sdk.d.b.c, "gotoPageWithStep()", 183, this.f3904b, "actionQueue.peek():" + this.q.e());
this.q.a(bVar);
a();
return;
}
aVar.b(im.zego.zegodocs.sdk.d.b.e, "gotoPageWithStep()", 333, this.f3904b, "invalid stepIdx : " + i3 + ", out of bound");
if (iZegoDocsViewScrollCompleteListener != null) {
iZegoDocsViewScrollCompleteListener.onScrollComplete(false);
}
}
public final void a(@Nullable IZegoDocsViewScrollCompleteListener iZegoDocsViewScrollCompleteListener) {
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "nextPage()", TbsListener.ErrorCode.ERROR_TBSINSTALLER_ISTBSCORELEGAL_02, this.f3904b, "flipListener = " + iZegoDocsViewScrollCompleteListener);
if (this.d >= this.c - 1) {
if (iZegoDocsViewScrollCompleteListener != null) {
iZegoDocsViewScrollCompleteListener.onScrollComplete(false);
}
} else {
b bVar = new b();
bVar.a(true);
bVar.a(Math.min(this.d + 1, this.c - 1));
bVar.a(iZegoDocsViewScrollCompleteListener);
this.q.a(bVar);
a();
}
}
public final void a(kotlin.jvm.a.a<u> calcFinished) {
t.g(calcFinished, "calcFinished");
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "calculateStepCountInPage()", 595, this.f3904b, "");
this.u.clear();
f(new f(calcFinished));
}
public final void a(String[] urls, boolean z, IZegoDocsViewLoadListener iZegoDocsViewLoadListener) {
t.g(urls, "urls");
b.a aVar = im.zego.zegodocs.sdk.d.b.g;
String str = this.f3904b;
StringBuilder sb = new StringBuilder();
sb.append("visible = ");
sb.append(getVisibility() == 0);
sb.append(',');
sb.append("isAttached:");
sb.append(isAttachedToWindow());
sb.append(", getUrl:");
sb.append(getUrl());
sb.append(", urls = ");
sb.append(kotlin.collections.k.a(urls, (CharSequence) null, (CharSequence) null, (CharSequence) null, 0, (CharSequence) null, (kotlin.jvm.a.b) null, 63, (Object) null));
sb.append(", loadListener = ");
sb.append(iZegoDocsViewLoadListener);
aVar.c(im.zego.zegodocs.sdk.d.b.c, "startLoadWithUrls()", 377, str, sb.toString());
this.H = z;
this.w = 0;
this.x = urls;
this.m = iZegoDocsViewLoadListener;
if (!(urls.length == 0)) {
a(urls[0]);
} else {
b(ZegoDocsViewConstants.ZegoDocsViewErrorInternal);
}
}
public final void b() {
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "clearWebView()", TbsListener.ErrorCode.ROM_NOT_ENOUGH, this.f3904b, "this:" + toString());
this.l.removeCallbacksAndMessages(null);
this.u.clear();
JSHookAop.loadUrl(this, "about:blank");
loadUrl("about:blank");
}
public final void b(@Nullable IZegoDocsViewScrollCompleteListener iZegoDocsViewScrollCompleteListener) {
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "nextStep()", 362, this.f3904b, "actionQueue.size = " + this.q.a());
i(new i(iZegoDocsViewScrollCompleteListener));
}
public final int c() {
return this.d + 1;
}
public final void c(@Nullable IZegoDocsViewScrollCompleteListener iZegoDocsViewScrollCompleteListener) {
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "previousPage()", 341, this.f3904b, "flipListener = " + iZegoDocsViewScrollCompleteListener);
if (this.d == 0) {
if (iZegoDocsViewScrollCompleteListener != null) {
iZegoDocsViewScrollCompleteListener.onScrollComplete(false);
}
} else {
b bVar = new b();
bVar.c(true);
bVar.a(Math.max(this.d - 1, 0));
bVar.a(iZegoDocsViewScrollCompleteListener);
this.q.a(bVar);
a();
}
}
public final void c(String animation) {
t.g(animation, "animation");
b(animation);
}
public final int d() {
return this.e + 1;
}
public final void d(int i2) {
c(i2, (ValueCallback<String>) null);
}
public final void d(@Nullable IZegoDocsViewScrollCompleteListener iZegoDocsViewScrollCompleteListener) {
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "previousStep()", 388, this.f3904b, "actionQueue.size = " + this.q.a());
i(new j(iZegoDocsViewScrollCompleteListener));
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
t.g(ev, "ev");
if (ev.getActionMasked() == 0) {
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "dispatchTouchEvent()", 388, this.f3904b, "actionQueue.size = " + this.q.a());
}
if (this.q.c()) {
return super.dispatchTouchEvent(ev);
}
return false;
}
public final boolean getLocalAction() {
return this.J;
}
@Override
protected void onDetachedFromWindow() {
super.onDetachedFromWindow();
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "onDetachedFromWindow()", Opcodes.IFNONNULL, this.f3904b, "this:" + toString());
b();
}
@Override
protected void onSizeChanged(int i2, int i3, int i4, int i5) {
super.onSizeChanged(i2, i3, i4, i5);
if (this.H) {
Pair<Integer, Float> c2 = c(i2);
int intValue = c2.component1().intValue();
float floatValue = c2.component2().floatValue();
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "onSizeChanged()", 796, this.f3904b, "width:" + i2 + ", height:" + i3 + "; oldWidth:" + i4 + ", oldHeight:" + i5 + "; px2dp width: " + intValue + ", scale:" + floatValue);
}
}
public final void setAnimationListener(IZegoDocsViewAnimationListener listener) {
t.g(listener, "listener");
this.p = listener;
}
public final void setLayoutSubFile(im.zego.zegodocs.layout.c layoutSubFile) {
t.g(layoutSubFile, "layoutSubFile");
this.F = layoutSubFile;
ZegoDocsPageInfo[] e2 = layoutSubFile.e();
t.cy(e2);
this.v = e2[0].d();
this.f3904b = layoutSubFile.c();
this.G = r0.getWidth() / r0.getHeight();
ZegoSize i2 = layoutSubFile.i();
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(i2.getWidth(), i2.getHeight());
layoutParams.gravity = 17;
setLayoutParams(layoutParams);
this.c = layoutSubFile.f();
}
public final void setOperationAuth(HashMap<String, Integer> authInfo) {
t.g(authInfo, "authInfo");
JSONObject jSONObject = new JSONObject();
jSONObject.put("scale", authInfo.get("scale"));
jSONObject.put("scroll", authInfo.get("scroll"));
String jSONObject2 = jSONObject.toString();
t.e(jSONObject2, "jsonObject.toString()");
a("javascript:setCustomizedConfig(\"pptOperationAuth\",'" + jSONObject2 + "')", (ValueCallback<String>) null);
}
public final void setScrollCompleteListener(IZegoDocsViewScrollCompleteListener listener) {
t.g(listener, "listener");
this.o = listener;
}
public final void setStepChangeListener(IZegoDocsViewCurrentStepChangeListener listener) {
t.g(listener, "listener");
this.n = listener;
}
@kotlin.i
public final class e extends WebViewClient {
@kotlin.i
static final class a implements Runnable {
a() {
}
@Override
public final void run() {
r rVar = r.this;
rVar.c(rVar.getWidth());
}
}
@kotlin.i
static final class b implements Runnable {
b() {
}
@Override
public final void run() {
if (r.this.m != null) {
b.a aVar = im.zego.zegodocs.sdk.d.b.g;
aVar.c(im.zego.zegodocs.sdk.d.b.c, "", 257, r.this.f3904b, "reloadCount:" + r.this.E + ",maxReloadTime:" + r.this.D);
if (r.this.E >= r.this.D) {
aVar.c(im.zego.zegodocs.sdk.d.b.c, "", TarConstants.VERSION_OFFSET, r.this.f3904b, "delay post()");
r.this.b(ZegoDocsViewConstants.ZegoDocsViewErrorNetworkTimeout);
return;
}
r.this.E++;
r.this.b();
if (r.this.y != null) {
r rVar = r.this;
String str = rVar.y;
t.cy(str);
rVar.a(new String[]{str}, r.this.H, r.this.m);
}
}
}
}
public e() {
}
@Override
public void onPageFinished(WebView webView, String str) {
if (Build.VERSION.SDK_INT >= 19) {
webView.evaluateJavascript("if(window.performance && window.performance.timing && window.performance.getEntriesByType){JSON.stringify([window.performance.getEntriesByType('resource'),window.performance.getEntriesByType('paint'), window.performance.timing])}", new defpackage.a(str));
}
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "onPageFinished()", 83, r.this.f3904b, "view = " + webView + ", url = " + str + ",docLoadListener:" + r.this.m);
if (r.this.H) {
r.this.l.post(new a());
}
r.this.a("javascript:initPlatform(1)", (ValueCallback<String>) null);
r.this.l.postDelayed(new b(), 30000L);
}
@Override
public void onPageStarted(WebView webView, String str, Bitmap bitmap) {
com.liulishuo.thanos.webview.a.iSb.onPageStart(str);
com.liulishuo.thanos.webview.a.iSb.sW("Android WebKit WebView");
im.zego.zegodocs.sdk.d.b.g.c(im.zego.zegodocs.sdk.d.b.c, "onPageStarted()", 79, r.this.f3904b, "view = " + webView + ", url = " + str + ", favicon = " + bitmap);
}
@Override
public void onReceivedError(WebView webView, WebResourceRequest webResourceRequest, WebResourceError webResourceError) {
if (Build.VERSION.SDK_INT >= 23) {
com.liulishuo.thanos.webview.a.iSb.b(Integer.valueOf(webResourceError.getErrorCode()), webResourceError.getDescription().toString());
}
b.a aVar = im.zego.zegodocs.sdk.d.b.g;
StringBuilder sb = new StringBuilder();
sb.append("request:");
sb.append(webResourceRequest != null ? webResourceRequest.getUrl() : null);
sb.append(",error:");
sb.append(webResourceError != null ? webResourceError.toString() : null);
aVar.b(im.zego.zegodocs.sdk.d.b.e, "onReceivedError()", 90, "", sb.toString());
if (r.this.y == null || webResourceRequest == null || !t.h(r.this.y, webResourceRequest.getUrl().toString())) {
return;
}
r.this.d("onReceivedError");
}
@Override
public void onReceivedHttpError(WebView webView, WebResourceRequest webResourceRequest, WebResourceResponse webResourceResponse) {
if (Build.VERSION.SDK_INT >= 21) {
com.liulishuo.thanos.webview.a.iSb.b(Integer.valueOf(webResourceResponse.getStatusCode()), webResourceResponse.getReasonPhrase());
}
b.a aVar = im.zego.zegodocs.sdk.d.b.g;
StringBuilder sb = new StringBuilder();
sb.append("request:");
sb.append(webResourceRequest != null ? webResourceRequest.getUrl() : null);
sb.append(" ,");
sb.append(webResourceResponse != null ? Integer.valueOf(webResourceResponse.getStatusCode()) : null);
sb.append(',');
sb.append(webResourceResponse != null ? webResourceResponse.getReasonPhrase() : null);
aVar.b(im.zego.zegodocs.sdk.d.b.e, "onReceivedHttpError()", TinkerReport.KEY_LOADED_INFO_CORRUPTED, "", sb.toString());
}
@Override
public void onReceivedSslError(WebView webView, SslErrorHandler sslErrorHandler, SslError sslError) {
com.liulishuo.thanos.webview.a.iSb.b(Integer.valueOf(sslError.getPrimaryError()), sslError.toString());
im.zego.zegodocs.sdk.d.b.g.b(im.zego.zegodocs.sdk.d.b.e, "onReceivedSslError()", 102, "", String.valueOf(sslError));
}
@Override
public boolean shouldOverrideUrlLoading(WebView webView, WebResourceRequest webResourceRequest) {
return true;
}
@Override
public void onLoadResource(WebView webView, String str) {
com.liulishuo.thanos.webview.a.iSb.djy();
super.onLoadResource(webView, str);
}
@Override
public void onReceivedError(WebView webView, int i, String str, String str2) {
com.liulishuo.thanos.webview.a.iSb.b(Integer.valueOf(i), str);
super.onReceivedError(webView, i, str, str2);
}
}
}