导航菜单

页面标题

页面副标题

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

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

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


package com.huawei.maps.dynamic.card.binding.nearbywebview;

import android.text.TextUtils;
import android.webkit.JavascriptInterface;
import android.webkit.WebView;
import androidx.annotation.Keep;
import androidx.navigation.NavController;
import com.huawei.maps.app.common.remoteconfig.MapRemoteConfig;
import com.huawei.maps.app.common.utils.a;
import com.huawei.maps.app.common.utils.task.TaskRunnable;
import com.huawei.maps.businessbase.at.ApplicationAtClient;
import com.huawei.maps.businessbase.bean.HtmlDeviceInfoEx;
import com.huawei.maps.businessbase.manager.AbstractMapUIController;
import com.huawei.maps.businessbase.network.MapApiKeyClient;
import com.huawei.maps.businessbase.network.MapHttpClient;
import com.huawei.maps.dynamic.card.binding.nearbywebview.ExploreNearbyWebViewBridge;
import com.huawei.secure.android.common.webview.SafeGetUrl;
import defpackage.ct3;
import defpackage.q42;
import java.lang.ref.WeakReference;
import java.util.List;
import java.util.Locale;
import kotlin.Metadata;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.internal.SourceDebugExtension;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

@Metadata(d1 = {"\u0000L\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0002\b\f\n\u0002\u0010\u000b\n\u0002\b\u0005\n\u0002\u0010\u0006\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u000f\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010 \n\u0002\b\u0007\u0018\u0000 <2\u00020\u0001:\u0001-B#\b\u0016\u0012\u0006\u0010\u0003\u001a\u00020\u0002\u0012\u0006\u0010\u0005\u001a\u00020\u0004\u0012\b\u0010\u0007\u001a\u0004\u0018\u00010\u0006¢\u0006\u0004\b\b\u0010\tJ\u0011\u0010\n\u001a\u0004\u0018\u00010\u0006H\u0007¢\u0006\u0004\b\n\u0010\u000bJ\u0011\u0010\f\u001a\u0004\u0018\u00010\u0006H\u0007¢\u0006\u0004\b\f\u0010\u000bJ\u0011\u0010\r\u001a\u0004\u0018\u00010\u0006H\u0007¢\u0006\u0004\b\r\u0010\u000bJ\u0011\u0010\u000e\u001a\u0004\u0018\u00010\u0006H\u0007¢\u0006\u0004\b\u000e\u0010\u000bJ\u0011\u0010\u000f\u001a\u0004\u0018\u00010\u0006H\u0007¢\u0006\u0004\b\u000f\u0010\u000bJ\u0011\u0010\u0010\u001a\u0004\u0018\u00010\u0006H\u0007¢\u0006\u0004\b\u0010\u0010\u000bJ\u0011\u0010\u0011\u001a\u0004\u0018\u00010\u0006H\u0007¢\u0006\u0004\b\u0011\u0010\u000bJ\u0011\u0010\u0012\u001a\u0004\u0018\u00010\u0006H\u0007¢\u0006\u0004\b\u0012\u0010\u000bJ\u000f\u0010\u0014\u001a\u00020\u0013H\u0007¢\u0006\u0004\b\u0014\u0010\u0015J\u0011\u0010\u0016\u001a\u0004\u0018\u00010\u0006H\u0007¢\u0006\u0004\b\u0016\u0010\u000bJ\u000f\u0010\u0017\u001a\u00020\u0006H\u0007¢\u0006\u0004\b\u0017\u0010\u000bJ3\u0010\u001d\u001a\u00020\u001c2\b\u0010\u0007\u001a\u0004\u0018\u00010\u00062\b\u0010\u0018\u001a\u0004\u0018\u00010\u00062\u0006\u0010\u001a\u001a\u00020\u00192\u0006\u0010\u001b\u001a\u00020\u0019H\u0007¢\u0006\u0004\b\u001d\u0010\u001eJ\u000f\u0010\u001f\u001a\u00020\u0006H\u0007¢\u0006\u0004\b\u001f\u0010\u000bJ\u000f\u0010 \u001a\u00020\u0006H\u0007¢\u0006\u0004\b \u0010\u000bJ7\u0010%\u001a\u00020\u001c2\b\u0010!\u001a\u0004\u0018\u00010\u00062\b\u0010\"\u001a\u0004\u0018\u00010\u00062\b\u0010#\u001a\u0004\u0018\u00010\u00062\b\u0010$\u001a\u0004\u0018\u00010\u0006H\u0007¢\u0006\u0004\b%\u0010&J\u0019\u0010(\u001a\u00020\u001c2\b\u0010'\u001a\u0004\u0018\u00010\u0006H\u0007¢\u0006\u0004\b(\u0010)J\u000f\u0010*\u001a\u00020\u0013H\u0007¢\u0006\u0004\b*\u0010\u0015J\u000f\u0010+\u001a\u00020\u0013H\u0002¢\u0006\u0004\b+\u0010\u0015R\u001e\u0010/\u001a\n\u0012\u0004\u0012\u00020\u0002\u0018\u00010,8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b-\u0010.R\u001e\u00101\u001a\n\u0012\u0004\u0012\u00020\u0004\u0018\u00010,8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b0\u0010.R\u0018\u00105\u001a\u0004\u0018\u0001028\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b3\u00104R\u001e\u00109\u001a\n\u0012\u0004\u0012\u00020\u0006\u0018\u0001068\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b7\u00108R\u0018\u0010;\u001a\u0004\u0018\u00010\u00068\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b+\u0010:¨\u0006="}, d2 = {"Lcom/huawei/maps/dynamic/card/binding/nearbywebview/ExploreNearbyWebViewBridge;", "", "Lcom/huawei/maps/dynamic/card/binding/nearbywebview/ExploreNearbyWaterfallEleFragment;", "directFragment", "Landroid/webkit/WebView;", "webView", "", "poiId", "<init>", "(Lcom/huawei/maps/dynamic/card/binding/nearbywebview/ExploreNearbyWaterfallEleFragment;Landroid/webkit/WebView;Ljava/lang/String;)V", "getAppClientVersion", "()Ljava/lang/String;", "getDeviceInfo", "getApiKey", "getMapApiKey", "getWindowSize", "getApplicationAt", "getToken", "getCloudApiAddr", "", "isAppMirrorMode", "()Z", "getOperationRegion", "getScene", "poiName", "", "lat", "lon", "Lmda;", "goToPoiDetailPageWithLocation", "(Ljava/lang/String;Ljava/lang/String;DD)V", "getExcludePoiId", "getUserLocationCountry", "url", "noteId", "title", "poiDetails", "ctripNoteUrlJump", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "ctripNoteInfo", "setComplainAddInfo", "(Ljava/lang/String;)V", "isShowComplain", "e", "Ljava/lang/ref/WeakReference;", "a", "Ljava/lang/ref/WeakReference;", "fragmentRef", "b", "webViewRef", "Lcom/huawei/secure/android/common/webview/SafeGetUrl;", "c", "Lcom/huawei/secure/android/common/webview/SafeGetUrl;", "mSafeGetUrl", "", "d", "Ljava/util/List;", "mOpeWhiteList", "Ljava/lang/String;", "excludePoiId", "f", "DynamicCard_release"}, k = 1, mv = {1, 8, 0}, xi = 48)
@SourceDebugExtension({"SMAP\nExploreNearbyWebViewBridge.kt\nKotlin\n*S Kotlin\n*F\n+ 1 ExploreNearbyWebViewBridge.kt\ncom/huawei/maps/dynamic/card/binding/nearbywebview/ExploreNearbyWebViewBridge\n+ 2 ArraysJVM.kt\nkotlin/collections/ArraysKt__ArraysJVMKt\n*L\n1#1,309:1\n37#2,2:310\n*S KotlinDebug\n*F\n+ 1 ExploreNearbyWebViewBridge.kt\ncom/huawei/maps/dynamic/card/binding/nearbywebview/ExploreNearbyWebViewBridge\n*L\n81#1:310,2\n*E\n"})
public final class ExploreNearbyWebViewBridge {

