导航菜单

页面标题

页面副标题

凤凰之城 v1.0.3 - BrowserAdActivity.java 源代码

正在查看: 凤凰之城 v1.0.3 应用的 BrowserAdActivity.java JAVA 源代码文件

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


package com.octopus.ad.internal.activity;

import android.app.Activity;
import android.content.Intent;
import android.content.MutableContextWrapper;
import android.net.Uri;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.webkit.CookieSyncManager;
import android.webkit.DownloadListener;
import android.webkit.RenderProcessGoneDetail;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;
import com.octopus.ad.R;
import com.octopus.ad.internal.o;
import com.octopus.ad.internal.utilities.HaoboLog;
import com.octopus.ad.internal.utilities.StringUtil;
import com.octopus.ad.internal.utilities.ViewUtil;
import com.octopus.ad.utils.b.f;
import java.util.LinkedList;

public class BrowserAdActivity extends Activity {
    public static LinkedList<WebView> a = new LinkedList<>();
    private int b;
    private WebView c;
    private TextView d;

    @Override
    public void onBackPressed() {
        f.a("OctopusAd", "...........................backPressed...........................");
        if (!this.c.canGoBack()) {
            a();
        } else {
            this.c.goBack();
            f.a("OctopusAd", " mWebView.goBack()");
        }
    }

    @Override
    public void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        setContentView(R.layout.oct_activity_in_app_browser);
        WebView poll = a.poll();
        this.c = poll;
        if (poll == null) {
            a();
            return;
        }
        poll.getSettings();
        if (this.c.getContext() instanceof MutableContextWrapper) {
            ((MutableContextWrapper) this.c.getContext()).setBaseContext(this);
        }
        this.b = getIntent().getIntExtra("REPEAT_NUM", 0);
        this.d = (TextView) findViewById(R.id.tv_title);
        WindowManager.LayoutParams attributes = getWindow().getAttributes();
        attributes.width = -1;
        attributes.height = -1;
        getWindow().setAttributes(attributes);
        WebView webView = (WebView) findViewById(R.id.web_view);
        webView.getSettings().setSavePassword(false);
        ViewGroup.LayoutParams layoutParams = webView.getLayoutParams();
        ViewGroup viewGroup = (ViewGroup) webView.getParent();
        int indexOfChild = viewGroup.indexOfChild(webView);
        viewGroup.removeView(webView);
        ViewUtil.removeChildFromParent(this.c);
        this.c.setLayoutParams(layoutParams);
        this.c.getSettings().setUseWideViewPort(true);
        this.c.getSettings().setLoadWithOverviewMode(true);
        WebView.setWebContentsDebuggingEnabled(false);
        viewGroup.addView(this.c, indexOfChild);
        final ProgressBar progressBar = (ProgressBar) findViewById(R.id.progress_bar);
        this.c.setDownloadListener(new DownloadListener() {
            @Override
            public void onDownloadStart(String str, String str2, String str3, String str4, long j) {
                try {
                    BrowserAdActivity.this.c.getContext().startActivity(new Intent("android.intent.action.VIEW", Uri.parse(str)));
                    BrowserAdActivity.this.a();
                } catch (Exception e) {
                    f.a("OctopusAd", "An Exception Caught", e);
                }
            }
        });
        this.c.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageFinished(WebView webView2, String str) {
                CookieSyncManager cookieSyncManager = CookieSyncManager.getInstance();
                if (cookieSyncManager != null) {
                    cookieSyncManager.sync();
                }
            }

            @Override
            public boolean onRenderProcessGone(WebView webView2, RenderProcessGoneDetail renderProcessGoneDetail) {
                return true;
            }

            @Override
            public boolean shouldOverrideUrlLoading(WebView webView2, String str) {
                HaoboLog.v(HaoboLog.browserLogTag, HaoboLog.getString(R.string.opening_url, str));
                if (str.startsWith("http")) {
                    return false;
                }
                BrowserAdActivity.this.a(str);
                return true;
            }
        });
        this.c.setWebChromeClient(new WebChromeClient() {
            @Override
            public void onProgressChanged(WebView webView2, int i) {
                if (i < 100 && progressBar.getVisibility() == 8) {
                    progressBar.setVisibility(0);
                }
                progressBar.setProgress(i);
                if (i == 100) {
                    progressBar.setVisibility(8);
                }
            }

            @Override
            public void onReceivedTitle(WebView webView2, String str) {
                super.onReceivedTitle(webView2, str);
                if (BrowserAdActivity.this.d == null || TextUtils.isEmpty(str) || str.startsWith("http")) {
                    return;
                }
                BrowserAdActivity.this.d.setText(str);
            }
        });
        ((ImageView) findViewById(R.id.close_iv)).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                BrowserAdActivity.this.a();
            }
        });
    }

    @Override
    public void onDestroy() {
        o.a().g.remove("dpForbid");
        ViewUtil.removeChildFromParent(this.c);
        super.onDestroy();
    }

    @Override
    public void onPause() {
        super.onPause();
    }

    @Override
    public void onResume() {
        super.onResume();
    }

    public void a(String str) {
        Uri parse = StringUtil.isEmpty(str) ? null : Uri.parse(str);
        if (parse == null) {
            HaoboLog.w(HaoboLog.browserLogTag, HaoboLog.getString(R.string.opening_url_failed, str));
            return;
        }
        Intent intent = new Intent("android.intent.action.VIEW", parse);
        intent.setFlags(268435456);
        try {
            startActivity(intent);
            if (this.b == 0) {
                a();
            }
            this.b--;
        } catch (Exception e) {
            f.a("OctopusAd", "An Exception Caught", e);
        }
    }

    public void a() {
        if (this.b != 100) {
            finish();
        }
    }
}