QQ浏览器 v12.2.3.7053版本的 MD5 值为:8285ab3059e5c8b521a264dfbc5c3685

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


package com.tencent.mtt.browser.homepage.fastcut.report;

import com.tencent.common.featuretoggle.FeatureToggle;
import com.tencent.common.utils.UrlUtils;
import com.tencent.mtt.base.utils.QBUrlUtils;
import com.tencent.mtt.qbcontext.core.QBContext;
import com.tencent.mtt.search.facade.ISearchService;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;
import kotlin.text.StringsKt;
import qb.qbcontext.BuildConfig;

public final class UrlAppenderForSearch {

    public static final Companion f39734a = new Companion(null);

    public static final class Companion {

        public final class WhenMappings {

            public static final int[] f39735a = new int[Scene.values().length];

            static {
                f39735a[Scene.Default.ordinal()] = 1;
                f39735a[Scene.SmallDoddle.ordinal()] = 2;
                f39735a[Scene.BigDoddle.ordinal()] = 3;
                f39735a[Scene.Card.ordinal()] = 4;
            }
        }

        private Companion() {
        }

        public Companion(DefaultConstructorMarker defaultConstructorMarker) {
            this();
        }

        private final SubScene a(String str) {
            Companion companion = this;
            if (companion.d(str)) {
                return SubScene.File;
            }
            if (companion.e(str)) {
                return SubScene.Txt;
            }
            if (companion.f(str)) {
                return SubScene.Feeds;
            }
            if (companion.h(str)) {
                return SubScene.ServiceWindow;
            }
            if (companion.i(str)) {
                return SubScene.Bookmark;
            }
            if (companion.j(str)) {
                return SubScene.History;
            }
            if (companion.k(str)) {
                return SubScene.DownloadPage;
            }
            if (companion.l(str)) {
                return SubScene.QuWeiDaTi;
            }
            if (companion.m(str)) {
                return SubScene.TaiKongTanSuo;
            }
            if (companion.o(str)) {
                return SubScene.HippyNavigation;
            }
            if (companion.n(str)) {
                return SubScene.WenYuReSou;
            }
            Boolean g = companion.g(str);
            Intrinsics.checkExpressionValueIsNotNull(g, "isSearchResultUrl(url)");
            return g.booleanValue() ? SubScene.SearchResult : (UrlUtils.isWebUrl(str) || QBUrlUtils.ac(str)) ? SubScene.Web : SubScene.Other;
        }

        private final String a(Scene scene, SubScene subScene) {
            String str = "zhida_" + scene.getEsStr() + "_" + subScene.getEsStr();
            Intrinsics.checkExpressionValueIsNotNull(str, "esBuilder.toString()");
            return str;
        }

        private final String a(Scene scene, SubScene subScene, String str) {
            return b(str, scene, subScene);
        }

        private final String a(String str, Scene scene) {
            Companion companion = this;
            SubScene a2 = companion.a(str);
            return a2 == SubScene.Other ? str : companion.a(str, scene, a2);
        }

        private final String a(String str, Scene scene, SubScene subScene) {
            return QBUrlUtils.ac(str) ? b(scene, subScene, str) : a(scene, subScene, str);
        }

        private final String b(Scene scene, SubScene subScene, String str) {
            String reUrl = UrlUtils.decode(UrlUtils.getUrlParamValue(str, "reurl"));
            Intrinsics.checkExpressionValueIsNotNull(reUrl, "reUrl");
            String encode = UrlUtils.encode(b(reUrl, scene, subScene));
            String addParamsToUrl = UrlUtils.addParamsToUrl(UrlUtils.removeArg(str, "reurl"), "reurl=" + encode);
            Intrinsics.checkExpressionValueIsNotNull(addParamsToUrl, "UrlUtils.addParamsToUrl(…AL_URL_PARAMS}=${reUrl}\")");
            return addParamsToUrl;
        }