    @NotNull
    public static final Companion INSTANCE = new Companion(null);

    @Keep
    private static final String myTag = ExploreNearbyWebViewBridge.class.getSimpleName();

    @Nullable
    public WeakReference<ExploreNearbyWaterfallEleFragment> fragmentRef;

    @Nullable
    public WeakReference<WebView> webViewRef;

    @Nullable
    public SafeGetUrl mSafeGetUrl;

    @Nullable
    public List<String> mOpeWhiteList;

    @Nullable
    public String excludePoiId;

    @Metadata(d1 = {"\u0000\u0018\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010 \n\u0002\u0010\u000e\n\u0002\b\u0006\b\u0086\u0003\u0018\u00002\u00020\u0001B\t\b\u0002¢\u0006\u0004\b\u0002\u0010\u0003J\u0015\u0010\u0006\u001a\b\u0012\u0004\u0012\u00020\u00050\u0004H\u0002¢\u0006\u0004\b\u0006\u0010\u0007R\u001c\u0010\t\u001a\n \b*\u0004\u0018\u00010\u00050\u00058\u0002X\u0083\u0004¢\u0006\u0006\n\u0004\b\t\u0010\n¨\u0006\u000b"}, d2 = {"Lcom/huawei/maps/dynamic/card/binding/nearbywebview/ExploreNearbyWebViewBridge$a;", "", "<init>", "()V", "", "", "b", "()Ljava/util/List;", "kotlin.jvm.PlatformType", "myTag", "Ljava/lang/String;", "DynamicCard_release"}, k = 1, mv = {1, 8, 0}, xi = 48)
    public static final class Companion {
        public Companion(at1 at1Var) {
            this();
        }

