导航菜单

页面标题

页面副标题

Uptodown App Store v6.80 - MRAIDCommunicatorUtil.java 源代码

正在查看: Uptodown App Store v6.80 应用的 MRAIDCommunicatorUtil.java JAVA 源代码文件

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


package com.mbridge.msdk.newreward.player.view.hybrid.util;

import android.app.Activity;
import android.content.Context;
import android.util.DisplayMetrics;
import android.webkit.ValueCallback;
import android.webkit.WebView;
import com.mbridge.msdk.foundation.tools.ab;
import com.mbridge.msdk.foundation.tools.af;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import org.json.JSONObject;

public class MRAIDCommunicatorUtil {
    public static final String KEY_CURRENTORIENTATION = "currentAppOrientation";
    public static final String KEY_PLACEMENTTYPE = "placementType";
    public static final String KEY_STATE = "state";
    public static final String KEY_VIEWABLE = "viewable";
    public static final String PLACEMENT_INLINE = "inline";
    public static final String PLACEMENT_INTERSTITIAL = "Interstitial";
    public static final String STATES_DEFAULT = "default";
    public static final String STATES_EXPANDED = "expanded";
    public static final String STATES_HIDDEN = "hidden";
    public static final String STATES_LOADING = "loading";
    public static final String STATES_RESIZED = "resized";
    private static final String TAG = "MRAIDCommunicatorUtil";

    private static void call(WebView webView, String str) {
        if (webView != null) {
            try {
                webView.evaluateJavascript(str, new ValueCallback<String>() {
                    @Override
                    public final void onReceiveValue(String str2) {
                    }
                });
            } catch (Throwable th) {
                af.b(TAG, th.getMessage());
            }
        }
    }

    public static void fireAudioVolumeChange(WebView webView, double d) {
        call(webView, String.format(Locale.CHINA, "javascript:window.mraidbridge.audioVolumeChange(%s);", Double.valueOf(d)));
    }

    public static void fireChangeEventForProperties(WebView webView, Map<String, Object> map) {
        if (map == null || map.size() == 0) {
            return;
        }
        JSONObject jSONObject = new JSONObject();
        for (Map.Entry<String, Object> entry : map.entrySet()) {
            try {
                jSONObject.put(entry.getKey(), entry.getValue());
            } catch (Exception e) {
                af.b(TAG, e.getMessage());
            }
        }
        call(webView, String.format("javascript:window.mraidbridge.fireChangeEvent(%s);", jSONObject.toString()));
    }

    public static void fireErrorEvent(WebView webView, String str, String str2) {
        call(webView, String.format("javascript:window.mraidbridge.fireErrorEvent('%1s', '%2s');", str2, str));
    }

    public static void fireNativeMethodCompleteEvent(WebView webView, String str) {
        call(webView, String.format("javascript:window.mraidbridge.nativeCallComplete('%s');", str));
    }

    public static void fireReadyEvent(WebView webView) {
        call(webView, "javascript:window.mraidbridge.fireReadyEvent();");
    }

    public static void fireSetCurrentPosition(WebView webView, float f, float f4, float f5, float f6) {
        call(webView, String.format(Locale.CHINA, "javascript:window.mraidbridge.setCurrentPosition(%.1f, %.1f, %.1f, %.1f);", Float.valueOf(f), Float.valueOf(f4), Float.valueOf(f5), Float.valueOf(f6)));
    }

    public static void fireSetDefaultPosition(WebView webView, float f, float f4, float f5, float f6) {
        call(webView, String.format(Locale.CHINA, "javascript:window.mraidbridge.setDefaultPosition(%.1f, %.1f, %.1f, %.1f);", Float.valueOf(f), Float.valueOf(f4), Float.valueOf(f5), Float.valueOf(f6)));
    }

    public static void fireSetIsViewable(WebView webView, String str) {
        call(webView, String.format("javascript:window.mraidbridge.setIsViewable(%s);", str));
    }

    public static void fireSetMaxSize(WebView webView, float f, float f4) {
        call(webView, String.format(Locale.CHINA, "javascript:window.mraidbridge.setMaxSize(%.1f, %.1f);", Float.valueOf(f), Float.valueOf(f4)));
    }

    public static void fireSetPlacementType(WebView webView, String str) {
        call(webView, String.format("javascript:window.mraidbridge.setPlacementType(%s);", str));
    }

    public static void fireSetScreenSize(WebView webView, float f, float f4) {
        call(webView, String.format(Locale.CHINA, "javascript:window.mraidbridge.setScreenSize(%.1f, %.1f);", Float.valueOf(f), Float.valueOf(f4)));
    }

    public static void fireSizeChangeEvent(WebView webView, float f, float f4) {
        call(webView, String.format(Locale.CHINA, "javascript:window.mraidbridge.notifySizeChangeEvent(%.1f, %.1f);", Float.valueOf(f), Float.valueOf(f4)));
    }

    public static void notifyMRAIDEnvironmentChange(WebView webView, String str) {
        if (webView == null) {
            return;
        }
        try {
            JSONObject jSONObject = new JSONObject();
            jSONObject.put("orientation", str);
            jSONObject.put("locked", "true");
            HashMap hashMap = new HashMap();
            hashMap.put(KEY_PLACEMENTTYPE, PLACEMENT_INTERSTITIAL);
            hashMap.put(KEY_STATE, STATES_DEFAULT);
            hashMap.put(KEY_VIEWABLE, "true");
            hashMap.put(KEY_CURRENTORIENTATION, jSONObject);
            Context context = webView.getContext();
            if (context instanceof Activity) {
                float j = ab.j(context);
                float h = ab.h(context);
                DisplayMetrics displayMetrics = new DisplayMetrics();
                ((Activity) context).getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
                float f = displayMetrics.widthPixels;
                float f4 = displayMetrics.heightPixels;
                fireSetScreenSize(webView, j, h);
                fireSetMaxSize(webView, f, f4);
            }
            fireSetDefaultPosition(webView, webView.getLeft(), webView.getTop(), webView.getWidth(), webView.getHeight());
            fireSetCurrentPosition(webView, webView.getLeft(), webView.getTop(), webView.getWidth(), webView.getHeight());
            fireChangeEventForProperties(webView, hashMap);
            fireAudioVolumeChange(webView, MBHybridUtil.getCurrentVolume(context));
            fireReadyEvent(webView);
        } catch (Throwable th) {
            af.b(TAG, th.getMessage());
        }
    }
}