VMOS Pro v2.9.9版本的 MD5 值为:ef77d106fdbb0e499b9232be74ffc054

以下内容为反编译后的 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();
            }
        }
    }
}