        public final List<String> b() {
            String m = MapRemoteConfig.g().m("agc_atomization_host_white_list");
            if (!TextUtils.isEmpty(m)) {
                h74.i(m, "whiteListStr");
                m = jh9.B(m, "\\s", "", false, 4, (Object) null);
            }
            String str = m;
            h74.i(str, "whiteListStr");
            return kh9.w0(str, new String[]{","}, false, 0, 6, (Object) null);
        }

        public Companion() {
        }
    }

    @Metadata(d1 = {"\u0000\u0019\n\u0000\n\u0002\u0018\u0002\n\u0002\u0010\u000e\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003*\u0001\u0000\b\n\u0018\u00002\u00020\u0001J\u000f\u0010\u0003\u001a\u00020\u0002H\u0016¢\u0006\u0004\b\u0003\u0010\u0004J\u000f\u0010\u0006\u001a\u00020\u0005H\u0016¢\u0006\u0004\b\u0006\u0010\u0007¨\u0006\b"}, d2 = {"com/huawei/maps/dynamic/card/binding/nearbywebview/ExploreNearbyWebViewBridge$b", "Lcom/huawei/maps/app/common/utils/task/TaskRunnable;", "", "getClassName", "()Ljava/lang/String;", "Lmda;", "run", "()V", "DynamicCard_release"}, k = 1, mv = {1, 8, 0}, xi = 48)
    public static final class b extends TaskRunnable {
        public final String b;

        public b(String str) {
            this.b = str;
        }

        @NotNull
        public String getClassName() {
            String str = ExploreNearbyWebViewBridge.myTag;
            h74.i(str, "myTag");
            return str;
        }

        public void run() {
            WeakReference weakReference = ExploreNearbyWebViewBridge.this.fragmentRef;
            ExploreNearbyWaterfallEleFragment exploreNearbyWaterfallEleFragment = weakReference != null ? (ExploreNearbyWaterfallEleFragment) weakReference.get() : null;
            AbstractMapUIController.getInstance().dynamicCardJump((NavController) null, "detailFragmentResetMapStatus", (Object) null);
            a.a.e(exploreNearbyWaterfallEleFragment, this.b);
        }
    }

