QQ浏览器 v12.2.3.7053版本的 MD5 值为:8285ab3059e5c8b521a264dfbc5c3685
以下内容为反编译后的 d.java 源代码,内容仅作参考
package com.tencent.xweb.xwalk;
import android.app.ActivityManager;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Environment;
import android.os.Process;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.View;
import android.webkit.ValueCallback;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.ScrollView;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import com.tencent.luggage.wxa.ud.a;
import com.tencent.map.geolocation.util.DateUtils;
import com.tencent.mtt.R;
import com.tencent.mtt.base.task.Task;
import com.tencent.mtt.compliance.MethodDelegate;
import com.tencent.qqlive.module.videoreport.collect.EventCollector;
import com.tencent.qqlive.module.videoreport.inject.dialog.ReportProgressDialog;
import com.tencent.tar.internal.TarStatusCode;
import com.tencent.xweb.JsRuntime;
import com.tencent.xweb.WebView;
import com.tencent.xweb.af;
import com.tencent.xweb.f;
import com.tencent.xweb.internal.IWebView;
import com.tencent.xweb.internal.a;
import com.tencent.xweb.p;
import com.tencent.xweb.v;
import com.tencent.xweb.xwalk.XWalkUpdater;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import org.xwalk.core.Log;
import org.xwalk.core.XWalkEnvironment;
import org.xwalk.core.XWalkInitializer;
import org.xwalk.core.XWalkPreferences;
import qb.business.BuildConfig;
public class d implements com.tencent.xweb.internal.d {
private Context g;
private WebView h;
private View j;
private String i = "";
ScrollView f82384a = null;
TextView f82385b = null;
TextView f82386c = null;
TextView f82387d = null;
Button e = null;
private boolean k = false;
String f = "tools";
private final String l = "当前Dark Mode强制智能反色[%d,%d](点击切换)";
private final String m = "当前Dark Mode不强制智能反色[%d,%d](点击切换)";
private final String n = "当前Light Mode[%d,%d](点击切换)";
private final String o = "当前未知Mode[%d,%d](点击切换)";
private View.OnClickListener p = new View.OnClickListener() {
@Override
public void onClick(View view) {
EventCollector.getInstance().onViewClickedBefore(view);
d.this.j.setVisibility(8);
d.this.h.startLongScreenshot(new com.tencent.xweb.n() {
@Override
public File getCacheFileDir() {
return new File(d.this.g.getExternalCacheDir().getAbsolutePath(), "LongScreenshot");
}
@Override
public int getMaxHeightSupported() {
return 0;
}
@Override
public File getResultFileDir() {
return new File(d.this.g.getExternalCacheDir().getAbsolutePath(), "LongScreenshot");
}
@Override
public void onLongScreenshotFinished(int i, String str) {
Log.d("WebDebugPage", "onLongScreenshotFinished with " + i + " / " + str);
}
@Override
public Bitmap overrideScreenshot(Bitmap bitmap) {
return bitmap;
}
}, true);
EventCollector.getInstance().onViewClicked(view);
}
};
public class AnonymousClass41 implements com.tencent.luggage.wxa.ud.j {
final Context f82440b;
final String f82441c;
final com.tencent.luggage.wxa.ud.k f82442d;
final boolean e;
final f.a f;
final ValueCallback g;
boolean f82439a = false;
private ProgressDialog h = null;
AnonymousClass41(Context context, String str, com.tencent.luggage.wxa.ud.k kVar, boolean z, f.a aVar, ValueCallback valueCallback) {
this.f82440b = context;
this.f82441c = str;
this.f82442d = kVar;
this.e = z;
this.f = aVar;
this.g = valueCallback;
}
@Override
public void a() {
this.h = new ReportProgressDialog(this.f82440b);
this.h.setProgressStyle(1);
this.h.setMessage(this.f82441c + " 下载更新中");
this.h.setCancelable(false);
this.h.setCanceledOnTouchOutside(false);
this.h.setButton(-2, "取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
if (AnonymousClass41.this.f82439a) {
return;
}
AnonymousClass41.this.f82442d.a();
}
});
this.h.setButton(-1, "完成", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
AnonymousClass41.this.h.dismiss();
}
});
this.h.show();
this.h.getButton(-1).setVisibility(8);
}
@Override
public void a(int i) {
ProgressDialog progressDialog;
if (this.f82439a || (progressDialog = this.h) == null) {
return;
}
progressDialog.setProgress(i);
}
@Override
public void b(int i) {
ProgressDialog progressDialog;
StringBuilder sb;
String str;
String[] strArr;
String str2;
String str3;
this.f82439a = true;
if (this.h == null) {
return;
}
com.tencent.luggage.wxa.ud.g a2 = com.tencent.luggage.wxa.ud.h.a(this.f82441c);
int a3 = a2 != null ? a2.a(true) : -1;
switch (i) {
case -9:
progressDialog = this.h;
sb = new StringBuilder();
sb.append(this.f82441c);
str = " 更新失败,下载安装出错,ErrCode = ";
sb.append(str);
sb.append(i);
progressDialog.setMessage(sb.toString());
break;
case -8:
this.h.setMessage(this.f82441c + " 更新失败,未找到可用更新,当前已安装版本" + a3 + ",ErrCode = " + i);
break;
case -7:
progressDialog = this.h;
sb = new StringBuilder();
sb.append(this.f82441c);
str = " 更新失败,配置中未包含插件信息,ErrCode = ";
sb.append(str);
sb.append(i);
progressDialog.setMessage(sb.toString());
break;
case -6:
progressDialog = this.h;
sb = new StringBuilder();
sb.append(this.f82441c);
str = " 更新失败,配置解析失败,ErrCode = ";
sb.append(str);
sb.append(i);
progressDialog.setMessage(sb.toString());
break;
case -5:
progressDialog = this.h;
sb = new StringBuilder();
sb.append(this.f82441c);
str = " 更新失败,配置下载失败,ErrCode = ";
sb.append(str);
sb.append(i);
progressDialog.setMessage(sb.toString());
break;
case -4:
progressDialog = this.h;
sb = new StringBuilder();
sb.append(this.f82441c);
str = " 更新失败,其它任务正在更新插件,ErrCode = ";
sb.append(str);
sb.append(i);
progressDialog.setMessage(sb.toString());
break;
case -3:
progressDialog = this.h;
sb = new StringBuilder();
sb.append(this.f82441c);
str = " 更新失败,未到检查时间,ErrCode = ";
sb.append(str);
sb.append(i);
progressDialog.setMessage(sb.toString());
break;
case -2:
progressDialog = this.h;
sb = new StringBuilder();
sb.append(this.f82441c);
str = " 更新失败,无网络,ErrCode = ";
sb.append(str);
sb.append(i);
progressDialog.setMessage(sb.toString());
break;
case -1:
progressDialog = this.h;
sb = new StringBuilder();
sb.append(this.f82441c);
str = " 更新被取消,ErrCode = ";
sb.append(str);
sb.append(i);
progressDialog.setMessage(sb.toString());
break;
case 0:
this.h.setMessage(this.f82441c + " 更新完成,已安装版本" + a3);
this.h.setProgress(100);
this.h.getButton(-2).setVisibility(8);
this.h.getButton(-1).setVisibility(0);
break;
default:
progressDialog = this.h;
sb = new StringBuilder();
sb.append(this.f82441c);
str = " 更新失败,未知错误,ErrCode = ";
sb.append(str);
sb.append(i);
progressDialog.setMessage(sb.toString());
break;
}
if (this.f != null && v.a() != null) {
if (XWalkEnvironment.XWALK_PLUGIN_NAME_PPT.equals(this.f82441c)) {
str2 = "ppt";
str3 = "pptx";
} else {
if (XWalkEnvironment.XWALK_PLUGIN_NAME_PDF.equals(this.f82441c)) {
strArr = new String[]{"pdf"};
} else if (XWalkEnvironment.XWALK_PLUGIN_NAME_WORD.equals(this.f82441c)) {
str2 = "doc";
str3 = "docx";
} else if (XWalkEnvironment.XWALK_PLUGIN_NAME_EXCEL.equals(this.f82441c)) {
str2 = "xls";
str3 = "xlsx";
} else if (!XWalkEnvironment.XWALK_PLUGIN_NAME_OFFICE.equals(this.f82441c)) {
return;
} else {
strArr = new String[]{"doc", "docx", "xls", "xlsx", "ppt", "pptx"};
}
String a4 = v.a().a(strArr, this.f);
com.tencent.xweb.e.a(strArr);
Toast.makeText(this.f82440b, "格式:" + a4 + "强制使用" + this.f.name() + "打开", 0).show();
}
strArr = new String[]{str2, str3};
String a42 = v.a().a(strArr, this.f);
com.tencent.xweb.e.a(strArr);
Toast.makeText(this.f82440b, "格式:" + a42 + "强制使用" + this.f.name() + "打开", 0).show();
}
ValueCallback valueCallback = this.g;
if (valueCallback != null) {
valueCallback.onReceiveValue(Integer.valueOf(i));
}
}
}
public static class AnonymousClass51 {
static final int[] f82464a;
static final int[] f82465b = new int[JsRuntime.JsRuntimeType.values().length];
static {
try {
f82465b[JsRuntime.JsRuntimeType.RT_TYPE_AUTO.ordinal()] = 1;
} catch (NoSuchFieldError unused) {
}
try {
f82465b[JsRuntime.JsRuntimeType.RT_TYPE_SYS.ordinal()] = 2;
} catch (NoSuchFieldError unused2) {
}
try {
f82465b[JsRuntime.JsRuntimeType.RT_TYPE_X5.ordinal()] = 3;
} catch (NoSuchFieldError unused3) {
}
try {
f82465b[JsRuntime.JsRuntimeType.RT_TYPE_NATIVE_SCRIPT.ordinal()] = 4;
} catch (NoSuchFieldError unused4) {
}
try {
f82465b[JsRuntime.JsRuntimeType.RT_TYPE_MMV8.ordinal()] = 5;
} catch (NoSuchFieldError unused5) {
}
f82464a = new int[WebView.c.values().length];
try {
f82464a[WebView.c.WV_KIND_CW.ordinal()] = 1;
} catch (NoSuchFieldError unused6) {
}
try {
f82464a[WebView.c.WV_KIND_X5.ordinal()] = 2;
} catch (NoSuchFieldError unused7) {
}
try {
f82464a[WebView.c.WV_KIND_SYS.ordinal()] = 3;
} catch (NoSuchFieldError unused8) {
}
try {
f82464a[WebView.c.WV_KIND_NONE.ordinal()] = 4;
} catch (NoSuchFieldError unused9) {
}
}
}
public static class a implements p.a {
Context f82478a;
boolean f82479b = false;
private ProgressDialog f82480c;
public a(Context context) {
this.f82478a = context;
com.tencent.xweb.p.a(this);
a("正在监听更新,点空白区域取消");
}
@Override
public void a() {
a("开始更新");
}
@Override
public void a(int i) {
try {
if (i == 0) {
a("更新完成,点任意位置重启进程生效");
this.f82479b = true;
this.f82480c.setCancelable(true);
this.f82480c.setCanceledOnTouchOutside(true);
this.f82480c.setProgress(100);
} else if (i == -5) {
a("暂无需要立即更新的版本");
this.f82480c.setCancelable(true);
this.f82480c.setCanceledOnTouchOutside(true);
} else {
this.f82480c.setCancelable(true);
this.f82480c.setCanceledOnTouchOutside(true);
a("更新失败, error code = :" + i);
}
} catch (Exception e) {
Log.i("WebDebugPage", "may run in background failed to load alert:" + e.getMessage());
}
}
void a(String str) {
if (this.f82480c == null) {
this.f82480c = new ReportProgressDialog(this.f82478a);
this.f82480c.setProgressStyle(1);
this.f82480c.setMessage(str);
this.f82480c.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialogInterface) {
com.tencent.xweb.p.b(a.this);
if (a.this.f82479b) {
d.b(a.this.f82478a);
}
}
});
this.f82480c.setCancelable(true);
this.f82480c.show();
}
this.f82480c.setMessage(str);
}
@Override
public void b() {
a("主配置更新完成");
}
@Override
public void b(int i) {
try {
a("正在下载内核");
if (this.f82480c != null) {
this.f82480c.setCancelable(false);
this.f82480c.setProgress(i);
}
} catch (Exception e) {
Log.i("WebDebugPage", "may run in background failed to load alert:" + e.getMessage());
}
}
@Override
public void c() {
a("插件配置更新完成");
}
}
public static class b extends XWalkUpdater.UpdateConfig {
String f82482a;
public b(String str, String str2) {
this(null, false, a());
this.f82482a = str;
this.f82360c = false;
this.e = false;
this.j = "local:" + str2;
}
private b(String str, boolean z, int i) {
super(str, z, i, XWalkEnvironment.getRuntimeAbi(), 0);
}
static int a() {
int availableVersion = XWalkEnvironment.getAvailableVersion();
return availableVersion >= 100000000 ? availableVersion + 1 : XWalkEnvironment.TEST_APK_START_VERSION;
}
@Override
public boolean b() {
return true;
}
}
public class c extends p {
public c(Context context) {
super(context);
new a(d.this.b());
}
}
public d(WebView webView) {
this.g = webView.getContext();
this.h = webView;
j();
g();
}
private int a(int i, int i2) {
if (i == 0) {
return 3;
}
if (i != 2) {
return 4;
}
if (i2 == 2) {
return 1;
}
if (i2 == 1) {
return 2;
}
return i2 == 0 ? 1 : 4;
}
static String a(Context context, WebView.c cVar, String str) {
WebView.c cVar2;
boolean z;
XWalkEnvironment.init(context);
StringBuilder sb = new StringBuilder();
sb.append("\n default core type " + cVar);
if (XWalkEnvironment.isIaDevice()) {
sb.append(", is prefer WV_KIND_SYS because of this is x86 device");
} else {
if (com.tencent.xweb.a.b(str) != WebView.c.WV_KIND_NONE) {
sb.append("\n has command type " + com.tencent.xweb.a.b(str));
}
WebView.c cVar3 = WebView.c.WV_KIND_CW;
sb.append("\n has compile type " + cVar3);
if (v.a().a(str, true) != WebView.c.WV_KIND_NONE) {
WebView.c a2 = v.a().a(str, true);
sb.append("\n has abtest type " + a2);
cVar2 = a2;
z = true;
} else {
cVar2 = cVar3;
z = false;
}
if (v.a().a(str, false) != WebView.c.WV_KIND_NONE) {
cVar2 = v.a().b(str);
sb.append("\n has hardcode type " + cVar2);
z = true;
}
if (!z && cVar2 == WebView.c.WV_KIND_CW && XWalkEnvironment.getXWebInitArgs(XWalkEnvironment.XWALK_ENV_MAP_KEY_ISGPVERSION, false)) {
cVar2 = WebView.c.WV_KIND_SYS;
sb.append("\n is prefer " + cVar2 + " because of gp version");
}
if (cVar2 == WebView.c.WV_KIND_CW && !XWalkEnvironment.hasAvailableVersion()) {
cVar2 = WebView.c.WV_KIND_X5;
sb.append("\n is prefer " + cVar2 + " because of xwalk is not available");
}
com.tencent.xweb.internal.h.a(cVar2, str);
if (com.tencent.xweb.internal.h.a().g()) {
cVar2 = WebView.c.WV_KIND_SYS;
sb.append("\n is prefer " + cVar2 + " because of LoadUrlWatchDog");
}
if (com.tencent.xweb.internal.b.a(cVar2, str)) {
sb.append("\n will not use " + cVar2 + " because of CrashWatchDog hit");
}
if (cVar2 == WebView.c.WV_KIND_X5 && !com.tencent.luggage.wxa.uc.c.a()) {
sb.append("\n x5 sdk is not compiled switch to xweb");
cVar2 = WebView.c.WV_KIND_CW;
}
sb.insert(0, "module: " + str + " core type is " + cVar2);
}
return sb.toString();
}
public static String a(String str, boolean z) {
return XWalkEnvironment.XWALK_PLUGIN_NAME_FULL_SCREEN_VIDEO.equals(str) ? "xweb_fullscreen_video.js" : XWalkEnvironment.XWALK_PLUGIN_NAME_PPT.equals(str) ? "xfiles_ppt_reader.zip" : XWalkEnvironment.XWALK_PLUGIN_NAME_PDF.equals(str) ? z ? "xfiles_pdf_reader_arm64.zip" : "xfiles_pdf_reader_arm.zip" : XWalkEnvironment.XWALK_PLUGIN_NAME_WORD.equals(str) ? z ? "xfiles_word_reader_arm64.zip" : "xfiles_word_reader_arm.zip" : XWalkEnvironment.XWALK_PLUGIN_NAME_EXCEL.equals(str) ? "xfiles_excel_reader.zip" : XWalkEnvironment.XWALK_PLUGIN_NAME_OFFICE.equals(str) ? z ? "xfiles_office_reader_arm64.zip" : "xfiles_office_reader_arm.zip" : "";
}
public static void a(Context context) {
com.tencent.luggage.wxa.ue.c.f27024c = true;
com.tencent.luggage.wxa.ud.k kVar = new com.tencent.luggage.wxa.ud.k();
HashMap<String, String> hashMap = new HashMap<>();
hashMap.put("UpdaterCheckType", "1");
kVar.a(context, hashMap);
}
public static void a(final Context context, String str, final int i, final boolean z, boolean z2, final boolean z3, final ValueCallback<Boolean> valueCallback) {
com.tencent.luggage.wxa.ub.h hVar = new com.tencent.luggage.wxa.ub.h(Environment.getExternalStorageDirectory().getPath());
if (hVar.c() == null) {
Toast.makeText(context, "请确认应用权限,在权限管理打开应用的读写存储权限", 0).show();
valueCallback.onReceiveValue(false);
return;
}
final com.tencent.luggage.wxa.ud.g a2 = com.tencent.luggage.wxa.ud.h.a(str);
if (a2 == null) {
Toast.makeText(context, "找不到对应插件", 0).show();
valueCallback.onReceiveValue(false);
return;
}
final String a3 = a(str, z2);
final String str2 = hVar.a() + "/apkxwebtest/" + a3;
new AsyncTask<Void, Void, Boolean>() {
private ProgressDialog i = null;
@Override
public Boolean doInBackground(Void... voidArr) {
int i2;
File file = null;
try {
boolean z4 = true;
int a4 = a2.a(true);
if (i > 0) {
i2 = i;
if (a4 > 0) {
String b2 = a2.b(a4);
a2.b(-1, true);
if (b2 != null && !b2.isEmpty()) {
com.tencent.xweb.util.c.b(b2);
}
}
} else {
i2 = TarStatusCode.TAR_SLAM_HIT_IN_POINT;
if (a4 >= 99999) {
i2 = a4 + 1;
}
}
com.tencent.luggage.wxa.ue.d dVar = new com.tencent.luggage.wxa.ue.d();
dVar.l = i2;
dVar.f = false;
dVar.y = a2.a(i2, false);
File file2 = new File(dVar.y);
try {
if (z) {
com.tencent.xweb.util.c.a(context.getAssets().open(a3), file2);
} else {
com.tencent.luggage.wxa.ub.i.a(str2, file2.getPath());
}
dVar.f27033d = com.tencent.luggage.wxa.ub.i.a(file2.getPath());
dVar.x = true;
if (a2.a(dVar) != 0) {
z4 = false;
}
return Boolean.valueOf(z4);
} catch (Exception e) {
e = e;
file = file2;
Log.e("WebDebugPage", "loadZipFormatPluginFromLocal error: " + e.getMessage());
if (file != null) {
try {
com.tencent.xweb.util.c.b(file);
} catch (Exception unused) {
}
}
return false;
}
} catch (Exception e2) {
e = e2;
}
}
@Override
public void onPostExecute(Boolean bool) {
if (bool.booleanValue()) {
this.i.setMessage("安装完成");
} else {
String str3 = z ? "asset/" : "sdcard/apkxwebtest/";
this.i.setMessage("安装失败,请确保文件存在: " + str3 + a3);
}
this.i.getButton(-1).setVisibility(0);
if (z3) {
this.i.hide();
}
ValueCallback valueCallback2 = valueCallback;
if (valueCallback2 != null) {
valueCallback2.onReceiveValue(bool);
}
}
@Override
protected void onPreExecute() {
this.i = new ReportProgressDialog(context);
this.i.setProgressStyle(0);
this.i.setMessage("安装中");
this.i.setCancelable(false);
this.i.setCanceledOnTouchOutside(false);
this.i.setButton(-1, "完成", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i2) {
AnonymousClass42.this.i.hide();
}
});
this.i.show();
this.i.getButton(-1).setVisibility(8);
}
}.execute(new Void[0]);
}
public static void a(Context context, String str, f.a aVar, boolean z, ValueCallback<Integer> valueCallback) {
com.tencent.luggage.wxa.ud.k kVar = new com.tencent.luggage.wxa.ud.k();
kVar.a(str, new AnonymousClass41(context, str, kVar, z, aVar, valueCallback));
HashMap<String, String> hashMap = new HashMap<>();
hashMap.put("UpdaterCheckType", "1");
kVar.a(context, hashMap);
}
public static void a(Context context, String str, boolean z, boolean z2, ValueCallback<Boolean> valueCallback) {
a(context, str, -1, z, z2, false, valueCallback);
}
private void a(Button button) {
String format;
int b2 = this.h.getSettings().b();
int c2 = this.h.getSettings().c();
int a2 = a(b2, c2);
if (a2 == 1) {
format = String.format("当前Dark Mode强制智能反色[%d,%d](点击切换)", Integer.valueOf(b2), Integer.valueOf(c2));
} else if (a2 == 2) {
format = String.format("当前Dark Mode不强制智能反色[%d,%d](点击切换)", Integer.valueOf(b2), Integer.valueOf(c2));
} else if (a2 == 3) {
format = String.format("当前Light Mode[%d,%d](点击切换)", Integer.valueOf(b2), Integer.valueOf(c2));
} else if (a2 != 4) {
return;
} else {
format = String.format("当前未知Mode[%d,%d](点击切换)", Integer.valueOf(b2), Integer.valueOf(c2));
}
button.setText(format);
}
public static synchronized void a(IWebView iWebView) {
synchronized (d.class) {
if (iWebView != null) {
if (v.a().f()) {
b(iWebView);
}
}
}
}
public void a(String str, f.a aVar) {
if (v.a() == null) {
return;
}
String[] strArr = (str == null || str.isEmpty()) ? com.tencent.xweb.f.f82248a : new String[]{str};
String a2 = v.a().a(strArr, aVar);
com.tencent.xweb.e.a(strArr);
if (this.j == null || b() == null || a2.isEmpty()) {
return;
}
Toast.makeText(b(), "格式:" + a2 + "强制使用" + aVar.name() + "打开", 0).show();
TextView textView = (TextView) this.j.findViewById(R.id.text_filereader_type);
if (textView != null) {
textView.setText(m());
}
}
public void a(String str, f.b bVar) {
if (v.a() == null) {
return;
}
String[] strArr = (str == null || str.isEmpty()) ? new String[]{"doc", "docx", "xls", "xlsx", "ppt", "pptx"} : new String[]{str};
String a2 = v.a().a(strArr, bVar);
com.tencent.xweb.e.a(strArr);
if (this.j == null || b() == null || a2.isEmpty()) {
return;
}
Toast.makeText(b(), "格式:" + a2 + "强制OfficeReader状态:" + bVar.toString(), 0).show();
TextView textView = (TextView) this.j.findViewById(R.id.text_filereader_type);
if (textView != null) {
textView.setText(m());
}
}
static boolean a(String str, String str2) {
String trim;
int lastIndexOf;
if (TextUtils.isEmpty(str) || TextUtils.isEmpty(str2) || (lastIndexOf = (trim = str.trim()).lastIndexOf("ticket")) < 0 || lastIndexOf >= trim.length()) {
return false;
}
return com.tencent.xweb.util.b.a(trim.substring(0, lastIndexOf) + "@check_permission@" + new SimpleDateFormat("yyyyMMdd").format(new Date()), str2, "MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE4s7oy+BvW5kzf5PwtVqDdZb2rVQS7GDf\naJWwtkD95ILDQAtHM9Nv5apLYQnUbXkjTldOUpjK7MimTkf/qXjQfk8hF2A0Mf7L\nHbDPr7kD9DOuQlG53SWOuKQVEwwsjN1l");
}
public static void b(Context context) {
String str;
ActivityManager activityManager = (ActivityManager) context.getSystemService("activity");
int myPid = Process.myPid();
int myUid = Process.myUid();
for (ActivityManager.RunningAppProcessInfo runningAppProcessInfo : activityManager.getRunningAppProcesses()) {
if (runningAppProcessInfo.uid == myUid && runningAppProcessInfo.pid != myPid && ((str = runningAppProcessInfo.processName) == null || !str.contains("com.tencent.mm") || runningAppProcessInfo.processName.contains("tools") || runningAppProcessInfo.processName.contains("appbrand") || runningAppProcessInfo.processName.contains("support") || runningAppProcessInfo.processName.contains("sandbox"))) {
Process.killProcess(runningAppProcessInfo.pid);
}
}
Process.killProcess(myPid);
}
public void b(Button button) {
l();
a(button);
}
public static synchronized void b(IWebView iWebView) {
synchronized (d.class) {
if (iWebView != null) {
if (v.a().f()) {
iWebView.evaluateJavascript("if (!window.showFPS) {\n window.showFPS = (function () {\n var requestAnimationFrame =\n window.requestAnimationFrame || //Chromium \n window.webkitRequestAnimationFrame || //Webkit \n window.mozRequestAnimationFrame || //Mozilla Geko \n window.oRequestAnimationFrame || //Opera Presto \n window.msRequestAnimationFrame || //IE Trident? \n function (callback) { //Fallback function \n window.setTimeout(callback, 1000 / 60);\n };\n var e, pe, pid, fps, last, offset, step, appendFps, curSeconds;\n fps = 0;\n curSeconds = 0;\n last = Date.now();\n step = function () {\n offset = Date.now() - last;\n fps += 1;\n if (offset >= 1000) {\n last += offset;\n if (curSeconds % 3 == 0) {\n addFpsElement();\n }\n ++curSeconds;\n appendFps(fps);\n fps = 0;\n }\n requestAnimationFrame(step);\n };\n\n addFpsElement = function () {\n var fpsview = document.getElementById(\"fpsview\");\n if (!fpsview) {\n var div = document.createElement('div');\n div.innerHTML = \"<div style=\\\"z-index: 9999; position: fixed ! important; right: 50px; top: 10px; font-size:36px\\\" id=\\\"fpsview\\\"> </div>\";\n document.body.appendChild(div);\n }\n }\n //显示fps;\n appendFps = function (fps) {\n if (!e) e = document.createElement('span');\n e.innerHTML = \"fps: \" + fps;\n if (!pe) {\n pe = document.getElementById(\"fpsview\");\n if (pe) pe.appendChild(e);\n }\n };\n return {\n go: function () {\n step();\n }\n }\n })();\n\n console.log(\"show fps start\");\n window.showFPS.go();\n\n}", new ValueCallback<String>() {
@Override
public void onReceiveValue(String str) {
Log.i("WebDebugPage", "show fps js done");
}
});
}
}
}
}
public static boolean b(String str) {
if (str == null) {
return false;
}
boolean z = str.contains("debugxweb.qq.com") || str.contains("debugmm.qq.com") || str.contains("public.debugxweb.qq.com");
if (z) {
com.tencent.xweb.util.h.a(223L, 1);
Log.e("WebDebugPage", "this url contians debug piece, url = " + str);
}
return z;
}
public void c(String str) {
String[] strArr;
String str2;
String str3;
if (v.a() == null) {
return;
}
if (!XWalkEnvironment.XWALK_PLUGIN_NAME_PPT.equals(str)) {
if (XWalkEnvironment.XWALK_PLUGIN_NAME_PDF.equals(str)) {
strArr = new String[]{"pdf"};
} else if (XWalkEnvironment.XWALK_PLUGIN_NAME_WORD.equals(str)) {
str2 = "doc";
str3 = "docx";
} else if (XWalkEnvironment.XWALK_PLUGIN_NAME_EXCEL.equals(str)) {
str2 = "xls";
str3 = "xlsx";
} else if (!XWalkEnvironment.XWALK_PLUGIN_NAME_OFFICE.equals(str)) {
return;
} else {
strArr = new String[]{"doc", "docx", "xls", "xlsx", "ppt", "pptx"};
}
String a2 = v.a().a(strArr, f.a.XWEB);
com.tencent.xweb.e.a(strArr);
if (this.j != null || b() == null || a2.isEmpty()) {
return;
}
Toast.makeText(b(), "格式:" + a2 + "强制使用" + f.a.XWEB.name() + "打开", 0).show();
TextView textView = (TextView) this.j.findViewById(R.id.text_filereader_type);
if (textView != null) {
textView.setText(m());
return;
}
return;
}
str2 = "ppt";
str3 = "pptx";
strArr = new String[]{str2, str3};
String a22 = v.a().a(strArr, f.a.XWEB);
com.tencent.xweb.e.a(strArr);
if (this.j != null) {
}
}
private void c(boolean z) {
if (this.f82386c == null) {
return;
}
this.f82386c.setText(a(z));
}
private boolean c(String str, boolean z) {
char c2;
StringBuilder sb;
String str2;
String sb2;
boolean z2;
f.b bVar;
String[] strArr;
StringBuilder sb3;
String bVar2;
String str3;
f.a aVar;
String[] strArr2;
if (!str.contains("debugxweb.qq.com") && !z) {
return false;
}
Uri parse = Uri.parse(str);
Set<String> queryParameterNames = parse.getQueryParameterNames();
if (queryParameterNames == null || queryParameterNames.size() == 0) {
k();
return true;
}
for (String str4 : queryParameterNames) {
if (str4 != null) {
switch (str4.hashCode()) {
case -1688684924:
if (str4.equals("set_apkver")) {
c2 = 4;
break;
}
break;
case -1534940989:
if (str4.equals("clear_all_plugin")) {
c2 = 11;
break;
}
break;
case -1479708147:
if (str4.equals("set_config_peroid")) {
c2 = 7;
break;
}
break;
case -1302829141:
if (str4.equals("wait_debugger")) {
c2 = 2;
break;
}
break;
case -1004318384:
if (str4.equals("set_force_filereader")) {
c2 = '\t';
break;
}
break;
case -939528941:
if (str4.equals("revert_to_apk")) {
c2 = 6;
break;
}
break;
case -83404669:
if (str4.equals("debug_process")) {
c2 = 3;
break;
}
break;
case 208243139:
if (str4.equals("recheck_cmds")) {
c2 = '\b';
break;
}
break;
case 368659514:
if (str4.equals("clear_commands")) {
c2 = 1;
break;
}
break;
case 603805332:
if (str4.equals("load_local_xwalk")) {
c2 = 0;
break;
}
break;
case 1098980480:
if (str4.equals("check_files")) {
c2 = 5;
break;
}
break;
case 1112413629:
if (str4.equals("set_force_use_office_reader")) {
c2 = '\n';
break;
}
break;
}
c2 = 65535;
String str5 = "";
switch (c2) {
case 0:
b(false);
break;
case 1:
com.tencent.xweb.a.a((a.C1263a[]) null, "0");
break;
case 2:
v.a().a(parse.getBooleanQueryParameter("wait_debugger", false));
break;
case 3:
v.a().a(parse.getQueryParameter("debug_process"));
break;
case 4:
String queryParameter = parse.getQueryParameter("set_apkver");
try {
XWalkEnvironment.setAvailableVersion(Integer.parseInt(queryParameter), "1.0." + queryParameter, XWalkEnvironment.getRuntimeAbi());
a("版本号设置到:" + queryParameter + " 点击空白处退出重启进程", true, true);
} catch (Exception e) {
e = e;
sb = new StringBuilder();
str2 = "设置版本号失败:";
sb.append(str2);
sb.append(e.getMessage());
sb2 = sb.toString();
z2 = true;
b(sb2, z2);
}
case 5:
p.a(true);
break;
case 6:
try {
a("版本号回滚到:" + p.a(XWalkEnvironment.getApplicationContext(), Integer.parseInt(parse.getQueryParameter("revert_to_apk"))) + " 点击空白处退出重启进程", true, true);
} catch (Exception e2) {
e = e2;
sb = new StringBuilder();
str2 = "版本号回滚到失败:";
sb.append(str2);
sb.append(e.getMessage());
sb2 = sb.toString();
z2 = true;
b(sb2, z2);
}
case 7:
String queryParameter2 = parse.getQueryParameter("set_config_peroid");
try {
com.tencent.xweb.a.a(Integer.parseInt(queryParameter2));
a("设置配置拉取周期为:" + queryParameter2 + "分钟", true, false);
} catch (Exception e3) {
e = e3;
sb = new StringBuilder();
str2 = "设置配置拉取周期失败:";
sb.append(str2);
sb.append(e.getMessage());
sb2 = sb.toString();
z2 = true;
b(sb2, z2);
}
case '\b':
com.tencent.xweb.internal.l.a(WebView.c.WV_KIND_CW).excute("STR_CMD_SET_RECHECK_COMMAND", null);
a("重新跑了一遍命令配置 点击空白处退出重启进程", true, true);
break;
case '\t':
try {
str5 = parse.getQueryParameter("set_force_filereader");
} catch (Exception unused) {
}
String str6 = str5;
String[] split = str6.split("_");
if (str6.length() < 2) {
str3 = "强制设置文件预览方式失败,参数错误";
b(str3, true);
break;
} else {
String str7 = split[split.length - 1];
if ("xweb".equalsIgnoreCase(str7)) {
aVar = f.a.XWEB;
} else if ("x5".equalsIgnoreCase(str7)) {
aVar = f.a.X5;
} else if (BuildConfig.JACOCO_INSTRUMENT_TYPE.equalsIgnoreCase(str7)) {
aVar = f.a.NONE;
} else {
z2 = true;
sb2 = "强制设置文件预览方式失败,类型错误";
b(sb2, z2);
}
if (split.length == 2 && "all".equalsIgnoreCase(split[0])) {
strArr2 = com.tencent.xweb.f.f82248a;
} else {
String[] strArr3 = new String[split.length - 1];
int i = 0;
for (int i2 = 1; i < split.length - i2; i2 = 1) {
strArr3[i] = split[i];
i++;
}
strArr2 = strArr3;
}
String a2 = v.a().a(strArr2, aVar);
if (a2.isEmpty()) {
z2 = true;
sb2 = "强制设置文件预览方式失败";
b(sb2, z2);
} else {
sb3 = new StringBuilder();
sb3.append("格式:");
sb3.append(a2);
sb3.append("强制使用");
sb3.append(aVar.name());
bVar2 = "打开";
sb3.append(bVar2);
sb2 = sb3.toString();
z2 = true;
b(sb2, z2);
}
}
break;
case '\n':
try {
str5 = parse.getQueryParameter("set_force_use_office_reader");
} catch (Exception unused2) {
}
String str8 = str5;
String[] split2 = str8.split("_");
if (str8.length() < 2) {
str3 = "强制设置OfficeReader失败,参数错误";
b(str3, true);
break;
} else {
String str9 = split2[split2.length - 1];
if ("yes".equalsIgnoreCase(str9)) {
bVar = f.b.yes;
} else if ("no".equalsIgnoreCase(str9)) {
bVar = f.b.no;
} else if (BuildConfig.JACOCO_INSTRUMENT_TYPE.equalsIgnoreCase(str9)) {
bVar = f.b.none;
} else {
z2 = true;
sb2 = "强制设置OfficeReader失败,类型错误";
b(sb2, z2);
}
if (split2.length == 2 && "all".equalsIgnoreCase(split2[0])) {
strArr = new String[]{"doc", "docx", "xls", "xlsx", "ppt", "pptx"};
} else {
String[] strArr4 = new String[split2.length - 1];
int i3 = 0;
for (int i4 = 1; i3 < split2.length - i4; i4 = 1) {
strArr4[i3] = split2[i3];
i3++;
}
strArr = strArr4;
}
String a3 = v.a().a(strArr, bVar);
if (a3.isEmpty()) {
z2 = true;
sb2 = "强制设置OfficeReader失败";
b(sb2, z2);
} else {
sb3 = new StringBuilder();
sb3.append("格式:");
sb3.append(a3);
sb3.append("强制OfficeReader状态:");
bVar2 = bVar.toString();
sb3.append(bVar2);
sb2 = sb3.toString();
z2 = true;
b(sb2, z2);
}
}
break;
case 11:
n();
break;
}
}
}
return true;
}
public void d(String str) {
String[] f;
com.tencent.luggage.wxa.ub.h hVar = new com.tencent.luggage.wxa.ub.h(str);
if (hVar.b() && (f = hVar.f()) != null) {
for (String str2 : f) {
d(str + "//" + str2);
}
}
hVar.e();
}
public void g() {
if (v.a().h() && this.e == null) {
this.e = new Button(b());
this.e.setText("保存页面");
this.e.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
EventCollector.getInstance().onViewClickedBefore(view);
new AlertDialog.Builder(d.this.b()).setTitle("保存页面").setMessage("确定保存页面?").setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
d.this.o();
}
}).setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
}).show();
EventCollector.getInstance().onViewClicked(view);
}
});
this.h.getTopView().addView(this.e);
}
}
private void h() {
if (this.f82387d != null) {
return;
}
ScrollView scrollView = new ScrollView(b());
this.f82387d = new TextView(b());
this.f82387d.setTextColor(-16777216);
this.f82387d.setBackgroundColor(-1);
scrollView.addView(this.f82387d);
this.f82387d.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
EventCollector.getInstance().onViewClickedBefore(view);
d.this.i();
EventCollector.getInstance().onViewClicked(view);
}
});
i();
this.h.getTopView().addView(scrollView);
}
public void i() {
String str;
String str2;
if (this.f82387d == null) {
return;
}
String xWalkUpdateConfigUrl = XWalkEnvironment.getXWalkUpdateConfigUrl();
String str3 = "\n\n" + this.h.getAbstractInfo();
if (WebView.getCurWebType() != WebView.c.WV_KIND_CW) {
str3 = str3 + "\n xwebsdk is = 20210601 apk ver is " + XWalkEnvironment.getAvailableVersion() + " des " + XWalkEnvironment.getAvailableVersionDetail();
}
String str4 = (str3 + "\n\n current js engine: = " + JsRuntime.a() + "\n prefered js engine = " + JsRuntime.a(JsRuntime.JsRuntimeType.RT_TYPE_AUTO, "appbrand", b()) + "\n local gray value = " + XWalkEnvironment.getGrayValue() + "\n local gray device rd value = " + XWalkEnvironment.getDeviceRd() + "\n today gray value = " + XWalkEnvironment.getTodayGrayValue() + "\n config url = " + xWalkUpdateConfigUrl + "\n config period(minutes) = " + (com.tencent.luggage.wxa.ue.c.p() / DateUtils.ONE_MINUTE) + "\n\n apilevel = " + Build.VERSION.SDK_INT + "\n apilevel = " + (XWalkEnvironment.getApplicationContext().getApplicationInfo() != null ? XWalkEnvironment.getApplicationContext().getApplicationInfo().targetSdkVersion : 0) + "\n sys webversion = " + XWalkEnvironment.safeGetChromiunVersion() + "\n device is " + Build.BRAND + " " + MethodDelegate.getModel() + "\n usertype is " + XWalkEnvironment.getUserType() + "\n runtime abi is " + XWalkEnvironment.getRuntimeAbi() + "\n device abi is " + XWalkEnvironment.getDeviceAbi() + "\n installed ver for arm32 is " + XWalkEnvironment.getInstalledNewstVersion(XWalkEnvironment.RUNTIME_ABI_ARM32_STR) + "\n installed ver for arm64 is " + XWalkEnvironment.getInstalledNewstVersion(XWalkEnvironment.RUNTIME_ABI_ARM64_STR) + "\n should embed = false\n embed lib md5 match = true\n embed config ver = 0/0\n embed try installed ver = " + XWalkUpdater.b(XWalkEnvironment.getRuntimeAbi()) + "\n current useragent: " + this.h.getSettings().a() + "\n current clientversion: 0x" + Integer.toHexString(XWalkEnvironment.getAppClientVersion()) + "\n current app infos dump : " + XWalkEnvironment.dumpAppInfo()) + "\n\n ------dump module prefer webview core start:------\n";
try {
str = ((((str4 + a(this.g, WebView.c.WV_KIND_X5, "tools") + "\n") + a(this.g, WebView.c.WV_KIND_CW, "toolsmp") + "\n") + a(this.g, WebView.c.WV_KIND_NONE, "mm") + "\n") + a(this.g, WebView.c.WV_KIND_CW, "appbrand") + "\n") + a(this.g, WebView.c.WV_KIND_CW, "support") + "\n";
} catch (Exception e) {
str = str4 + e.getMessage() + "\n";
}
String str5 = ((str + "------dump module prefer webview core end------") + "\n" + com.tencent.luggage.wxa.ue.k.z().f()) + "\n" + com.tencent.luggage.wxa.ue.j.y().f();
for (com.tencent.luggage.wxa.ud.g gVar : com.tencent.luggage.wxa.ud.h.b()) {
if (gVar != null) {
str5 = str5 + "\n" + com.tencent.luggage.wxa.ud.a.a(gVar.a()).f();
}
}
String str6 = (str5 + "\n current update match gap backward(update speed) is " + com.tencent.luggage.wxa.ue.c.a(com.tencent.luggage.wxa.ue.c.b(false).d(false))) + "\n current update match gap forward(提前更新) is " + com.tencent.luggage.wxa.ue.c.a(com.tencent.luggage.wxa.ue.c.b(false).d(true));
StringBuilder sb = new StringBuilder();
sb.append(str6);
sb.append("\n plugin current update match gap backward(update speed) is ");
String str7 = "";
sb.append(com.tencent.luggage.wxa.ue.c.a(new a.C0769a("").d(false)));
String str8 = sb.toString() + "\n plugin current update match gap forward(提前更新) is " + com.tencent.luggage.wxa.ue.c.a(new a.C0769a("").d(true));
String g = com.tencent.xweb.a.g();
if (g != null && !g.isEmpty()) {
str8 = str8 + "\n\n ------dump commands start:------\n" + g + "\n ------dump commands end------";
}
StringBuilder sb2 = new StringBuilder();
sb2.append("\n\n ------plugin info start:------");
sb2.append("\n plugin config url = ");
sb2.append(XWalkEnvironment.getPluginConfigUrl());
sb2.append("\n plugin config period(minutes) = ");
sb2.append(XWalkEnvironment.getPluginUpdatePeriod() / Task.MAX_TRYING_TIME);
sb2.append("\n\n plugin version:");
for (com.tencent.luggage.wxa.ud.g gVar2 : com.tencent.luggage.wxa.ud.h.b()) {
if (gVar2 != null) {
sb2.append("\n ");
sb2.append(gVar2.a());
sb2.append(" = ");
sb2.append(gVar2.a(true));
}
}
sb2.append("\n\n plugin commands:");
String n = com.tencent.xweb.b.n();
if (n == null || n.isEmpty()) {
n = "\n null\n";
} else {
sb2.append("\n");
}
sb2.append(n);
sb2.append("\n xfiles setting:");
if (v.a() != null) {
sb2.append("\n disable cache = ");
sb2.append(v.a().j());
sb2.append("\n disable crash detect = ");
sb2.append(v.a().k());
}
sb2.append(m());
sb2.append("\n\n ------plugin info end:------");
String str9 = str8 + sb2.toString();
try {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if (com.tencent.luggage.wxa.ue.c.b(false).h()) {
String format = simpleDateFormat.format(new Date(com.tencent.luggage.wxa.ue.c.b(false).r().k));
str7 = (((((((((("going to update to apk ver = " + com.tencent.luggage.wxa.ue.c.b(false).r().l) + "\n update time is = " + format) + "\n is patch update = " + com.tencent.luggage.wxa.ue.c.b(false).r().f) + "\n can use cellular = " + com.tencent.luggage.wxa.ue.c.b(false).r().q) + "\n updateHourStart = " + com.tencent.luggage.wxa.ue.c.b(false).r().v) + "\n updateHourEnd = " + com.tencent.luggage.wxa.ue.c.b(false).r().w) + "\n versionId = " + com.tencent.luggage.wxa.ue.c.b(false).r().u) + "\n update time is = " + format) + "\n try count = " + com.tencent.luggage.wxa.ue.c.b(false).r().o) + "\n try use shared core count = " + com.tencent.luggage.wxa.ue.c.b(false).r().p) + "\n";
}
str7 = str7 + " last fetch config time = " + simpleDateFormat.format(new Date(com.tencent.luggage.wxa.ue.c.b(false).r().f27031b));
str2 = str7 + " last fetch config abi = " + com.tencent.luggage.wxa.ue.c.b(false).r().f27032c;
} catch (Exception unused) {
str2 = str7;
}
if (str2 != null && !str2.isEmpty()) {
str9 = str9 + "\n\n ------dump schedule updateInfo start:------\n" + str2 + "\n ------dump schedule updateInfo end------";
}
String xWalkInitializeLog = XWalkEnvironment.getXWalkInitializeLog();
if (xWalkInitializeLog != null && !xWalkInitializeLog.isEmpty()) {
str9 = str9 + "\n\n ------dump xweb log------\n" + xWalkInitializeLog;
}
this.f82387d.setText(str9);
}
public void j() {
if ((v.a().g() || (v.a().i() && this.h.getWebCoreType() == WebView.c.WV_KIND_X5)) && this.f82386c == null) {
this.f82386c = new TextView(b());
this.f82386c.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
EventCollector.getInstance().onViewLongClickedBefore(view);
d.this.k();
EventCollector.getInstance().onViewLongClicked(view);
return true;
}
});
c(false);
this.h.getTopView().addView(this.f82386c);
}
}
public boolean k() {
View view;
int i;
final Button button;
StringBuilder sb;
String str;
b(this.h);
View view2 = this.j;
if (view2 != null) {
view2.setVisibility(0);
return true;
}
this.j = ((LayoutInflater) b().getSystemService("layout_inflater")).inflate(R.layout.e4, this.h.getTopView(), true).findViewById(R.id.view_root);
((Button) this.j.findViewById(R.id.button_close_menu)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.this.j.setVisibility(8);
EventCollector.getInstance().onViewClicked(view3);
}
});
final CheckBox checkBox = (CheckBox) this.j.findViewById(R.id.checked_show_version);
checkBox.setChecked(v.a().g());
checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean z) {
TextView textView;
int i2;
v.a().e(z);
d dVar = d.this;
if (!z) {
if (dVar.f82386c != null) {
textView = d.this.f82386c;
i2 = 8;
}
EventCollector.getInstance().onCheckedChanged(compoundButton, z);
}
dVar.j();
textView = d.this.f82386c;
i2 = 0;
textView.setVisibility(i2);
EventCollector.getInstance().onCheckedChanged(compoundButton, z);
}
});
((TextView) this.j.findViewById(R.id.check_text)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
checkBox.setChecked(!r0.isChecked());
EventCollector.getInstance().onViewClicked(view3);
}
});
final EditText editText = (EditText) this.j.findViewById(R.id.txtin_grayvalue);
if (editText != null) {
editText.setInputType(2);
editText.setText("" + XWalkEnvironment.getGrayValue());
editText.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable editable) {
int i2;
try {
i2 = Integer.parseInt(editText.getText().toString());
} catch (Exception unused) {
i2 = 0;
}
XWalkEnvironment.setGrayValueForTest(i2);
}
@Override
public void beforeTextChanged(CharSequence charSequence, int i2, int i3, int i4) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i2, int i3, int i4) {
}
});
}
((Spinner) this.j.findViewById(R.id.selector_webviewmodule)).setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view3, int i2, long j) {
String[] stringArray = d.this.b().getResources().getStringArray(R.array.ay);
d dVar = d.this;
dVar.f = stringArray[i2];
dVar.c();
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
((RadioGroup) this.j.findViewById(R.id.web_select)).setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i2) {
if (!d.this.k) {
WebView.c cVar = WebView.c.WV_KIND_NONE;
if (i2 == R.id.WV_AUTO) {
cVar = WebView.c.WV_KIND_NONE;
} else if (i2 == R.id.WV_XWALK) {
cVar = WebView.c.WV_KIND_CW;
} else if (i2 == R.id.WV_X5) {
cVar = WebView.c.WV_KIND_X5;
} else if (i2 == R.id.WV_SYS) {
cVar = WebView.c.WV_KIND_SYS;
}
if (d.this.f.equals("all")) {
String[] stringArray = d.this.b().getResources().getStringArray(R.array.ax);
for (int i3 = 0; i3 < stringArray.length; i3++) {
v.a().a(stringArray[i3], cVar);
Log.d("WebDebugPage", "webview " + stringArray[i3] + " change to=" + cVar);
}
} else {
v.a().a(d.this.f, cVar);
Log.d("WebDebugPage", "webview change to=" + cVar);
}
}
EventCollector.getInstance().onCheckedChanged(radioGroup, i2);
}
});
int i2 = AnonymousClass51.f82465b[v.a().l().ordinal()];
if (i2 == 1) {
view = this.j;
i = R.id.v8_auto;
} else if (i2 == 2) {
view = this.j;
i = R.id.v8_sys;
} else if (i2 == 3) {
view = this.j;
i = R.id.v8_x5;
} else {
if (i2 != 4) {
if (i2 == 5) {
view = this.j;
i = R.id.v8_mmv8;
}
((RadioGroup) this.j.findViewById(R.id.v8_select)).setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i3) {
JsRuntime.JsRuntimeType jsRuntimeType = JsRuntime.JsRuntimeType.RT_TYPE_AUTO;
if (i3 == R.id.v8_auto) {
jsRuntimeType = JsRuntime.JsRuntimeType.RT_TYPE_AUTO;
} else if (i3 == R.id.v8_sys) {
jsRuntimeType = JsRuntime.JsRuntimeType.RT_TYPE_SYS;
} else if (i3 == R.id.v8_x5) {
jsRuntimeType = JsRuntime.JsRuntimeType.RT_TYPE_X5;
} else if (i3 == R.id.v8_nativescript) {
jsRuntimeType = JsRuntime.JsRuntimeType.RT_TYPE_NATIVE_SCRIPT;
} else if (i3 == R.id.v8_mmv8) {
jsRuntimeType = JsRuntime.JsRuntimeType.RT_TYPE_MMV8;
}
v.a().a(jsRuntimeType);
Log.d("WebDebugPage", "v8 type change to=" + jsRuntimeType);
EventCollector.getInstance().onCheckedChanged(radioGroup, i3);
}
});
((Button) this.j.findViewById(R.id.button_kill)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.this.j.setVisibility(8);
d.this.e();
EventCollector.getInstance().onViewClicked(view3);
}
});
final Button button2 = (Button) this.j.findViewById(R.id.btn_debug);
a(v.a().e(), button2, false);
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
boolean z = !v.a().e();
v.a().c(z);
d.this.a(z, button2, true);
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_clear)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
XWalkEnvironment.clearAllVersion(d.this.b());
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_refreshLog)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
((TextView) d.this.j.findViewById(R.id.txtVersion)).setText(d.this.a(true) + "\n" + XWalkInitializer.getXWalkInitializeLog());
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_loadLocalApk)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.this.b(true);
EventCollector.getInstance().onViewClicked(view3);
}
});
button = (Button) this.j.findViewById(R.id.button_darkMode);
if (this.h.isXWalkKernel() || !XWalkEnvironment.isCurrentVersionSupportForceDarkMode()) {
button.setVisibility(8);
} else {
button.setVisibility(0);
}
a(button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.this.b(button);
EventCollector.getInstance().onViewClicked(view3);
}
});
final Button button3 = (Button) this.j.findViewById(R.id.button_config);
String xWalkUpdateConfigUrl = XWalkEnvironment.getXWalkUpdateConfigUrl();
String str2 = "(当前为" + xWalkUpdateConfigUrl.substring(xWalkUpdateConfigUrl.lastIndexOf(47) + 1) + ")";
if (v.a().m()) {
sb = new StringBuilder();
str = "使用测试config";
} else {
sb = new StringBuilder();
str = "使用正式版config";
}
sb.append(str);
sb.append(str2);
button3.setText(sb.toString());
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
StringBuilder sb2;
String str3;
EventCollector.getInstance().onViewClickedBefore(view3);
v.a().j(!v.a().m());
String xWalkUpdateConfigUrl2 = XWalkEnvironment.getXWalkUpdateConfigUrl();
String str4 = "(当前为" + xWalkUpdateConfigUrl2.substring(xWalkUpdateConfigUrl2.lastIndexOf(47) + 1) + ")";
Button button4 = button3;
if (v.a().m()) {
sb2 = new StringBuilder();
str3 = "使用正式版config";
} else {
sb2 = new StringBuilder();
str3 = "使用测试config";
}
sb2.append(str3);
sb2.append(str4);
button4.setText(sb2.toString());
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_update)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.this.d();
EventCollector.getInstance().onViewClicked(view3);
}
});
final LinearLayout linearLayout = (LinearLayout) this.j.findViewById(R.id.plugin_menu);
linearLayout.setVisibility(8);
Button button4 = (Button) this.j.findViewById(R.id.button_plugin_menu);
button4.setText("插件设置");
button4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
Button button5;
String str3;
EventCollector.getInstance().onViewClickedBefore(view3);
if (linearLayout.getVisibility() == 8) {
linearLayout.setVisibility(0);
button5 = (Button) view3;
str3 = "隐藏插件设置";
} else {
linearLayout.setVisibility(8);
button5 = (Button) view3;
str3 = "插件设置";
}
button5.setText(str3);
EventCollector.getInstance().onViewClicked(view3);
}
});
final Button button5 = (Button) this.j.findViewById(R.id.button_plugin_config);
String pluginTestConfigUrl = XWalkEnvironment.getPluginTestConfigUrl();
button5.setText((pluginTestConfigUrl != null || pluginTestConfigUrl.isEmpty()) ? "切换插件配置,当前使用正式版" : pluginTestConfigUrl.equalsIgnoreCase(XWalkEnvironment.DOWNLOAD_PLUGIN_UPDATE_TEST_CONFIG_DEFAULT_URL) ? "切换插件配置,当前使用默认测试版" : "切换插件配置, 当前使用自定义测试版");
button5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
Button button6;
String str3;
EventCollector.getInstance().onViewClickedBefore(view3);
String pluginTestConfigUrl2 = XWalkEnvironment.getPluginTestConfigUrl();
if (pluginTestConfigUrl2 == null || pluginTestConfigUrl2.isEmpty()) {
if (XWalkEnvironment.setPluginTestConfigUrl(XWalkEnvironment.DOWNLOAD_PLUGIN_UPDATE_TEST_CONFIG_DEFAULT_URL)) {
button6 = button5;
str3 = "切换插件配置,当前使用默认测试版";
button6.setText(str3);
}
d.this.b("切换失败", true);
} else {
if (XWalkEnvironment.setPluginTestConfigUrl("")) {
button6 = button5;
str3 = "切换插件配置,当前使用正式版";
button6.setText(str3);
}
d.this.b("切换失败", true);
}
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_update_all_plugin)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.a(d.this.b());
Toast.makeText(d.this.b(), "开始检测插件更新", 0).show();
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_clear_all_plugin)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.this.n();
EventCollector.getInstance().onViewClicked(view3);
}
});
((Spinner) this.j.findViewById(R.id.spinner_select_plugin)).setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view3, int i3, long j) {
String[] stringArray = d.this.b().getResources().getStringArray(R.array.a8);
d.this.i = stringArray[i3];
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
((Button) this.j.findViewById(R.id.button_load_local_plugin)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.a(d.this.b(), d.this.i, false, false, new ValueCallback<Boolean>() {
@Override
public void onReceiveValue(Boolean bool) {
if (bool.booleanValue()) {
d.this.c(d.this.i);
}
}
});
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_load_local_plugin_64)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.a(d.this.b(), d.this.i, false, true, new ValueCallback<Boolean>() {
@Override
public void onReceiveValue(Boolean bool) {
if (bool.booleanValue()) {
d.this.c(d.this.i);
}
}
});
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_update_plugin)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.a(d.this.b(), d.this.i, (f.a) null, false, (ValueCallback<Integer>) null);
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_clear_plugin)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
int a2;
EventCollector.getInstance().onViewClickedBefore(view3);
com.tencent.luggage.wxa.ud.g a3 = com.tencent.luggage.wxa.ud.h.a(d.this.i);
if (a3 != null && (a2 = a3.a(true)) >= 0) {
String b2 = a3.b(a2);
a3.b(-1, true);
if (b2 != null && !b2.isEmpty()) {
com.tencent.xweb.util.c.b(b2);
}
Toast.makeText(d.this.b(), "清理完成", 0).show();
}
EventCollector.getInstance().onViewClicked(view3);
}
});
CheckBox checkBox2 = (CheckBox) this.j.findViewById(R.id.checked_disable_filereader_cache);
checkBox2.setChecked(v.a().j());
checkBox2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean z) {
v.a().h(z);
EventCollector.getInstance().onCheckedChanged(compoundButton, z);
}
});
CheckBox checkBox3 = (CheckBox) this.j.findViewById(R.id.checked_disable_filereader_crash_detect);
checkBox3.setChecked(v.a().k());
checkBox3.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean z) {
v.a().i(z);
EventCollector.getInstance().onCheckedChanged(compoundButton, z);
}
});
((TextView) this.j.findViewById(R.id.text_filereader_type)).setText(m());
final EditText editText2 = (EditText) this.j.findViewById(R.id.edit_text_filereader_format);
((Button) this.j.findViewById(R.id.button_filereader_force_xweb)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.this.a(editText2.getText().toString(), f.a.XWEB);
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_filereader_force_x5)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.this.a(editText2.getText().toString(), f.a.X5);
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_filereader_force_none)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.this.a(editText2.getText().toString(), f.a.NONE);
EventCollector.getInstance().onViewClicked(view3);
}
});
final EditText editText3 = (EditText) this.j.findViewById(R.id.edit_text_use_office_reader_format);
((Button) this.j.findViewById(R.id.button_use_office_reader_force_yes)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.this.a(editText3.getText().toString(), f.b.yes);
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_use_office_reader_force_no)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.this.a(editText3.getText().toString(), f.b.no);
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_use_office_reader_force_none)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.this.a(editText3.getText().toString(), f.b.none);
EventCollector.getInstance().onViewClicked(view3);
}
});
((TextView) this.j.findViewById(R.id.txtVersion)).setText(a(true) + "\n" + XWalkInitializer.getXWalkInitializeLog());
((LinearLayout) this.j.findViewById(R.id.config_memu)).setVisibility(8);
((Button) this.j.findViewById(R.id.button_change_to_xweb)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
v.a().a("tools", WebView.c.WV_KIND_CW);
v.a().a("toolsmp", WebView.c.WV_KIND_CW);
v.a().a("appbrand", WebView.c.WV_KIND_CW);
v.a().a("support", WebView.c.WV_KIND_CW);
v.a().a("mm", WebView.c.WV_KIND_CW);
if (XWalkEnvironment.hasInstalledAvailableVersion()) {
d.this.a("已使用XWeb,点任意位置重启进程生效\n", true, true);
} else {
d.this.a("http://debugxweb.qq.com/?check_xwalk_update");
}
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_change_to_x5)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
v.a().a("tools", WebView.c.WV_KIND_X5);
v.a().a("toolsmp", WebView.c.WV_KIND_X5);
v.a().a("appbrand", WebView.c.WV_KIND_X5);
v.a().a("support", WebView.c.WV_KIND_X5);
v.a().a("mm", WebView.c.WV_KIND_X5);
if (WebView.getInstalledTbsCoreVersion(d.this.b()) <= 0) {
d.this.b("已切换x5,但是x5未ready,点任意位置重启进程生效\n", true);
} else {
d.this.a("已使用x5,点任意位置重启进程生效\n", true, true);
}
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_change_to_sys)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
v.a().a("tools", WebView.c.WV_KIND_SYS);
v.a().a("toolsmp", WebView.c.WV_KIND_SYS);
v.a().a("appbrand", WebView.c.WV_KIND_SYS);
v.a().a("support", WebView.c.WV_KIND_SYS);
v.a().a("mm", WebView.c.WV_KIND_SYS);
d.this.a("已使用system,点任意位置重启进程生效\n", true, true);
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_change_to_auto)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
XWalkEnvironment.setGrayValueForTest(0);
XWalkEnvironment.setTestDownLoadUrl(d.this.g, "");
v.a().a("tools", WebView.c.WV_KIND_NONE);
v.a().a("toolsmp", WebView.c.WV_KIND_NONE);
v.a().a("appbrand", WebView.c.WV_KIND_NONE);
v.a().a("support", WebView.c.WV_KIND_NONE);
v.a().a("mm", WebView.c.WV_KIND_NONE);
d.this.a("已使用AUTO,点任意位置重启进程生效\n", true, true);
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_advanced)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
Button button6;
String str3;
EventCollector.getInstance().onViewClickedBefore(view3);
LinearLayout linearLayout2 = (LinearLayout) d.this.j.findViewById(R.id.config_memu);
if (linearLayout2.getVisibility() == 8) {
linearLayout2.setVisibility(0);
button6 = (Button) view3;
str3 = "隐藏高级设置";
} else {
linearLayout2.setVisibility(8);
button6 = (Button) view3;
str3 = "高级设置";
}
button6.setText(str3);
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_savePage)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
Button button6;
int i3;
EventCollector.getInstance().onViewClickedBefore(view3);
boolean z = !v.a().h();
v.a().g(z);
if (!z) {
if (d.this.e != null) {
button6 = d.this.e;
i3 = 8;
}
EventCollector.getInstance().onViewClicked(view3);
}
d.this.g();
button6 = d.this.e;
i3 = 0;
button6.setVisibility(i3);
EventCollector.getInstance().onViewClicked(view3);
}
});
Button button6 = (Button) this.j.findViewById(R.id.button_loadSavedPage);
button6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.this.f();
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_showFps)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
boolean z = !v.a().f();
v.a().d(z);
d.b(d.this.h);
d.this.a(z ? "打开显示fps" : "关闭显示fps", true, false);
EventCollector.getInstance().onViewClicked(view3);
}
});
button6.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view3) {
EventCollector.getInstance().onViewLongClickedBefore(view3);
new AlertDialog.Builder(d.this.b()).setTitle("提示").setMessage("清空保存页面文件").setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i3) {
d.this.d(Environment.getExternalStorageDirectory() + "/xweb_dump");
}
}).setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i3) {
}
}).show();
EventCollector.getInstance().onViewLongClicked(view3);
return false;
}
});
((Button) this.j.findViewById(R.id.button_long_screenshot)).setOnClickListener(this.p);
return true;
}
view = this.j;
i = R.id.v8_nativescript;
}
((RadioButton) view.findViewById(i)).setChecked(true);
((RadioGroup) this.j.findViewById(R.id.v8_select)).setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i3) {
JsRuntime.JsRuntimeType jsRuntimeType = JsRuntime.JsRuntimeType.RT_TYPE_AUTO;
if (i3 == R.id.v8_auto) {
jsRuntimeType = JsRuntime.JsRuntimeType.RT_TYPE_AUTO;
} else if (i3 == R.id.v8_sys) {
jsRuntimeType = JsRuntime.JsRuntimeType.RT_TYPE_SYS;
} else if (i3 == R.id.v8_x5) {
jsRuntimeType = JsRuntime.JsRuntimeType.RT_TYPE_X5;
} else if (i3 == R.id.v8_nativescript) {
jsRuntimeType = JsRuntime.JsRuntimeType.RT_TYPE_NATIVE_SCRIPT;
} else if (i3 == R.id.v8_mmv8) {
jsRuntimeType = JsRuntime.JsRuntimeType.RT_TYPE_MMV8;
}
v.a().a(jsRuntimeType);
Log.d("WebDebugPage", "v8 type change to=" + jsRuntimeType);
EventCollector.getInstance().onCheckedChanged(radioGroup, i3);
}
});
((Button) this.j.findViewById(R.id.button_kill)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.this.j.setVisibility(8);
d.this.e();
EventCollector.getInstance().onViewClicked(view3);
}
});
final Button button22 = (Button) this.j.findViewById(R.id.btn_debug);
a(v.a().e(), button22, false);
button22.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
boolean z = !v.a().e();
v.a().c(z);
d.this.a(z, button22, true);
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_clear)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
XWalkEnvironment.clearAllVersion(d.this.b());
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_refreshLog)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
((TextView) d.this.j.findViewById(R.id.txtVersion)).setText(d.this.a(true) + "\n" + XWalkInitializer.getXWalkInitializeLog());
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_loadLocalApk)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.this.b(true);
EventCollector.getInstance().onViewClicked(view3);
}
});
button = (Button) this.j.findViewById(R.id.button_darkMode);
if (this.h.isXWalkKernel()) {
}
button.setVisibility(8);
a(button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.this.b(button);
EventCollector.getInstance().onViewClicked(view3);
}
});
final Button button32 = (Button) this.j.findViewById(R.id.button_config);
String xWalkUpdateConfigUrl2 = XWalkEnvironment.getXWalkUpdateConfigUrl();
String str22 = "(当前为" + xWalkUpdateConfigUrl2.substring(xWalkUpdateConfigUrl2.lastIndexOf(47) + 1) + ")";
if (v.a().m()) {
}
sb.append(str);
sb.append(str22);
button32.setText(sb.toString());
button32.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
StringBuilder sb2;
String str3;
EventCollector.getInstance().onViewClickedBefore(view3);
v.a().j(!v.a().m());
String xWalkUpdateConfigUrl22 = XWalkEnvironment.getXWalkUpdateConfigUrl();
String str4 = "(当前为" + xWalkUpdateConfigUrl22.substring(xWalkUpdateConfigUrl22.lastIndexOf(47) + 1) + ")";
Button button42 = button32;
if (v.a().m()) {
sb2 = new StringBuilder();
str3 = "使用正式版config";
} else {
sb2 = new StringBuilder();
str3 = "使用测试config";
}
sb2.append(str3);
sb2.append(str4);
button42.setText(sb2.toString());
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_update)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.this.d();
EventCollector.getInstance().onViewClicked(view3);
}
});
final LinearLayout linearLayout2 = (LinearLayout) this.j.findViewById(R.id.plugin_menu);
linearLayout2.setVisibility(8);
Button button42 = (Button) this.j.findViewById(R.id.button_plugin_menu);
button42.setText("插件设置");
button42.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
Button button52;
String str3;
EventCollector.getInstance().onViewClickedBefore(view3);
if (linearLayout2.getVisibility() == 8) {
linearLayout2.setVisibility(0);
button52 = (Button) view3;
str3 = "隐藏插件设置";
} else {
linearLayout2.setVisibility(8);
button52 = (Button) view3;
str3 = "插件设置";
}
button52.setText(str3);
EventCollector.getInstance().onViewClicked(view3);
}
});
final Button button52 = (Button) this.j.findViewById(R.id.button_plugin_config);
String pluginTestConfigUrl2 = XWalkEnvironment.getPluginTestConfigUrl();
button52.setText((pluginTestConfigUrl2 != null || pluginTestConfigUrl2.isEmpty()) ? "切换插件配置,当前使用正式版" : pluginTestConfigUrl2.equalsIgnoreCase(XWalkEnvironment.DOWNLOAD_PLUGIN_UPDATE_TEST_CONFIG_DEFAULT_URL) ? "切换插件配置,当前使用默认测试版" : "切换插件配置, 当前使用自定义测试版");
button52.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
Button button62;
String str3;
EventCollector.getInstance().onViewClickedBefore(view3);
String pluginTestConfigUrl22 = XWalkEnvironment.getPluginTestConfigUrl();
if (pluginTestConfigUrl22 == null || pluginTestConfigUrl22.isEmpty()) {
if (XWalkEnvironment.setPluginTestConfigUrl(XWalkEnvironment.DOWNLOAD_PLUGIN_UPDATE_TEST_CONFIG_DEFAULT_URL)) {
button62 = button52;
str3 = "切换插件配置,当前使用默认测试版";
button62.setText(str3);
}
d.this.b("切换失败", true);
} else {
if (XWalkEnvironment.setPluginTestConfigUrl("")) {
button62 = button52;
str3 = "切换插件配置,当前使用正式版";
button62.setText(str3);
}
d.this.b("切换失败", true);
}
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_update_all_plugin)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.a(d.this.b());
Toast.makeText(d.this.b(), "开始检测插件更新", 0).show();
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_clear_all_plugin)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.this.n();
EventCollector.getInstance().onViewClicked(view3);
}
});
((Spinner) this.j.findViewById(R.id.spinner_select_plugin)).setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view3, int i3, long j) {
String[] stringArray = d.this.b().getResources().getStringArray(R.array.a8);
d.this.i = stringArray[i3];
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
((Button) this.j.findViewById(R.id.button_load_local_plugin)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.a(d.this.b(), d.this.i, false, false, new ValueCallback<Boolean>() {
@Override
public void onReceiveValue(Boolean bool) {
if (bool.booleanValue()) {
d.this.c(d.this.i);
}
}
});
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_load_local_plugin_64)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.a(d.this.b(), d.this.i, false, true, new ValueCallback<Boolean>() {
@Override
public void onReceiveValue(Boolean bool) {
if (bool.booleanValue()) {
d.this.c(d.this.i);
}
}
});
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_update_plugin)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.a(d.this.b(), d.this.i, (f.a) null, false, (ValueCallback<Integer>) null);
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_clear_plugin)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
int a2;
EventCollector.getInstance().onViewClickedBefore(view3);
com.tencent.luggage.wxa.ud.g a3 = com.tencent.luggage.wxa.ud.h.a(d.this.i);
if (a3 != null && (a2 = a3.a(true)) >= 0) {
String b2 = a3.b(a2);
a3.b(-1, true);
if (b2 != null && !b2.isEmpty()) {
com.tencent.xweb.util.c.b(b2);
}
Toast.makeText(d.this.b(), "清理完成", 0).show();
}
EventCollector.getInstance().onViewClicked(view3);
}
});
CheckBox checkBox22 = (CheckBox) this.j.findViewById(R.id.checked_disable_filereader_cache);
checkBox22.setChecked(v.a().j());
checkBox22.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean z) {
v.a().h(z);
EventCollector.getInstance().onCheckedChanged(compoundButton, z);
}
});
CheckBox checkBox32 = (CheckBox) this.j.findViewById(R.id.checked_disable_filereader_crash_detect);
checkBox32.setChecked(v.a().k());
checkBox32.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean z) {
v.a().i(z);
EventCollector.getInstance().onCheckedChanged(compoundButton, z);
}
});
((TextView) this.j.findViewById(R.id.text_filereader_type)).setText(m());
final EditText editText22 = (EditText) this.j.findViewById(R.id.edit_text_filereader_format);
((Button) this.j.findViewById(R.id.button_filereader_force_xweb)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.this.a(editText22.getText().toString(), f.a.XWEB);
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_filereader_force_x5)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.this.a(editText22.getText().toString(), f.a.X5);
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_filereader_force_none)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.this.a(editText22.getText().toString(), f.a.NONE);
EventCollector.getInstance().onViewClicked(view3);
}
});
final EditText editText32 = (EditText) this.j.findViewById(R.id.edit_text_use_office_reader_format);
((Button) this.j.findViewById(R.id.button_use_office_reader_force_yes)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.this.a(editText32.getText().toString(), f.b.yes);
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_use_office_reader_force_no)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.this.a(editText32.getText().toString(), f.b.no);
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_use_office_reader_force_none)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.this.a(editText32.getText().toString(), f.b.none);
EventCollector.getInstance().onViewClicked(view3);
}
});
((TextView) this.j.findViewById(R.id.txtVersion)).setText(a(true) + "\n" + XWalkInitializer.getXWalkInitializeLog());
((LinearLayout) this.j.findViewById(R.id.config_memu)).setVisibility(8);
((Button) this.j.findViewById(R.id.button_change_to_xweb)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
v.a().a("tools", WebView.c.WV_KIND_CW);
v.a().a("toolsmp", WebView.c.WV_KIND_CW);
v.a().a("appbrand", WebView.c.WV_KIND_CW);
v.a().a("support", WebView.c.WV_KIND_CW);
v.a().a("mm", WebView.c.WV_KIND_CW);
if (XWalkEnvironment.hasInstalledAvailableVersion()) {
d.this.a("已使用XWeb,点任意位置重启进程生效\n", true, true);
} else {
d.this.a("http://debugxweb.qq.com/?check_xwalk_update");
}
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_change_to_x5)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
v.a().a("tools", WebView.c.WV_KIND_X5);
v.a().a("toolsmp", WebView.c.WV_KIND_X5);
v.a().a("appbrand", WebView.c.WV_KIND_X5);
v.a().a("support", WebView.c.WV_KIND_X5);
v.a().a("mm", WebView.c.WV_KIND_X5);
if (WebView.getInstalledTbsCoreVersion(d.this.b()) <= 0) {
d.this.b("已切换x5,但是x5未ready,点任意位置重启进程生效\n", true);
} else {
d.this.a("已使用x5,点任意位置重启进程生效\n", true, true);
}
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_change_to_sys)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
v.a().a("tools", WebView.c.WV_KIND_SYS);
v.a().a("toolsmp", WebView.c.WV_KIND_SYS);
v.a().a("appbrand", WebView.c.WV_KIND_SYS);
v.a().a("support", WebView.c.WV_KIND_SYS);
v.a().a("mm", WebView.c.WV_KIND_SYS);
d.this.a("已使用system,点任意位置重启进程生效\n", true, true);
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_change_to_auto)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
XWalkEnvironment.setGrayValueForTest(0);
XWalkEnvironment.setTestDownLoadUrl(d.this.g, "");
v.a().a("tools", WebView.c.WV_KIND_NONE);
v.a().a("toolsmp", WebView.c.WV_KIND_NONE);
v.a().a("appbrand", WebView.c.WV_KIND_NONE);
v.a().a("support", WebView.c.WV_KIND_NONE);
v.a().a("mm", WebView.c.WV_KIND_NONE);
d.this.a("已使用AUTO,点任意位置重启进程生效\n", true, true);
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_advanced)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
Button button62;
String str3;
EventCollector.getInstance().onViewClickedBefore(view3);
LinearLayout linearLayout22 = (LinearLayout) d.this.j.findViewById(R.id.config_memu);
if (linearLayout22.getVisibility() == 8) {
linearLayout22.setVisibility(0);
button62 = (Button) view3;
str3 = "隐藏高级设置";
} else {
linearLayout22.setVisibility(8);
button62 = (Button) view3;
str3 = "高级设置";
}
button62.setText(str3);
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_savePage)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
Button button62;
int i3;
EventCollector.getInstance().onViewClickedBefore(view3);
boolean z = !v.a().h();
v.a().g(z);
if (!z) {
if (d.this.e != null) {
button62 = d.this.e;
i3 = 8;
}
EventCollector.getInstance().onViewClicked(view3);
}
d.this.g();
button62 = d.this.e;
i3 = 0;
button62.setVisibility(i3);
EventCollector.getInstance().onViewClicked(view3);
}
});
Button button62 = (Button) this.j.findViewById(R.id.button_loadSavedPage);
button62.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
d.this.f();
EventCollector.getInstance().onViewClicked(view3);
}
});
((Button) this.j.findViewById(R.id.button_showFps)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view3) {
EventCollector.getInstance().onViewClickedBefore(view3);
boolean z = !v.a().f();
v.a().d(z);
d.b(d.this.h);
d.this.a(z ? "打开显示fps" : "关闭显示fps", true, false);
EventCollector.getInstance().onViewClicked(view3);
}
});
button62.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view3) {
EventCollector.getInstance().onViewLongClickedBefore(view3);
new AlertDialog.Builder(d.this.b()).setTitle("提示").setMessage("清空保存页面文件").setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i3) {
d.this.d(Environment.getExternalStorageDirectory() + "/xweb_dump");
}
}).setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i3) {
}
}).show();
EventCollector.getInstance().onViewLongClicked(view3);
return false;
}
});
((Button) this.j.findViewById(R.id.button_long_screenshot)).setOnClickListener(this.p);
return true;
}
private void l() {
int b2 = this.h.getSettings().b();
int c2 = this.h.getSettings().c();
if (b2 == 0) {
this.h.getSettings().d(2);
this.h.getSettings().e(2);
return;
}
if (b2 == 2) {
if (c2 == 2) {
this.h.getSettings().e(1);
return;
} else if (c2 == 1) {
this.h.getSettings().d(0);
return;
} else if (c2 == 0) {
this.h.getSettings().d(0);
return;
}
}
this.h.getSettings().d(2);
this.h.getSettings().e(2);
}
private String m() {
StringBuilder sb = new StringBuilder();
for (String str : com.tencent.xweb.f.f82248a) {
sb.append("\n ");
sb.append(str);
sb.append(": force-");
sb.append(v.a().c(str));
sb.append(" cmd-tools-");
sb.append(com.tencent.xweb.b.e(str, "tools"));
sb.append(" cmd-appbrand-");
sb.append(com.tencent.xweb.b.e(str, "appbrand"));
}
sb.append("\n\n use office reader:");
for (String str2 : com.tencent.xweb.f.f82248a) {
if (!"pdf".equals(str2)) {
sb.append("\n ");
sb.append(str2);
sb.append(": force-");
sb.append(v.a().d(str2));
sb.append(" cmd-tools-");
sb.append(com.tencent.xweb.b.d(str2, "tools"));
sb.append(" cmd-appbrand-");
sb.append(com.tencent.xweb.b.d(str2, "appbrand"));
sb.append(" cmd-mm-");
sb.append(com.tencent.xweb.b.d(str2, "mm"));
}
}
return sb.toString();
}
public void n() {
List<com.tencent.luggage.wxa.ud.g> b2 = com.tencent.luggage.wxa.ud.h.b();
if (b2 == null) {
return;
}
Iterator<com.tencent.luggage.wxa.ud.g> it = b2.iterator();
while (it.hasNext()) {
it.next().b(-1, true);
}
String pluginBaseDir = XWalkEnvironment.getPluginBaseDir();
if (pluginBaseDir.isEmpty()) {
return;
}
com.tencent.xweb.util.c.b(pluginBaseDir);
b("所有插件清理完成", true);
}
public void o() {
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd-HH_mm_ss");
final String str = Environment.getExternalStorageDirectory().getPath() + "/xweb_dump/" + simpleDateFormat.format(date);
this.h.savePage(str + "/main.html", str + "/resource", 1);
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(5000L);
} catch (InterruptedException e) {
e.printStackTrace();
}
u.a(new File[]{new File(str)}, str + ".zip");
}
}).start();
}
String a(boolean z) {
String versionInfo = this.h.getVersionInfo();
if (!z) {
int indexOf = versionInfo.indexOf(",apkversion");
return indexOf > 0 ? versionInfo.substring(0, indexOf) : versionInfo;
}
return versionInfo + ", " + com.tencent.luggage.wxa.ud.h.c() + " current process is " + XWalkEnvironment.getProcessName();
}
@Override
public void a() {
if (v.a().e()) {
a(true, (Button) null, false);
}
}
void a(WebView.c cVar) {
View view;
int i;
int i2 = AnonymousClass51.f82464a[cVar.ordinal()];
if (i2 == 1) {
view = this.j;
i = R.id.WV_XWALK;
} else if (i2 == 2) {
view = this.j;
i = R.id.WV_X5;
} else if (i2 == 3) {
view = this.j;
i = R.id.WV_SYS;
} else {
if (i2 != 4) {
return;
}
view = this.j;
i = R.id.WV_AUTO;
}
((RadioButton) view.findViewById(i)).setChecked(true);
}
void a(String str, String str2, boolean z) {
b bVar = new b(str, str2);
try {
try {
com.tencent.luggage.wxa.ub.h hVar = new com.tencent.luggage.wxa.ub.h(XWalkEnvironment.getDownloadZipDir(bVar.i));
if (hVar.d()) {
hVar.e();
}
InputStream b2 = com.tencent.luggage.wxa.ub.i.b(str);
OutputStream c2 = com.tencent.luggage.wxa.ub.i.c(hVar.i());
byte[] bArr = new byte[1048576];
while (true) {
int read = b2.read(bArr);
if (read == -1) {
break;
} else {
c2.write(bArr, 0, read);
}
}
c2.flush();
b2.close();
c2.close();
} catch (IOException e) {
e.printStackTrace();
}
Integer b3 = XWalkUpdater.b(bVar);
if (b3.intValue() == 0) {
b("安装" + str2 + "成功", z);
return;
}
b("安装" + str2 + "失败,错误码=" + b3, true);
} catch (Exception e2) {
b("安装失败", true);
Log.e("WebDebugPage", "install local apk failed : " + e2.getMessage());
}
}
void a(String str, boolean z, boolean z2) {
if (!z) {
Log.e("WebDebugPage", str);
return;
}
try {
AlertDialog.Builder builder = new AlertDialog.Builder(b());
builder.setMessage(str);
builder.create();
builder.setCancelable(true);
if (z2) {
builder.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialogInterface) {
d.this.e();
}
});
}
builder.show();
} catch (Exception e) {
Log.i("WebDebugPage", "show alert failed may be in abtets exe " + e.getMessage());
}
}
public void a(boolean z, Button button, boolean z2) {
try {
XWalkPreferences.setValue(XWalkPreferences.REMOTE_DEBUGGING, z);
} catch (Exception unused) {
}
try {
if (Build.VERSION.SDK_INT >= 19) {
android.webkit.WebView.setWebContentsDebuggingEnabled(z);
}
} catch (Exception unused2) {
}
try {
com.tencent.luggage.wxa.uc.c.a(z);
} catch (Exception unused3) {
}
if (z2 && this.h.getX5WebViewExtension() != null) {
this.h.loadUrl(z ? "http://debugx5.qq.com/?inspector=true" : "http://debugx5.qq.com/?inspector=false");
}
if (button != null) {
button.setText(z ? "关闭远程调试模式(当前已打开)" : "打开远程调试模式(当前已关闭)");
}
}
@Override
public boolean a(String str) {
boolean z;
boolean z2;
boolean z3;
char c2;
String str2;
int parseInt;
StringBuilder sb;
String str3;
String str4;
String a2;
String str5;
WebView.c valueOf;
int i;
String str6;
String str7;
String str8;
Context b2;
String str9;
String queryParameter;
StringBuilder sb2;
String str10;
char c3;
String str11;
if (str == null) {
return false;
}
if (str.contains("debugmm.qq.com") || str.contains("debugxweb.qq.com")) {
com.tencent.xweb.util.h.a(224L, 1);
Uri parse = Uri.parse(str);
Set<String> queryParameterNames = parse.getQueryParameterNames();
if (queryParameterNames != null && queryParameterNames.size() > 0) {
z = false;
z2 = false;
z3 = false;
for (String str12 : queryParameterNames) {
if (str12 != null) {
switch (str12.hashCode()) {
case -1767214708:
if (str12.equals("encrpt_url")) {
c2 = 4;
break;
}
break;
case -1556996002:
if (str12.equals("check_plugin_update")) {
c2 = 20;
break;
}
break;
case -1045985412:
if (str12.equals("clear_config_time_stamp")) {
c2 = 16;
break;
}
break;
case -974615216:
if (str12.equals("show_webview_version")) {
c2 = '\n';
break;
}
break;
case -873960692:
if (str12.equals("ticket")) {
c2 = 2;
break;
}
break;
case -748036674:
if (str12.equals("set_appbrand_config")) {
c2 = '\t';
break;
}
break;
case -677737752:
if (str12.equals("forcex5")) {
c2 = 0;
break;
}
break;
case -338505561:
if (str12.equals("show_fps")) {
c2 = 6;
break;
}
break;
case -108592348:
if (str12.equals("set_mm_config")) {
c2 = 7;
break;
}
break;
case -82035977:
if (str12.equals("inspector")) {
c2 = 1;
break;
}
break;
case 273273929:
if (str12.equals("clear_schedule")) {
c2 = 17;
break;
}
break;
case 293074704:
if (str12.equals("set_device_rd_value")) {
c2 = '\f';
break;
}
break;
case 386281809:
if (str12.equals("set_grayvalue")) {
c2 = 11;
break;
}
break;
case 624401059:
if (str12.equals("show_x5_ver")) {
c2 = 3;
break;
}
break;
case 684429537:
if (str12.equals("set_plugin_config_url")) {
c2 = 19;
break;
}
break;
case 801125523:
if (str12.equals("soft_check_xwalk_update")) {
c2 = 14;
break;
}
break;
case 989541982:
if (str12.equals("check_xwalk_update")) {
c2 = '\r';
break;
}
break;
case 1217859436:
if (str12.equals("check_update_in_sandbox")) {
c2 = 15;
break;
}
break;
case 1473208405:
if (str12.equals("clear_test_setting")) {
c2 = 5;
break;
}
break;
case 1874228874:
if (str12.equals("set_web_config")) {
c2 = '\b';
break;
}
break;
case 2135256815:
if (str12.equals("set_config_url")) {
c2 = 18;
break;
}
break;
}
c2 = 65535;
switch (c2) {
case 0:
if (parse.getBooleanQueryParameter("forcex5", false)) {
v.a().a("tools", WebView.c.WV_KIND_X5);
v.a().a("toolsmp", WebView.c.WV_KIND_X5);
v.a().a(JsRuntime.JsRuntimeType.RT_TYPE_X5);
str4 = "force use x5 switch is on ";
} else {
v.a().a("tools", WebView.c.WV_KIND_NONE);
v.a().a("toolsmp", WebView.c.WV_KIND_NONE);
v.a().a(JsRuntime.JsRuntimeType.RT_TYPE_AUTO);
str4 = "force use x5 switch is off ";
}
a(str4, true, true);
return true;
case 1:
boolean booleanQueryParameter = parse.getBooleanQueryParameter("inspector", false);
v.a().c(booleanQueryParameter);
a(booleanQueryParameter, (Button) null, true);
return true;
case 2:
z = a(parse.toString(), parse.getQueryParameter("ticket"));
if (z) {
Log.i("WebDebugPage", "checkTempPerssion suc");
} else {
b("权限校验失败", true);
Log.e("WebDebugPage", "checkTempPerssion failed");
}
case 3:
boolean booleanQueryParameter2 = parse.getBooleanQueryParameter("show_x5_ver", false);
v.a().f(booleanQueryParameter2);
b(booleanQueryParameter2 ? "开启显示x5内核信息" : "关闭显示x5内核信息", true);
return true;
case 4:
try {
a2 = com.tencent.xweb.util.a.a(parse.getQueryParameter("encrpt_url"), com.tencent.xweb.util.a.a("b01d4598de5875eb9b86abdef32b811e9c55edcfb1673b5617cc0a6ab7dceaff"));
} catch (Throwable unused) {
b("解密失败", true);
}
if (TextUtils.isEmpty(a2)) {
b("解密失败", true);
return true;
}
a(a2);
return true;
case 5:
p.a(XWalkEnvironment.getApplicationContext());
return true;
case 6:
v.a().d(parse.getBooleanQueryParameter("show_fps", false));
return true;
case 7:
WebView.c valueOf2 = WebView.c.valueOf(parse.getQueryParameter("set_mm_config"));
v.a().a("mm", valueOf2);
str5 = "mm进程将使用:" + valueOf2;
b(str5, true);
z3 = true;
case '\b':
try {
WebView.c valueOf3 = WebView.c.valueOf(parse.getQueryParameter("set_web_config"));
v.a().a("tools", valueOf3);
v.a().a("toolsmp", valueOf3);
str5 = "打开网页将使用:" + valueOf3;
b(str5, true);
z3 = true;
} catch (Exception unused2) {
}
case '\t':
try {
valueOf = WebView.c.valueOf(parse.getQueryParameter("set_appbrand_config"));
v.a().a("appbrand", valueOf);
v.a().a("support", valueOf);
try {
i = AnonymousClass51.f82464a[valueOf.ordinal()];
} catch (Exception unused3) {
}
} catch (Exception unused4) {
}
if (i == 1) {
v.a().a(JsRuntime.JsRuntimeType.RT_TYPE_MMV8);
str6 = "打开小程序将使用:" + valueOf;
} else if (i == 2) {
v.a().a(JsRuntime.JsRuntimeType.RT_TYPE_X5);
str6 = "打开小程序将使用:" + valueOf;
} else if (i != 3) {
z3 = true;
} else {
try {
v.a().a(JsRuntime.JsRuntimeType.RT_TYPE_MMV8);
str6 = "打开小程序将使用:" + valueOf;
} catch (Exception unused5) {
z3 = true;
}
}
b(str6, true);
z3 = true;
case '\n':
h();
break;
case 11:
try {
parseInt = Integer.parseInt(parse.getQueryParameter("set_grayvalue"));
XWalkEnvironment.setGrayValueForTest(parseInt);
sb = new StringBuilder();
str3 = "灰度值设为";
sb.append(str3);
sb.append(parseInt % 10000);
str2 = sb.toString();
} catch (Exception unused6) {
str2 = "灰度值设置失败,参数解析错误";
}
b(str2, true);
z2 = true;
case '\f':
try {
parseInt = Integer.parseInt(parse.getQueryParameter("set_device_rd_value"));
XWalkEnvironment.sNDeviceRd = parseInt;
XWalkEnvironment.getSharedPreferences().edit().putInt(XWalkEnvironment.SP_KEY_DEVICE_RD, parseInt).commit();
XWalkEnvironment.setGrayValueForTest(parseInt);
sb = new StringBuilder();
str3 = "设备随机灰度值设为";
sb.append(str3);
sb.append(parseInt % 10000);
str2 = sb.toString();
} catch (Exception unused7) {
str2 = "设备随机灰度值设置失败,参数解析错误";
}
b(str2, true);
z2 = true;
case '\r':
b("开始检测浏览器和所有插件更新", true);
d();
a(XWalkEnvironment.getApplicationContext());
break;
case 14:
b("模拟触发沙箱进程检测浏览器内核更新", true);
XWalkEnvironment.setConfigFetchPeriod(1800001L);
com.tencent.xweb.t.a(XWalkEnvironment.getApplicationContext(), null);
new a(b());
break;
case 15:
com.tencent.xweb.util.g.a("com.tencent.mm.pluginsdk.model.TBSHelper", "checkXWalkNow", (Class<?>[]) new Class[]{Context.class, Integer.TYPE}, this.g, 4);
b("即将发起沙箱进程检查更新", true);
new a(b());
break;
case 16:
b("重置上次拉取配置时间", true);
com.tencent.luggage.wxa.ue.c.l();
com.tencent.luggage.wxa.ud.k.a(0L);
break;
case 17:
b("清理本地的更新计划", true);
com.tencent.luggage.wxa.ue.c.b(false).e();
com.tencent.luggage.wxa.ue.c.b(true).e();
break;
case 18:
try {
queryParameter = parse.getQueryParameter("set_config_url");
if (XWalkEnvironment.isValidConfigHost(queryParameter) || v.a().n()) {
XWalkEnvironment.setTestDownLoadUrl(b(), queryParameter);
sb2 = new StringBuilder();
str10 = "测试连接设置为:";
} else {
sb2 = new StringBuilder();
str10 = "you have no athority to set this config url:";
}
sb2.append(str10);
sb2.append(queryParameter);
str8 = sb2.toString();
} catch (Exception unused8) {
str8 = "测试连接设置失败,格式错误";
}
b(str8, true);
break;
case 19:
try {
queryParameter = parse.getQueryParameter("set_plugin_config_url");
XWalkEnvironment.setPluginTestConfigUrl(queryParameter);
sb2 = new StringBuilder();
str10 = "插件测试连接设置为:";
sb2.append(str10);
sb2.append(queryParameter);
str8 = sb2.toString();
} catch (Exception unused9) {
str8 = "插件测试连接设置失败,格式错误";
}
b(str8, true);
break;
case 20:
try {
str7 = parse.getQueryParameter("check_plugin_update");
} catch (Exception unused10) {
str7 = "";
}
if ("all".equalsIgnoreCase(str7)) {
b("开始检测所有插件更新", true);
a(b());
break;
} else {
if (XWalkEnvironment.XWALK_PLUGIN_NAME_FULL_SCREEN_VIDEO.equalsIgnoreCase(str7)) {
b2 = b();
str9 = XWalkEnvironment.XWALK_PLUGIN_NAME_FULL_SCREEN_VIDEO;
} else if (XWalkEnvironment.XWALK_PLUGIN_NAME_PDF.equalsIgnoreCase(str7)) {
b2 = b();
str9 = XWalkEnvironment.XWALK_PLUGIN_NAME_PDF;
} else if (XWalkEnvironment.XWALK_PLUGIN_NAME_PPT.equalsIgnoreCase(str7)) {
b2 = b();
str9 = XWalkEnvironment.XWALK_PLUGIN_NAME_PPT;
} else if (XWalkEnvironment.XWALK_PLUGIN_NAME_WORD.equalsIgnoreCase(str7)) {
b2 = b();
str9 = XWalkEnvironment.XWALK_PLUGIN_NAME_WORD;
} else if (XWalkEnvironment.XWALK_PLUGIN_NAME_EXCEL.equalsIgnoreCase(str7)) {
b2 = b();
str9 = XWalkEnvironment.XWALK_PLUGIN_NAME_EXCEL;
} else if (!XWalkEnvironment.XWALK_PLUGIN_NAME_OFFICE.equalsIgnoreCase(str7)) {
str8 = "检测插件更新失败,参数错误";
b(str8, true);
break;
} else {
b2 = b();
str9 = XWalkEnvironment.XWALK_PLUGIN_NAME_OFFICE;
}
a(b2, str9, (f.a) null, false, (ValueCallback<Integer>) null);
break;
}
}
}
}
if (!str.contains("public.debugxweb.qq.com")) {
Set<String> queryParameterNames2 = Uri.parse(str).getQueryParameterNames();
if (queryParameterNames2 != null && queryParameterNames2.size() > 0) {
for (String str13 : queryParameterNames2) {
if (str13 != null && (str13.hashCode() != -1157057597 || !str13.equals("enable_local_debug"))) {
}
}
}
return true;
}
XWalkEnvironment.initTurnOnKVLog();
boolean z4 = v.a().n() || z;
if (str.contains("debugxweb.qq.com") || z) {
Uri parse2 = Uri.parse(str);
Set<String> queryParameterNames3 = parse2.getQueryParameterNames();
if (queryParameterNames3 == null || queryParameterNames3.size() == 0) {
if (z4) {
k();
}
return true;
}
for (String str14 : queryParameterNames3) {
if (str14 != null) {
switch (str14.hashCode()) {
case -1270583121:
if (str14.equals("clear_all")) {
c3 = '\b';
break;
}
break;
case -1258153200:
if (str14.equals("clear_cache")) {
c3 = 5;
break;
}
break;
case -997333991:
if (str14.equals("abandon_curent_ver")) {
c3 = '\t';
break;
}
break;
case -844092179:
if (str14.equals("fix_dex")) {
c3 = 7;
break;
}
break;
case -604633792:
if (str14.equals("kill_all")) {
c3 = 2;
break;
}
break;
case -82035977:
if (str14.equals("inspector")) {
c3 = 0;
break;
}
break;
case 176290201:
if (str14.equals("clear_old_ver")) {
c3 = 6;
break;
}
break;
case 184008721:
if (str14.equals("save_page")) {
c3 = 4;
break;
}
break;
case 724449292:
if (str14.equals("use_testconfig")) {
c3 = 1;
break;
}
break;
case 971862549:
if (str14.equals("ignore_crashwatch")) {
c3 = 3;
break;
}
break;
}
c3 = 65535;
switch (c3) {
case 0:
boolean booleanQueryParameter3 = parse2.getBooleanQueryParameter("inspector", false);
v.a().c(booleanQueryParameter3);
a(booleanQueryParameter3, (Button) null, true);
z2 = true;
break;
case 1:
boolean booleanQueryParameter4 = parse2.getBooleanQueryParameter("use_testconfig", false);
v.a().j(booleanQueryParameter4);
b(booleanQueryParameter4 ? "使用测试config" : "使用正式config", true);
z2 = true;
break;
case 2:
z2 = true;
z3 = true;
break;
case 3:
boolean booleanQueryParameter5 = parse2.getBooleanQueryParameter("ignore_crashwatch", false);
v.a().b(booleanQueryParameter5);
b("忽略crash检测设为 = " + booleanQueryParameter5, true);
break;
case 4:
boolean z5 = !v.a().h();
v.a().g(z5);
if (z5) {
g();
this.e.setVisibility(0);
break;
} else {
Button button = this.e;
if (button != null) {
button.setVisibility(8);
break;
} else {
break;
}
}
case 5:
af.a(XWalkEnvironment.getApplicationContext(), true);
str11 = "网页cache已经清理:";
b(str11, true);
break;
case 6:
p.a(XWalkEnvironment.getApplicationContext(), true);
str11 = "旧版本已经清理";
b(str11, true);
break;
case 7:
p.h();
break;
case '\b':
XWalkEnvironment.clearAllVersion(b());
z2 = true;
break;
case '\t':
p.d();
z2 = true;
break;
}
}
}
}
if (z4) {
z2 = c(str, z) || z2;
}
if (z3) {
e();
}
return z2;
}
}
z = false;
z2 = false;
z3 = false;
if (!str.contains("public.debugxweb.qq.com")) {
}
}
public Context b() {
return this.g;
}
void b(String str, String str2) {
u.a(str, str2);
String[] split = str2.split("\\.");
if (split.length == 2) {
this.h.loadUrl("file://" + split[0] + "/main.html");
}
this.j.setVisibility(8);
}
void b(String str, boolean z) {
if (!z) {
Log.e("WebDebugPage", str);
return;
}
try {
AlertDialog.Builder builder = new AlertDialog.Builder(b());
builder.setMessage(str);
builder.create().show();
} catch (Exception e) {
Log.i("WebDebugPage", "show alert failed may be in abtets exe " + e.getMessage());
}
}
void b(final boolean z) {
String str;
com.tencent.luggage.wxa.ub.h hVar = new com.tencent.luggage.wxa.ub.h(Environment.getExternalStorageDirectory());
if (hVar.c() == null) {
str = "请确认应用权限,在权限管理打开应用的读写存储权限";
} else {
hVar.toString();
try {
com.tencent.luggage.wxa.ub.h[] c2 = new com.tencent.luggage.wxa.ub.h(hVar.a() + "/apkxwebtest").c();
if (c2 == null || c2.length == 0) {
str = "apkxwebtest目录下没有.zip文件,请确认应用权限,在权限管理打开应用的读写存储权限";
} else {
for (int i = 0; i < c2.length; i++) {
if (c2[i].h().endsWith(".zip")) {
final String i2 = c2[i].i();
final String h = c2[i].h();
if (!z) {
a(i2, h, z);
return;
}
new AlertDialog.Builder(b()).setTitle("提示").setMessage("确定加载:" + h + "?").setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i3) {
d.this.a(i2, h, z);
}
}).setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i3) {
}
}).show();
return;
}
}
str = "apkxwebtest目录下没有.zip文件";
}
} catch (Exception unused) {
str = "没有找到apkxwebtest目录,请确认应用权限,在权限管理打开应用的读写存储权限";
}
}
b(str, true);
}
void c() {
this.k = true;
if (this.f.equals("all")) {
String[] stringArray = b().getResources().getStringArray(R.array.ax);
WebView.c b2 = v.a().b(stringArray[0]);
for (int i = 1; i < stringArray.length; i++) {
if (v.a().b(stringArray[i]) != b2) {
((RadioButton) this.j.findViewById(R.id.WV_AUTO)).setChecked(false);
((RadioButton) this.j.findViewById(R.id.WV_XWALK)).setChecked(false);
((RadioButton) this.j.findViewById(R.id.WV_X5)).setChecked(false);
((RadioButton) this.j.findViewById(R.id.WV_SYS)).setChecked(false);
this.k = false;
return;
}
}
a(b2);
} else {
a(v.a().b(this.f));
}
this.k = false;
}
void d() {
com.tencent.luggage.wxa.ue.c.f27024c = true;
com.tencent.luggage.wxa.ue.c.l();
new c(b()).a((HashMap<String, String>) null);
}
void e() {
b(b());
}
void f() {
com.tencent.luggage.wxa.ub.h hVar = new com.tencent.luggage.wxa.ub.h(Environment.getExternalStorageDirectory());
if (hVar.c() == null) {
b("请确认应用权限,在权限管理打开应用的读写存储权限", true);
return;
}
hVar.toString();
final String str = hVar.a() + "/xweb_dump";
try {
com.tencent.luggage.wxa.ub.h[] c2 = new com.tencent.luggage.wxa.ub.h(str).c();
if (c2 == null || c2.length == 0) {
b("web_dump目录下没有.zip文件,请确认应用权限,在权限管理打开应用的读写存储权限", true);
return;
}
for (int i = 0; i < c2.length; i++) {
if (c2[i].h().endsWith(".zip")) {
final String i2 = c2[i].i();
String h = c2[i].h();
new AlertDialog.Builder(b()).setTitle("提示").setMessage("确定加载:" + h + "?").setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i3) {
d.this.b(str, i2);
}
}).setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i3) {
}
}).show();
return;
}
}
b("web_dump目录下没有.zip文件", true);
} catch (Exception unused) {
b("没有找到web_dump目录,请确认应用权限,在权限管理打开应用的读写存储权限", true);
}
}
}