导航菜单

页面标题

页面副标题

Petal Maps v4.7.0.310001 - ReportJavascriptObj.java 源代码

正在查看: Petal Maps v4.7.0.310001 应用的 ReportJavascriptObj.java JAVA 源代码文件

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


package com.huawei.maps.app.search.model.nearby;

import android.text.TextUtils;
import android.webkit.JavascriptInterface;
import android.webkit.WebView;
import androidx.fragment.app.Fragment;
import androidx.navigation.fragment.NavHostFragment;
import com.huawei.maps.app.common.remoteconfig.MapRemoteConfig;
import com.huawei.maps.app.common.utils.task.TaskRunnable;
import com.huawei.maps.app.common.utils.task.a;
import com.huawei.maps.app.routeplan.model.ComplainAddInfo;
import com.huawei.maps.app.setting.constant.RoadReportType;
import com.huawei.secure.android.common.webview.SafeGetUrl;
import java.lang.ref.WeakReference;

public class ReportJavascriptObj {
    private static final String APP_ID = "5009574862";
    private static final String COLOR_LIGHT = "#F1F3F5";
    private static final String COLOR_NIGHT = "#202224";
    private static final String SCENE_ID = "2";
    private static final String SUB_SCENE_ID = "3";
    public static final String TAG = "ReportJavascriptObj";
    private String mCtripAdditionalContext;
    private final WeakReference<Fragment> mFragmentWeakReference;
    private String[] mOpeWhiteList;
    private final SafeGetUrl mSafeGetUrl;

    public ReportJavascriptObj(Fragment fragment, WebView webView, String str) {
        this.mFragmentWeakReference = new WeakReference<>(fragment);
        String m = MapRemoteConfig.g().m("agc_atomization_host_white_list");
        if (!TextUtils.isEmpty(m)) {
            this.mOpeWhiteList = m.replaceAll("\\s", RoadReportType.CAMERA_INCORRECT).split(",");
        }
        this.mSafeGetUrl = new SafeGetUrl(webView);
        this.mCtripAdditionalContext = str;
    }

    private boolean isInOpeWhiteList(String str) {
        if (tha.e(this.mOpeWhiteList)) {
            hm4.h(TAG, "isInOpeWhiteList: whitelist is empty");
            return false;
        }
        boolean h = c55.h(str, this.mOpeWhiteList);
        hm4.p(TAG, "isInOpeWhiteList:" + h);
        return h;
    }

    @JavascriptInterface
    public String complainAddInfo() {
        if (!isInOpeWhiteList()) {
            hm4.h(TAG, "url error");
            return RoadReportType.CAMERA_INCORRECT;
        }
        ComplainAddInfo complainAddInfo = (ComplainAddInfo) og3.d(this.mCtripAdditionalContext, ComplainAddInfo.class);
        if (complainAddInfo == null) {
            return RoadReportType.CAMERA_INCORRECT;
        }
        complainAddInfo.setAppId(APP_ID);
        complainAddInfo.setDeviceId(p19.F().r0());
        complainAddInfo.setSceneId("2");
        complainAddInfo.setSubSceneId("3");
        complainAddInfo.setShowBackButton(true);
        complainAddInfo.setDisableUserUpload(true);
        ComplainAddInfo.Theme theme = new ComplainAddInfo.Theme();
        theme.setBackgroundColorNight(COLOR_NIGHT);
        theme.setBackgroundColorLight(COLOR_LIGHT);
        complainAddInfo.setTheme(theme);
        return og3.a(complainAddInfo);
    }

    @JavascriptInterface
    public void historyBack() {
        a.c(new TaskRunnable() {
            public String getClassName() {
                return ReportJavascriptObj.TAG;
            }

            public void run() {
                ReportJavascriptObj.this.onClosePressed();
            }
        });
    }

    public boolean onClosePressed() {
        Fragment fragment = this.mFragmentWeakReference.get();
        if (fragment == null || !fragment.isAdded()) {
            return true;
        }
        NavHostFragment.findNavController(fragment).navigateUp();
        return true;
    }

    private boolean isInOpeWhiteList() {
        try {
            String urlMethod = this.mSafeGetUrl.getUrlMethod();
            if (urlMethod == null || !(urlMethod.startsWith("https://htmlassets.huawei.com") || urlMethod.startsWith("file:"))) {
                return isInOpeWhiteList(urlMethod);
            }
            return true;
        } catch (Exception unused) {
            hm4.h(TAG, "get url from webview error");
            return false;
        }
    }
}