导航菜单

页面标题

页面副标题

Vi App v10.18.0 - WebActivity.java 源代码

正在查看: Vi App v10.18.0 应用的 WebActivity.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.oriserve.orichat;

import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.ConsoleMessage;
import android.webkit.WebChromeClient;
import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import androidx.appcompat.app.AppCompatActivity;
import com.google.firebase.remoteconfig.FirebaseRemoteConfig;
import java.net.URISyntaxException;

public class WebActivity extends AppCompatActivity {
    private String baseUrl;
    private WebView webView;
    private boolean webviewSuccess = true;

    public static void OriLog(String str, String str2) {
        int i = BuildConfig.a;
    }

    public static boolean isNetworkAvailable(Context context) {
        ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService("connectivity");
        return (connectivityManager == null || connectivityManager.getActiveNetworkInfo() == null || !connectivityManager.getActiveNetworkInfo().isConnected()) ? false : true;
    }

    private void setUpUI() {
        if (getIntent() != null) {
            if (getIntent().getBooleanExtra("showToolbar", true)) {
                if (getSupportActionBar() != null) {
                    getSupportActionBar().setTitle(getIntent().getStringExtra("pageTitle"));
                    getSupportActionBar().setHomeButtonEnabled(true);
                    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
                } else {
                    ViewGroup viewGroup = (ViewGroup) findViewById(R.id.toolbar_holder);
                    viewGroup.setVisibility(0);
                    getLayoutInflater().inflate(R.layout.ori_toolbar, viewGroup);
                    setSupportActionBar(findViewById(R.id.toolbar));
                    if (getSupportActionBar() != null) {
                        getSupportActionBar().setTitle(getIntent().getStringExtra("pageTitle"));
                        getSupportActionBar().setHomeButtonEnabled(true);
                        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
                    }
                }
            } else if (getSupportActionBar() != null) {
                getSupportActionBar().hide();
            }
            if (!getIntent().getBooleanExtra("showMiniToolbar", false)) {
                findViewById(R.id.header).setVisibility(8);
                return;
            }
            LinearLayout linearLayout = (LinearLayout) findViewById(R.id.header);
            linearLayout.setVisibility(0);
            linearLayout.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    WebActivity.this.onBackPressed();
                }
            });
        }
    }

    public void destroyWebView() {
        try {
            this.webView.setVisibility(8);
            this.webView.clearHistory();
            this.webView.onPause();
            this.webView.removeAllViews();
            this.webView.destroyDrawingCache();
            this.webView = null;
        } catch (Exception e) {
            ErrorHandler.handleException(e);
        }
    }

    @SuppressLint({"SetJavaScriptEnabled"})
    public void onCreate(Bundle bundle) {
        super/*androidx.fragment.app.FragmentActivity*/.onCreate(bundle);
        setContentView(R.layout.activity_ori_chat);
        setUpUI();
        final ProgressBar progressBar = (ProgressBar) findViewById(R.id.loading_indicator);
        final View findViewById = findViewById(R.id.no_internet);
        this.webView = (WebView) findViewById(R.id.webView);
        if (getIntent().hasExtra("pageURL")) {
            String stringExtra = getIntent().getStringExtra("pageURL");
            if (stringExtra.equalsIgnoreCase(FirebaseRemoteConfig.DEFAULT_VALUE_FOR_STRING)) {
                this.baseUrl = FirebaseRemoteConfig.DEFAULT_VALUE_FOR_STRING;
            } else {
                this.baseUrl = stringExtra;
            }
        } else {
            this.baseUrl = FirebaseRemoteConfig.DEFAULT_VALUE_FOR_STRING;
        }
        WebSettings settings = this.webView.getSettings();
        settings.setJavaScriptEnabled(true);
        settings.setDomStorageEnabled(true);
        settings.setDatabaseEnabled(true);
        this.webView.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageFinished(WebView webView, String str) {
                super.onPageFinished(webView, str);
                if (WebActivity.this.webviewSuccess) {
                    WebActivity.OriLog("WebActivityTAG", "reached here: Page loaded for url " + str + " base url: " + WebActivity.this.baseUrl);
                    try {
                        progressBar.setVisibility(8);
                        findViewById.setVisibility(8);
                        WebActivity.this.webView.setVisibility(0);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }

            @Override
            public void onReceivedError(WebView webView, WebResourceRequest webResourceRequest, WebResourceError webResourceError) {
                WebActivity.this.webviewSuccess = false;
                WebActivity.OriLog("WebActivityTAG", "Got an error " + webResourceError.getDescription().toString());
                try {
                    progressBar.setVisibility(8);
                    WebActivity.this.webView.setVisibility(8);
                    findViewById.setVisibility(0);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                super.onReceivedError(webView, webResourceRequest, webResourceError);
            }

            @Override
            @TargetApi(24)
            public boolean shouldOverrideUrlLoading(WebView webView, WebResourceRequest webResourceRequest) {
                if (webResourceRequest.getUrl().toString().startsWith("intent://")) {
                    try {
                        Context context = webView.getContext();
                        Intent parseUri = Intent.parseUri(webResourceRequest.getUrl().toString(), 1);
                        if (parseUri != null) {
                            if (context.getPackageManager().resolveActivity(parseUri, 65536) != null) {
                                context.startActivity(parseUri);
                            } else {
                                WebActivity.OriLog("This is failing URL", parseUri.getStringExtra("browser_fallback_url"));
                            }
                            return true;
                        }
                    } catch (URISyntaxException e) {
                        WebActivity.OriLog("Can't resolve intent:// ", "error");
                        ErrorHandler.handleException(e);
                    }
                }
                webView.loadUrl(webResourceRequest.getUrl().toString());
                return false;
            }

            @Override
            public boolean shouldOverrideUrlLoading(WebView webView, String str) {
                return false;
            }
        });
        this.webView.setWebChromeClient(new WebChromeClient() {
            @Override
            public boolean onConsoleMessage(ConsoleMessage consoleMessage) {
                WebActivity.OriLog("WebActivityTAG_CONSOLE", consoleMessage.message() + " at " + consoleMessage.sourceId() + ":" + consoleMessage.lineNumber());
                return true;
            }
        });
        ((ImageButton) findViewById(R.id.refresh)).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (WebActivity.isNetworkAvailable(WebActivity.this)) {
                    progressBar.setVisibility(0);
                    findViewById.setVisibility(8);
                    WebActivity.this.webView.setVisibility(8);
                    WebActivity.this.webviewSuccess = true;
                    WebActivity.this.webView.loadUrl(WebActivity.this.baseUrl);
                }
            }
        });
        if (!isNetworkAvailable(this)) {
            progressBar.setVisibility(8);
            this.webView.setVisibility(8);
            findViewById.setVisibility(0);
        } else {
            progressBar.setVisibility(0);
            findViewById.setVisibility(8);
            this.webView.setVisibility(8);
            this.webviewSuccess = true;
            this.webView.loadUrl(this.baseUrl);
        }
    }

    public void onDestroy() {
        super.onDestroy();
        destroyWebView();
    }

    public boolean onOptionsItemSelected(MenuItem menuItem) {
        if (menuItem.getItemId() != 16908332) {
            return super/*android.app.Activity*/.onOptionsItemSelected(menuItem);
        }
        onBackPressed();
        finish();
        return true;
    }
}