Stick Squad 3 v1.2.5.9版本的 MD5 值为:375cf7f77a7075270cd68d1397368279

以下内容为反编译后的 BaseHtmlWebView.java 源代码,内容仅作参考


package com.fusepowered.m2.mobileads;

import android.content.Context;
import android.view.MotionEvent;
import android.view.View;
import com.fusepowered.m2.common.AdReport;
import com.fusepowered.m2.common.logging.MoPubLog;
import com.fusepowered.m2.common.util.VersionCode;
import com.fusepowered.m2.mobileads.ViewGestureDetector;

public class BaseHtmlWebView extends BaseWebView implements ViewGestureDetector.UserClickListener {
    private boolean mClicked;
    private final ViewGestureDetector mViewGestureDetector;

    public BaseHtmlWebView(Context context, AdReport adReport) {
        super(context);
        disableScrollingAndZoom();
        getSettings().setJavaScriptEnabled(true);
        this.mViewGestureDetector = new ViewGestureDetector(context, this, adReport);
        this.mViewGestureDetector.setUserClickListener(this);
        if (VersionCode.currentApiLevel().isAtLeast(VersionCode.ICE_CREAM_SANDWICH)) {
            enablePlugins(true);
        }
        setBackgroundColor(0);
    }

    public void init(boolean isScrollable) {
        initializeOnTouchListener(isScrollable);
    }

    @Override
    public void loadUrl(String url) {
        if (url != null) {
            MoPubLog.d("Loading url: " + url);
            if (url.startsWith("javascript:")) {
                super.loadUrl(url);
            }
        }
    }

    private void disableScrollingAndZoom() {
        setHorizontalScrollBarEnabled(false);
        setHorizontalScrollbarOverlay(false);
        setVerticalScrollBarEnabled(false);
        setVerticalScrollbarOverlay(false);
        getSettings().setSupportZoom(false);
    }

    public void loadHtmlResponse(String htmlResponse) {
        loadDataWithBaseURL("http://ads.mopub.com/", htmlResponse, "text/html", "utf-8", null);
    }

    void initializeOnTouchListener(final boolean isScrollable) {
        setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                BaseHtmlWebView.this.mViewGestureDetector.sendTouchEvent(event);
                return event.getAction() == 2 && !isScrollable;
            }
        });
    }

    @Override
    public void onUserClick() {
        this.mClicked = true;
    }

    @Override
    public void onResetUserClick() {
        this.mClicked = false;
    }

    @Override
    public boolean wasClicked() {
        return this.mClicked;
    }
}