    public ExploreNearbyWebViewBridge(@NotNull ExploreNearbyWaterfallEleFragment exploreNearbyWaterfallEleFragment, @NotNull WebView webView, @Nullable String str) {
        h74.j(exploreNearbyWaterfallEleFragment, "directFragment");
        h74.j(webView, "webView");
        this.fragmentRef = new WeakReference<>(exploreNearbyWaterfallEleFragment);
        this.webViewRef = new WeakReference<>(webView);
        this.mSafeGetUrl = new SafeGetUrl(webView);
        this.mOpeWhiteList = INSTANCE.b();
        this.excludePoiId = str;
    }

    public static final void d() {
        AbstractMapUIController.getInstance().dynamicCardJump((NavController) null, "detailFragmentResetMapStatus", (Object) null);
    }

    @JavascriptInterface
    public final void ctripNoteUrlJump(@Nullable String url, @Nullable String noteId, @Nullable String title, @Nullable String poiDetails) {
        if (e()) {
            WeakReference<ExploreNearbyWaterfallEleFragment> weakReference = this.fragmentRef;
            ExploreNearbyWaterfallEleFragment exploreNearbyWaterfallEleFragment = weakReference != null ? weakReference.get() : null;
            com.huawei.maps.app.common.utils.task.a.c(com.huawei.maps.app.common.utils.task.a.a(myTag, "ctripNoteUrlJump", new Runnable() {
                @Override
                public final void run() {
                    ExploreNearbyWebViewBridge.d();
                }
            }));
            a.a.f(exploreNearbyWaterfallEleFragment, url, title, poiDetails, "originPoi", (Function0) null);
        }
    }

    public final boolean e() {
        try {
            SafeGetUrl safeGetUrl = this.mSafeGetUrl;
            String urlMethod = safeGetUrl != null ? safeGetUrl.getUrlMethod() : null;
            if (urlMethod == null) {
                return false;
            }
            if (!jh9.F(urlMethod, "https://htmlassets.huawei.com", false, 2, (Object) null) && !jh9.F(urlMethod, "file:", false, 2, (Object) null)) {
                if (tha.b(this.mOpeWhiteList)) {
                    return false;
                }
                List<String> list = this.mOpeWhiteList;
                h74.g(list);
                return c55.h(urlMethod, (String[]) list.toArray(new String[0]));
            }
            return true;
        } catch (Exception unused) {
            hm4.h(myTag, "mSafeGetUrl error");
            return false;
        }
    }

    @JavascriptInterface
    @Nullable
    public final String getApiKey() {
        hm4.p(myTag, "getApiKey");
        if (e()) {
            return lm7.d();
        }
        return null;
    }

    @JavascriptInterface
    @Nullable
    public final String getAppClientVersion() {
        hm4.p(myTag, "getAppClientVersion");
        return String.valueOf(qk9.u(o41.b()));
    }

    @JavascriptInterface
    @Nullable
    public final String getApplicationAt() {
        hm4.p(myTag, "getApplicationAt");
        if (e()) {
            return ApplicationAtClient.e();
        }
        return null;
    }

    @JavascriptInterface
    @Nullable
    public final String getCloudApiAddr() {
        String siteUrl = e() ? MapHttpClient.getSiteUrl() : null;
        return TextUtils.isEmpty(siteUrl) ? "" : siteUrl;
    }