        private final String b(String str) {
            String str2;
            String urlParamValue = UrlUtils.getUrlParamValue(str, "jump_from");
            String str3 = urlParamValue;
            if (!(str3 == null || str3.length() == 0)) {
                if (!c(urlParamValue)) {
                    str = UrlUtils.replaceValueByKey(str, "jump_from", "1_13_18_00");
                    str2 = "UrlUtils.replaceValueByK…KEY_JF, JF_XHOME_DEFAULT)";
                }
                return str;
            }
            str = UrlUtils.addParamsToUrl(str, "jump_from=1_13_18_00");
            str2 = "UrlUtils.addParamsToUrl(…JF}=${JF_XHOME_DEFAULT}\")";
            Intrinsics.checkExpressionValueIsNotNull(str, str2);
            return str;
        }

        private final String b(String str, Scene scene, SubScene subScene) {
            Companion companion = this;
            return companion.b(companion.c(str, scene, subScene));
        }

        private final String c(String str, Scene scene, SubScene subScene) {
            String res = UrlUtils.addParamsToUrl(UrlUtils.removeArg(UrlUtils.removeArg(str, "entryscene"), "entryScene"), "entryScene=" + a(scene, subScene));
            Intrinsics.checkExpressionValueIsNotNull(res, "res");
            return res;
        }

        private final boolean c(String str) {
            return StringsKt.startsWith$default(str, "1_13_", false, 2, (Object) null);
        }

        private final boolean d(String str) {
            return StringsKt.startsWith$default(str, "qb://filesdk/reader", false, 2, (Object) null);
        }

        private final boolean e(String str) {
            return StringsKt.startsWith$default(str, "qb://xhomenovel", false, 2, (Object) null);
        }

        private final boolean f(String str) {
            return StringsKt.startsWith$default(str, "qb://ext/feeds", false, 2, (Object) null);
        }

        private final Boolean g(String str) {
            return ((ISearchService) QBContext.getInstance().getService(ISearchService.class)).isSearchResultPage(str);
        }

        private final boolean h(String str) {
            return StringsKt.contains$default((CharSequence) str, (CharSequence) "https://so.html5.qq.com/service/page", false, 2, (Object) null);
        }

        private final boolean i(String str) {
            return StringsKt.startsWith$default(str, "qb://bookmark", false, 2, (Object) null);
        }

        private final boolean j(String str) {
            return StringsKt.startsWith$default(str, "qb://history", false, 2, (Object) null);
        }

        private final boolean k(String str) {
            return StringsKt.startsWith$default(str, "qb://download", false, 2, (Object) null);
        }

        private final boolean l(String str) {
            return StringsKt.startsWith$default(str, "https://so.html5.qq.com/page/real/search_result?q=%E8%B6%A3%E5%91%B3%E7%AD%94%E9%A2%98", false, 2, (Object) null);
        }

        private final boolean m(String str) {
            return StringsKt.contains$default((CharSequence) str, (CharSequence) "static.res.qq.com%2Fnav%2Fexplorestar%2Findex.html", false, 2, (Object) null);
        }

        private final boolean n(String str) {
            return StringsKt.contains$default((CharSequence) str, (CharSequence) "https%3A%2F%2Fso.html5.qq.com%2Flandingpage%2Fpage%2Fsurf-page", false, 2, (Object) null);
        }

        private final boolean o(String str) {
            return StringsKt.startsWith$default(str, "qb://ext/rn?module=shortcutSiteNav&component=shortcutSiteNav", false, 2, (Object) null);
        }

        public final String a(Scene scene, String url) {
            int i;
            Intrinsics.checkParameterIsNotNull(scene, "scene");
            Intrinsics.checkParameterIsNotNull(url, "url");
            return (!FeatureToggle.a(BuildConfig.FEATURE_TOGGLE_868963469) || (i = WhenMappings.f39735a[scene.ordinal()]) == 1 || i == 2 || i == 3) ? url : i != 4 ? a(url, scene) : a(url, Scene.Card, SubScene.ReSouBang);
        }
    }

    public enum SubScene {
        Other("000"),
        Web("001"),
        SearchResult("002"),
        Bookmark("003"),
        History("004"),
        DownloadPage("005"),
        QuWeiDaTi("006"),
        TaiKongTanSuo("007"),
        HippyNavigation("008"),
        WenYuReSou("009"),
        File("010"),
        Txt("011"),
        Feeds("012"),
        ServiceWindow("013"),
        ReSouBang("001");

        private final String esStr;

        SubScene(String str) {
            this.esStr = str;
        }

        public final String getEsStr() {
            return this.esStr;
        }
    }
}