导航菜单

页面标题

页面副标题

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

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

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


package com.mventus.selfcare.activity.viweb;

import android.app.DownloadManager;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.text.TextUtils;
import android.view.MenuItem;
import android.view.View;
import android.webkit.CookieManager;
import android.webkit.DownloadListener;
import android.webkit.JavascriptInterface;
import android.webkit.URLUtil;
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.ProgressBar;
import android.widget.Toast;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import com.mventus.selfcare.activity.R;
import com.onmobile.rbtsdkui.analytics.AnalyticsConstants;
import com.onmobile.rbtsdkui.analytics.KibanaUtilConstants;
import com.viapps.elk.KibanaUtility;
import com.viapps.viappwebview.NetworkUtil;
import org.json.JSONObject;

public class VICloudGameWebView extends AppCompatActivity {
    private View errorView;
    private final Handler handler = new Handler();
    public String url;
    public ProgressBar vi_progressBar;
    public WebView vi_webView;

    public void handleBackPressed() {
        if (this.vi_webView.getUrl().equals("https://games.myvi.in/cavil/home")) {
            finish();
        } else if (this.vi_webView.isFocused() && this.vi_webView.canGoBack()) {
            this.vi_webView.goBack();
        } else {
            super/*androidx.activity.ComponentActivity*/.onBackPressed();
            finish();
        }
    }

    public void onBackPressed() {
        handleBackPressed();
    }