    @JavascriptInterface
    @Nullable
    public final String getDeviceInfo() {
        if (!e()) {
            return null;
        }
        hm4.p(myTag, "getDeviceInfo");
        HtmlDeviceInfoEx htmlDeviceInfoEx = new HtmlDeviceInfoEx((Boolean) null, (String) null, 3, (at1) null);
        htmlDeviceInfoEx.setAppPackage(o41.b().getPackageName());
        htmlDeviceInfoEx.setAppVersion(qk9.v(o41.c()));
        htmlDeviceInfoEx.setDeviceType(ct3.Y(o41.c()) ? "PAD" : "MobilePhone");
        htmlDeviceInfoEx.setDeviceCategory(q42.f());
        htmlDeviceInfoEx.setDeviceId(p19.F().r0());
        htmlDeviceInfoEx.setLanguage(br3.a());
        a.a aVar = a.a;
        htmlDeviceInfoEx.setCountry(aVar.n());
        htmlDeviceInfoEx.setLocaleCountry(Locale.getDefault().getCountry());
        String m = aVar.m();
        if (m == null) {
            m = "";
        }
        htmlDeviceInfoEx.setOtCountry(m);
        return og3.a(htmlDeviceInfoEx);
    }

    @JavascriptInterface
    @NotNull
    public final String getExcludePoiId() {
        String str = this.excludePoiId;
        return str != null ? str : "";
    }

    @JavascriptInterface
    @Nullable
    public final String getMapApiKey() {
        hm4.p(myTag, "getMapApiKey");
        if (e()) {
            return MapApiKeyClient.getMapApiKey();
        }
        return null;
    }

    @JavascriptInterface
    @Nullable
    public final String getOperationRegion() {
        return e() ? a.a.l() : "";
    }

    @JavascriptInterface
    @NotNull
    public final String getScene() {
        return "POI_DETAIL";
    }

    @JavascriptInterface
    @Nullable
    public final String getToken() {
        hm4.p(myTag, "getToken");
        if (e()) {
            return e4.a().getAccessToken();
        }
        return null;
    }

    @JavascriptInterface
    @NotNull
    public final String getUserLocationCountry() {
        return a.a.p();
    }

    @JavascriptInterface
    @Nullable
    public final String getWindowSize() {
        int f0 = ct3.f0(o41.c(), ct3.m(o41.c()));
        WeakReference<WebView> weakReference = this.webViewRef;
        String str = ((weakReference != null ? weakReference.get() : null) != null ? ct3.f0(o41.c(), r1.getWidth()) : f0) + "&" + f0;
        hm4.p(myTag, "getWindowSize = " + str);
        return str;
    }

    @JavascriptInterface
    public final void goToPoiDetailPageWithLocation(@Nullable String poiId, @Nullable String poiName, double lat, double lon) {
        String str = myTag;
        hm4.z(str, "goToPoiDetailPageWithLocation");
        if (e()) {
            WeakReference<ExploreNearbyWaterfallEleFragment> weakReference = this.fragmentRef;
            if ((weakReference != null ? weakReference.get() : null) != null) {
                a.a aVar = a.a;
                WeakReference<ExploreNearbyWaterfallEleFragment> weakReference2 = this.fragmentRef;
                aVar.r(weakReference2 != null ? weakReference2.get() : null, poiId, poiName, lat, lon);
                return;
            }
        }
        hm4.z(str, "goToPoiDetailPageWithLocation error: not in white list");
    }

    @JavascriptInterface
    public final boolean isAppMirrorMode() {
        String appFlavor = o41.b().getAppFlavor();
        if (TextUtils.isEmpty(appFlavor)) {
            return false;
        }
        h74.i(appFlavor, "appFlavor");
        String lowerCase = appFlavor.toLowerCase(Locale.ROOT);
        h74.i(lowerCase, "this as java.lang.String).toLowerCase(Locale.ROOT)");
        return kh9.K(lowerCase, "mirror", false, 2, (Object) null);
    }

    @JavascriptInterface
    public final boolean isShowComplain() {
        Boolean k = MapRemoteConfig.g().k("agc_ctrip_complain_is_show");
        if (k == null) {
            return false;
        }
        return k.booleanValue();
    }

    @JavascriptInterface
    public final void setComplainAddInfo(@Nullable String ctripNoteInfo) {
        com.huawei.maps.app.common.utils.task.a.c(new b(ctripNoteInfo));
    }
}