Cyber Surfer v5.2.5版本的 MD5 值为:db13c5fce988de393e52d2679f934b22

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


package net.pubnative.lite.sdk.consent;

import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.MotionEvent;
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 com.safedk.android.analytics.brandsafety.DetectTouchUtils;
import com.safedk.android.analytics.brandsafety.creatives.CreativeInfoManager;
import com.safedk.android.utils.Logger;
import net.pubnative.lite.sdk.HyBid;
public class UserConsentActivity extends Activity {
    private static final String REDIRECT_ACCEPT = "https://cdn.pubnative.net/static/consent/GDPR-consent-dialog-accept.html";
    private static final String REDIRECT_CLOSE = "https://pubnative.net/";
    private static final String REDIRECT_REJECT = "https://cdn.pubnative.net/static/consent/GDPR-consent-dialog-reject.html";
    public static final int RESULT_CONSENT_ACCEPTED = 200;
    public static final int RESULT_CONSENT_REJECTED = 201;
    private static final String TAG = "UserConsentActivity";
    private final WebViewClient webViewClient = new WebViewClient() {
        @Override
        public void onLoadResource(WebView webView, String str) {
            super.onLoadResource(webView, str);
            CreativeInfoManager.onResourceLoaded("net.pubnative", webView, str);
        }

        @Override
        public void onPageFinished(WebView webView, String str) {
            super.onPageFinished(webView, str);
        }

        @Override
        public void onPageStarted(WebView webView, String str, Bitmap bitmap) {
            super.onPageStarted(webView, str, bitmap);
        }

        public boolean safedk_UserConsentActivity$1_shouldOverrideUrlLoading_5aa5802cbb0fd3a276d73154983e7527(WebView webView, String str) {
            str.hashCode();
            char c = 65535;
            switch (str.hashCode()) {
                case -215057637:
                    if (str.equals(UserConsentActivity.REDIRECT_CLOSE)) {
                        c = 0;
                        break;
                    }
                    break;
                case 959081779:
                    if (str.equals(UserConsentActivity.REDIRECT_ACCEPT)) {
                        c = 1;
                        break;
                    }
                    break;
                case 1662727420:
                    if (str.equals(UserConsentActivity.REDIRECT_REJECT)) {
                        c = 2;
                        break;
                    }
                    break;
            }
            switch (c) {
                case 0:
                    UserConsentActivity.this.finish();
                    return false;
                case 1:
                    HyBid.getUserDataManager().grantConsent();
                    UserConsentActivity.this.setResult(200);
                    return false;
                case 2:
                    HyBid.getUserDataManager().denyConsent();
                    UserConsentActivity.this.setResult(201);
                    return false;
                default:
                    return super.shouldOverrideUrlLoading(webView, str);
            }
        }

        @Override
        public WebResourceResponse shouldInterceptRequest(WebView webView, WebResourceRequest webResourceRequest) {
            return CreativeInfoManager.onWebViewResponseWithHeaders("net.pubnative", webView, webResourceRequest, super.shouldInterceptRequest(webView, webResourceRequest));
        }

        @Override
        public WebResourceResponse shouldInterceptRequest(WebView webView, String str) {
            return CreativeInfoManager.onWebViewResponse("net.pubnative", webView, str, super.shouldInterceptRequest(webView, str));
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView webView, String str) {
            Logger.d("PubNative|SafeDK: Execution> Lnet/pubnative/lite/sdk/consent/UserConsentActivity$1;->shouldOverrideUrlLoading(Landroid/webkit/WebView;Ljava/lang/String;)Z");
            boolean safedk_UserConsentActivity$1_shouldOverrideUrlLoading_5aa5802cbb0fd3a276d73154983e7527 = safedk_UserConsentActivity$1_shouldOverrideUrlLoading_5aa5802cbb0fd3a276d73154983e7527(webView, str);
            CreativeInfoManager.onOverrideUrlLoading("net.pubnative", webView, str, safedk_UserConsentActivity$1_shouldOverrideUrlLoading_5aa5802cbb0fd3a276d73154983e7527);
            return safedk_UserConsentActivity$1_shouldOverrideUrlLoading_5aa5802cbb0fd3a276d73154983e7527;
        }
    };

    private void loadConsentPage(WebView webView) {
        if (!HyBid.isInitialized() || HyBid.getUserDataManager() == null) {
            net.pubnative.lite.sdk.utils.Logger.e(TAG, "HyBid SDK has not been initialised yet. Dropping call.");
            finish();
            return;
        }
        String consentPageLink = HyBid.getUserDataManager().getConsentPageLink();
        if (!TextUtils.isEmpty(consentPageLink)) {
            webView.loadUrl(consentPageLink);
            return;
        }
        net.pubnative.lite.sdk.utils.Logger.e(TAG, "Invalid consent page URL. Dropping call.");
        finish();
    }

    private void setupWebView(WebView webView) {
        webView.setVerticalScrollBarEnabled(false);
        webView.setHorizontalScrollBarEnabled(false);
        WebSettings settings = webView.getSettings();
        settings.setJavaScriptEnabled(true);
        settings.setDomStorageEnabled(true);
        settings.setAllowFileAccess(false);
        settings.setAllowContentAccess(false);
        settings.setLoadWithOverviewMode(true);
        settings.setLoadsImagesAutomatically(true);
        settings.setSupportZoom(false);
        settings.setBuiltInZoomControls(false);
        webView.setWebViewClient(this.webViewClient);
        setContentView(webView, new FrameLayout.LayoutParams(-1, -1));
    }

    @Override
    public boolean dispatchTouchEvent(MotionEvent motionEvent) {
        DetectTouchUtils.activityOnTouch("net.pubnative", motionEvent);
        return super.dispatchTouchEvent(motionEvent);
    }

    @Override
    public void onBackPressed() {
    }

    @Override
    protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        WebView webView = new WebView(this);
        setupWebView(webView);
        loadConsentPage(webView);
    }
}