    public void onCreate(Bundle bundle) {
        super/*androidx.fragment.app.FragmentActivity*/.onCreate(bundle);
        requestWindowFeature(1);
        setContentView(R.layout.activity_vi_onmobile_webview);
        this.vi_webView = (WebView) findViewById(R.id.vi_native_webView);
        this.errorView = findViewById(R.id.errorView);
        new NetworkUtil(this).checkNetworkAndShowError(this, this.vi_webView, this.errorView);
        ActionBar supportActionBar = getSupportActionBar();
        supportActionBar.setDisplayHomeAsUpEnabled(true);
        if (getIntent().getStringExtra("title") != null || getIntent().getStringExtra("title") != "") {
            supportActionBar.setTitle(getIntent().getStringExtra("title"));
        }
        this.vi_progressBar = (ProgressBar) findViewById(R.id.vi_native_progressBar);
        this.url = getIntent().getStringExtra("url");
        WebSettings settings = this.vi_webView.getSettings();
        settings.setDomStorageEnabled(true);
        settings.setCacheMode(1);
        settings.setLoadWithOverviewMode(true);
        settings.setUseWideViewPort(true);
        settings.setAllowFileAccessFromFileURLs(true);
        settings.setAllowUniversalAccessFromFileURLs(true);
        settings.setJavaScriptEnabled(true);
        this.vi_webView.setInitialScale(1);
        this.vi_webView.setWebChromeClient(new WebChromeClient());
        this.vi_webView.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageFinished(WebView webView, String str) {
                VICloudGameWebView.this.vi_webView.evaluateJavascript("javascript:(function() {var element = document.querySelector('.headercomponent');if (element) element.style.display = 'none';})()", null);
                VICloudGameWebView.this.vi_progressBar.setVisibility(8);
                VICloudGameWebView.this.vi_webView.setVisibility(0);
            }

            @Override
            public void onPageStarted(WebView webView, String str, Bitmap bitmap) {
                VICloudGameWebView.this.vi_progressBar.setVisibility(0);
                VICloudGameWebView.this.errorView.setVisibility(8);
            }

            @Override
            public void onReceivedError(WebView webView, int i, String str, String str2) {
                VICloudGameWebView.this.vi_progressBar.setVisibility(8);
                VICloudGameWebView.this.url = str2;
                super.onReceivedError(webView, i, str, str2);
                if (str2.startsWith("tel:")) {
                    VICloudGameWebView.this.handleBackPressed();
                }
                VICloudGameWebView.this.sendData(i, str);
                Toast.makeText(VICloudGameWebView.this.getApplicationContext(), "Sorry, something went wrong. Please try again", 1).show();
            }

            @Override
            public boolean shouldOverrideUrlLoading(WebView webView, String str) {
                if (!str.startsWith("intent:") && !str.startsWith("mailto:") && !str.startsWith("maps:") && !str.startsWith("geo:") && !str.startsWith("sms:") && !str.startsWith("whatsapp") && !str.startsWith("tel:")) {
                    return false;
                }
                try {
                    Intent intent = new Intent("android.intent.action.VIEW");
                    intent.setData(Uri.parse(str));
                    VICloudGameWebView.this.startActivity(intent);
                    if (!str.startsWith("tel:")) {
                        VICloudGameWebView.this.vi_webView.goBack();
                    }
                } catch (ActivityNotFoundException unused) {
                    Toast.makeText(VICloudGameWebView.this.getApplicationContext(), "Sorry, something went wrong. Please try again", 1).show();
                }
                return true;
            }

            @Override
            public void onReceivedError(WebView webView, WebResourceRequest webResourceRequest, WebResourceError webResourceError) {
                super.onReceivedError(webView, webResourceRequest, webResourceError);
            }
        });
        this.vi_webView.addJavascriptInterface(new Object() {
            @JavascriptInterface
            public void postMessage(String str) {
                if (str == null || TextUtils.equals(str, "home") || !TextUtils.equals(str, "back")) {
                    return;
                }
                VICloudGameWebView.this.runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        VICloudGameWebView.this.handleBackPressed();
                    }
                });
            }
        }, "ReactNativeWebView");
        this.vi_webView.setDownloadListener(new DownloadListener() {
            @Override
            public void onDownloadStart(String str, String str2, String str3, String str4, long j) {
                DownloadManager.Request request = new DownloadManager.Request(Uri.parse(str));
                request.setMimeType(str4);
                request.addRequestHeader("cookie", CookieManager.getInstance().getCookie(str));
                request.addRequestHeader("User-Agent", str2);
                request.setDescription("Downloading File...");
                request.setTitle(URLUtil.guessFileName(str, str3, str4));
                request.allowScanningByMediaScanner();
                request.setNotificationVisibility(1);
                request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, URLUtil.guessFileName(str, str3, str4));
                ((DownloadManager) VICloudGameWebView.this.getSystemService("download")).enqueue(request);
                Toast.makeText(VICloudGameWebView.this.getApplicationContext(), "Downloading File", 1).show();
            }
        });
        this.vi_webView.loadUrl(this.url);
    }

    public void onDestroy() {
        super.onDestroy();
        WebView webView = this.vi_webView;
        if (webView != null) {
            webView.setWebViewClient(null);
            this.vi_webView.setWebChromeClient(null);
            this.vi_webView.loadUrl("");
        }
    }

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

    public void onResume() {
        super/*androidx.fragment.app.FragmentActivity*/.onResume();
    }

    public void onStop() {
        super.onStop();
    }

    public void sendData(int i, String str) {
        try {
            Object obj = getApplication().getPackageManager().getPackageInfo(getApplication().getPackageName(), 0).versionName;
            try {
                JSONObject jSONObject = new JSONObject();
                jSONObject.put("module", getIntent().getStringExtra("title"));
                jSONObject.put("payload", new JSONObject(getIntent().getStringExtra("userObj")));
                jSONObject.put("APIName", this.url);
                jSONObject.put("deviceModel", Build.MODEL);
                jSONObject.put(KibanaUtilConstants.DEVICE_OS_VERSION, AnalyticsConstants.EVENT_PV_OS_ANDROID);
                jSONObject.put("deviceManufacturer", Build.MANUFACTURER);
                jSONObject.put("appVersion", obj);
                jSONObject.put("MSISDN", getIntent().getStringExtra(KibanaUtilConstants.MSISDN));
                JSONObject jSONObject2 = new JSONObject();
                JSONObject jSONObject3 = new JSONObject();
                jSONObject3.put(KibanaUtilConstants.ERROR_CODE, i);
                jSONObject3.put(KibanaUtilConstants.ERROR_MESSAGE, str);
                jSONObject2.put(KibanaUtilConstants.DATA, jSONObject3);
                jSONObject.put(KibanaUtilConstants.API_RESPONSE, jSONObject2);
                KibanaUtility.sendLog(jSONObject, "adobe", new KibanaUtility.CallBack() {
                    public void onFailure(String str2) {
                    }

                    public void onSuccess(String str2) {
                    }
                });
            } catch (Exception unused) {
            }
        } catch (PackageManager.NameNotFoundException e) {
            throw new RuntimeException(e);
        }
    }
}