VMOS Pro v2.9.9版本的 MD5 值为:dceadad381c71b757ecb2d1f07ea613a
以下内容为反编译后的 BbsLinkWebViewActivity.java 源代码,内容仅作参考
package com.vmos.pro.modules.bbs2;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.drawable.AnimationDrawable;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.text.TextUtils;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.DownloadListener;
import android.webkit.WebChromeClient;
import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
import android.webkit.WebResourceResponse;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import com.tencent.mars.xlog.Log;
import com.vmos.commonuilibrary.C1417;
import com.vmos.commonuilibrary.View$OnClickListenerC1406;
import com.vmos.pro.R;
import com.vmos.pro.activities.renderer.PagePermissionHelper;
import com.vmos.pro.modules.BaseActivity;
import com.vmos.pro.modules.bbs2.BbsLinkWebViewActivity;
import com.vmos.pro.modules.mydownload.MyDownloadActivity2;
import defpackage.tq0;
import java.net.URLDecoder;
public class BbsLinkWebViewActivity extends BaseActivity {
public static final String f10328 = "BbsLinkWebViewActivity";
public tq0 f10330;
public WebView f10331;
public ImageView f10332;
public TextView f10333;
public AnimationDrawable f10334;
public boolean f10335;
public RelativeLayout f10336;
public String f10337;
public String f10338;
public String f10339;
public String f10340;
public boolean f10341;
public String f10342;
public String f10343;
public Handler f10329 = new Handler();
public String f10344 = "";
public class View$OnClickListenerC1749 implements View.OnClickListener {
public View$OnClickListenerC1749() {
}
@Override
public void onClick(View view) {
BbsLinkWebViewActivity.this.finish();
}
}
public class RunnableC1750 implements Runnable {
public RunnableC1750() {
}
@Override
public void run() {
BbsLinkWebViewActivity.this.finish();
}
}
public class C1751 implements tq0.InterfaceC5613 {
public final String f10350;
public class RunnableC1752 implements Runnable {
public RunnableC1752() {
}
@Override
public void run() {
BbsLinkWebViewActivity.this.finish();
}
}
public class RunnableC1753 implements Runnable {
public RunnableC1753() {
}
@Override
public void run() {
BbsLinkWebViewActivity.this.finish();
}
}
public C1751(String str) {
this.f10350 = str;
}
@Override
public void mo13370(tq0 tq0Var) {
s83 s83Var = new s83();
BbsLinkWebViewActivity bbsLinkWebViewActivity = BbsLinkWebViewActivity.this;
s83Var.f33538 = bbsLinkWebViewActivity.f10344;
s83Var.f33523 = this.f10350;
s83Var.f33529 = bbsLinkWebViewActivity.f10338;
s83Var.f33530 = bbsLinkWebViewActivity.f10339;
s83Var.f33539 = bbsLinkWebViewActivity.f10340;
x65.m49793().m49801(s83Var);
C1417.m8789((FrameLayout) BbsLinkWebViewActivity.this.getWindow().getDecorView(), BbsLinkWebViewActivity.this.getString(R.string.my_downloaded_notify)).m8791();
tq0Var.dismiss();
if (TextUtils.equals(this.f10350, BbsLinkWebViewActivity.this.f10337)) {
BbsLinkWebViewActivity.this.f10332.postDelayed(new RunnableC1752(), 500L);
}
}
@Override
public void mo13371(tq0 tq0Var) {
tq0Var.dismiss();
if (TextUtils.equals(this.f10350, BbsLinkWebViewActivity.this.f10337)) {
BbsLinkWebViewActivity.this.f10332.postDelayed(new RunnableC1753(), 500L);
}
}
}
public class View$OnClickListenerC1754 implements View.OnClickListener {
public View$OnClickListenerC1754() {
}
@Override
public void onClick(View view) {
Intent intent = new Intent(BbsLinkWebViewActivity.this, MyDownloadActivity2.class);
intent.putExtra(MyDownloadActivity2.f11030, 2);
BbsLinkWebViewActivity.this.startActivity(intent);
}
}
public class C1755 extends WebChromeClient {
public C1755() {
}
@Override
public void onProgressChanged(WebView webView, int i) {
}
@Override
public void onReceivedTitle(WebView webView, String str) {
BbsLinkWebViewActivity.this.f10333.setText(str);
}
}
public class C1756 implements DownloadListener {
public C1756() {
}
@Override
public void onDownloadStart(String str, String str2, String str3, String str4, long j) {
BbsLinkWebViewActivity bbsLinkWebViewActivity = BbsLinkWebViewActivity.this;
bbsLinkWebViewActivity.f10342 = str;
bbsLinkWebViewActivity.f10343 = str3;
if (bbsLinkWebViewActivity.hasPermissionStorage()) {
BbsLinkWebViewActivity.this.m13411(str, str3);
}
}
}
public void lambda$startDialogStoragePermission$0(View$OnClickListenerC1406 view$OnClickListenerC1406) {
if (!ActivityCompat.shouldShowRequestPermissionRationale(this, "android.permission.WRITE_EXTERNAL_STORAGE")) {
new PagePermissionHelper(this).jumpPermissionPage();
} else {
ActivityCompat.requestPermissions(this, new String[]{"android.permission.WRITE_EXTERNAL_STORAGE"}, 110);
}
view$OnClickListenerC1406.m8768();
}
public boolean hasPermissionStorage() {
boolean z = ContextCompat.checkSelfPermission(this, "android.permission.WRITE_EXTERNAL_STORAGE") == 0;
if (!z) {
if (!ActivityCompat.shouldShowRequestPermissionRationale(this, "android.permission.WRITE_EXTERNAL_STORAGE")) {
startDialogStoragePermission();
} else {
ActivityCompat.requestPermissions(this, new String[]{"android.permission.WRITE_EXTERNAL_STORAGE"}, 110);
}
}
return z;
}
@Override
public void onCreate(@Nullable Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.activity_webview);
this.f10341 = false;
this.f10330 = new tq0(this);
this.f10337 = getIntent().getStringExtra("intent.key.url");
this.f10338 = getIntent().getStringExtra(ku.f23709);
this.f10339 = getIntent().getStringExtra("intent.key.from.title");
this.f10340 = getIntent().getStringExtra("intent.key.from.desc");
Log.i(f10328, "onCreate rootUrl:" + this.f10337);
if (TextUtils.isEmpty(this.f10337)) {
finish();
return;
}
this.f10336 = (RelativeLayout) findViewById(R.id.rl_root);
this.f10331 = (WebView) findViewById(R.id.wv_commonWebView);
ImageView imageView = (ImageView) findViewById(R.id.iv_download);
this.f10332 = imageView;
this.f10334 = (AnimationDrawable) imageView.getDrawable();
this.f10333 = (TextView) findViewById(R.id.tv_wv_title);
this.f10332.setOnClickListener(new View$OnClickListenerC1754());
View findViewById = findViewById(R.id.iv_back);
WebSettings settings = this.f10331.getSettings();
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);
settings.setJavaScriptEnabled(true);
settings.setSaveFormData(false);
settings.setSupportZoom(false);
settings.setAllowFileAccess(false);
settings.setAllowContentAccess(false);
settings.setDomStorageEnabled(true);
this.f10331.setWebChromeClient(new C1755());
this.f10331.setDownloadListener(new C1756());
this.f10331.setWebViewClient(new C1747());
findViewById.setOnClickListener(new View$OnClickListenerC1749());
mo13334();
}
@Override
public boolean onKeyDown(int i, KeyEvent keyEvent) {
if (i == 4 && this.f10331.canGoBack()) {
this.f10331.goBack();
return true;
}
return super.onKeyDown(i, keyEvent);
}
@Override
public void onRequestPermissionsResult(int i, @NonNull String[] strArr, @NonNull int[] iArr) {
super.onRequestPermissionsResult(i, strArr, iArr);
if (i == 110) {
if (ContextCompat.checkSelfPermission(this, "android.permission.WRITE_EXTERNAL_STORAGE") == 0) {
m13411(this.f10342, this.f10343);
} else {
finish();
}
}
}
@Override
public void onWindowFocusChanged(boolean z) {
super.onWindowFocusChanged(z);
if (z) {
ey4.m19871(getWindow(), true, false);
}
}
public final void startDialogStoragePermission() {
String string = getString(R.string.file_permission_name);
View$OnClickListenerC1406.m8743(this.f10331).m8756(R.mipmap.img_common_dialog_vm).m8762(ij5.m25090(String.format(getString(R.string.file_permission), string), string, bm4.m3643(R.color.common_pro_blue)), 14).m8752(getString(R.string.common_go_auth), new View$OnClickListenerC1406.InterfaceC1410() {
@Override
public final void onPositiveBtnClick(View$OnClickListenerC1406 view$OnClickListenerC1406) {
BbsLinkWebViewActivity.this.lambda$startDialogStoragePermission$0(view$OnClickListenerC1406);
}
}).m8757();
}
public void m13411(String str, String str2) {
if (TextUtils.isEmpty(str)) {
return;
}
this.f10344 = "";
if (!TextUtils.isEmpty(str2)) {
String replaceFirst = str2.replaceFirst("(?i)^.*filename=\"?([^\"]+)\"?.*$", "$1");
this.f10344 = replaceFirst;
if (!TextUtils.isEmpty(replaceFirst)) {
try {
String trim = URLDecoder.decode(this.f10344, "utf-8").trim();
this.f10344 = trim;
if (trim.indexOf(";") > 0) {
String str3 = this.f10344;
this.f10344 = str3.substring(0, str3.indexOf(";"));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
if (TextUtils.isEmpty(this.f10344)) {
this.f10344 = str.substring(str.lastIndexOf("/") + 1);
}
s83 s83Var = new s83();
s83Var.f33538 = this.f10344;
s83Var.f33523 = str;
s83Var.f33529 = this.f10338;
s83Var.f33530 = this.f10339;
s83Var.f33539 = this.f10340;
if (x65.m49793().m49799(s83Var)) {
C1417.m8789((FrameLayout) getWindow().getDecorView(), getString(R.string.my_downloaded_notify)).m8791();
this.f10334.stop();
this.f10334.start();
if (TextUtils.equals(str, this.f10337)) {
this.f10332.postDelayed(new RunnableC1750(), 500L);
}
} else if (this.f10330.isShowing()) {
} else {
this.f10330.m43544(new C1751(str));
if (isFinishing()) {
return;
}
this.f10330.show();
}
}
@Override
public void mo13334() {
super.mo13334();
if (this.f10341) {
return;
}
this.f10331.loadUrl(this.f10337);
}
@Override
public int mo13335() {
return R.id.ll_content;
}
public class C1747 extends WebViewClient {
public class RunnableC1748 implements Runnable {
public RunnableC1748() {
}
@Override
public void run() {
BbsLinkWebViewActivity.this.hideLoading();
}
}
public C1747() {
}
@Override
public void onPageFinished(WebView webView, String str) {
Log.i(BbsLinkWebViewActivity.f10328, "onPageFinished:" + str + "\n" + webView.getUrl());
super.onPageFinished(webView, str);
BbsLinkWebViewActivity bbsLinkWebViewActivity = BbsLinkWebViewActivity.this;
if (bbsLinkWebViewActivity.f10335) {
bbsLinkWebViewActivity.m13344();
} else {
bbsLinkWebViewActivity.f10341 = true;
webView.loadUrl("javascript:(function() { var body = document.getElementsByTagName('body');\nvar cl = document.getElementsByClassName('cl'); \nvar hot_group = document.getElementsByClassName('hot-group');\nvar forumListTab = document.getElementsByClassName('forumListTab');\nvar container = document.getElementsByClassName('container');\nvar bottom_tab = document.getElementsByClassName('bottom-tab');\ntry{\nbody[0].removeChild(cl[0]);\n}catch(err){\n}\ntry{\nbody[0].removeChild(hot_group[0]);\n}catch(err){\n}\ntry{\nbody[0].removeChild(forumListTab[0]);\n}catch(err){\n}\ntry{\nbody[0].removeChild(bottom_tab[0]);\n}catch(err){ \n}})()");
BbsLinkWebViewActivity.this.m13339();
}
BbsLinkWebViewActivity.this.hideLoading();
}
@Override
public void onPageStarted(WebView webView, String str, Bitmap bitmap) {
super.onPageStarted(webView, str, bitmap);
BbsLinkWebViewActivity bbsLinkWebViewActivity = BbsLinkWebViewActivity.this;
bbsLinkWebViewActivity.f10335 = false;
if (bbsLinkWebViewActivity.f10341) {
return;
}
bbsLinkWebViewActivity.m13342();
BbsLinkWebViewActivity.this.f10329.postDelayed(new RunnableC1748(), 10000L);
}
@Override
public void onReceivedError(WebView webView, int i, String str, String str2) {
super.onReceivedError(webView, i, str, str2);
Log.i(BbsLinkWebViewActivity.f10328, "onReceivedError: s:" + str);
try {
if (TextUtils.equals(str, BbsLinkWebViewActivity.this.f10337) || TextUtils.equals(str, str2)) {
BbsLinkWebViewActivity.this.f10335 = true;
}
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onReceivedHttpError(WebView webView, WebResourceRequest webResourceRequest, WebResourceResponse webResourceResponse) {
super.onReceivedHttpError(webView, webResourceRequest, webResourceResponse);
Log.i(BbsLinkWebViewActivity.f10328, "onReceivedHttpError: s:");
try {
if (TextUtils.equals(webResourceRequest.getUrl().toString(), BbsLinkWebViewActivity.this.f10337)) {
BbsLinkWebViewActivity.this.f10335 = true;
}
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public boolean shouldOverrideUrlLoading(WebView webView, String str) {
Log.i(BbsLinkWebViewActivity.f10328, "shouldOverrideUrlLoading:" + str + "\n" + webView.getUrl());
if (str.startsWith("")) {
return true;
}
if (str.startsWith(wy1.f40130)) {
webView.loadUrl(str);
} else {
try {
Intent intent = new Intent();
intent.setAction("android.intent.action.VIEW");
intent.setData(Uri.parse(str));
BbsLinkWebViewActivity.this.startActivity(intent);
} catch (Exception e) {
e.printStackTrace();
}
}
return true;
}
@Override
public void onReceivedError(WebView webView, WebResourceRequest webResourceRequest, WebResourceError webResourceError) {
super.onReceivedError(webView, webResourceRequest, webResourceError);
Log.i(BbsLinkWebViewActivity.f10328, "onReceivedHttpError: s:");
try {
if (TextUtils.equals(webResourceRequest.getUrl().toString(), BbsLinkWebViewActivity.this.f10337)) {
BbsLinkWebViewActivity.this.f10335 = true;
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}