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

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


package com.tencent.mtt.search.operation;

import android.text.TextUtils;
import com.huawei.hms.support.hianalytics.HiAnalyticsConstant;
import com.tencent.common.manifest.annotation.CreateMethod;
import com.tencent.common.manifest.annotation.ExtensionImpl;
import com.tencent.common.manifest.annotation.ServiceImpl;
import com.tencent.common.task.QBTask;
import com.tencent.common.wup.IWUPRequestCallBack;
import com.tencent.common.wup.WUPRequestBase;
import com.tencent.common.wup.WUPResponseBase;
import com.tencent.mtt.base.wup.GUIDManager;
import com.tencent.mtt.base.wup.WUPRequest;
import com.tencent.mtt.base.wup.facade.IBootWupBusinessReqExtension;
import com.tencent.mtt.qbinfo.IQConfigure;
import com.tencent.mtt.qbinfo.QUAUtils;
import com.tencent.mtt.search.facade.ISearchOpListener;
import com.tencent.mtt.search.facade.ISearchOpService;
import com.tencent.mtt.search.network.MTT.SmartBox_ConfigReq;
import com.tencent.mtt.search.network.MTT.SmartBox_ConfigRsp;
import com.tencent.mtt.search.statistics.SearchLog;
import com.tencent.mtt.setting.PublicSettingManager;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.Callable;
import java.util.concurrent.CopyOnWriteArrayList;

@ServiceImpl(createMethod = CreateMethod.GET, service = ISearchOpService.class)
@ExtensionImpl(createMethod = CreateMethod.GET, extension = IBootWupBusinessReqExtension.class)
public class SearchOpManager implements IWUPRequestCallBack, IBootWupBusinessReqExtension, ISearchOpService {

    public static String f70355a = "qb://searchresult?pagetype=sogou_result&q=${q}&sogouUrl=${sogouUrl}&sogouTabID=${sogouTabID}";

    public static String f70356b = "[\n\t\t{\n\t\t\t\t\"dataID\": \"weixin\",\n\t\t\t\t\"queryParams\": [\n\t\t\t\t\t\t\"keyword\",\n\t\t\t\t\t\t\"query\"\n\t\t\t\t],\n\t\t\t\t\"startWith\": [\n\t\t\t\t\t\"https://weixin.sogou.com/weixinwap\"\n\t\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\t\"dataID\": \"zhihu\",\n\t\t\t\t\"queryParams\": [\n\t\t\t\t\t\t\"keyword\",\n\t\t\t\t\t\t\"query\"\n\t\t\t\t],\n\t\t\t\t\"headRegular\": {\n\t\t\t\t\t\t\"regular\": \"^http(s?):\\\\/\\\\/(sl\\\\.|open\\\\.)?(m|wap)\\\\.sogou\\\\.com\\\\/web\\\\/(searchList\\\\.jsp|sl)\",\n\t\t\t\t\t\t\"startCount\": 60\n\t\t\t\t},\n\t\t\t\t\"paramsPairOr\": {\n\t\t\t\t\t\"insite\": \"zhihu.com\"\n\t\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\t\"dataID\": \"mingyi\",\n\t\t\t\t\"queryParams\": [\n\t\t\t\t\t\t\"keyword\",\n\t\t\t\t\t\t\"query\"\n\t\t\t\t],\n\t\t\t\t\"headRegular\": {\n\t\t\t\t\t\t\"regular\": \"^http(s?):\\\\/\\\\/(sl\\\\.|open\\\\.)?(m|wap)\\\\.sogou\\\\.com\\\\/web\\\\/(searchList\\\\.jsp|sl)\",\n\t\t\t\t\t\t\"startCount\": 60\n\t\t\t\t},\n\t\t\t\t\"paramsPairOr\": {\n\t\t\t\t\t\"m2web\": \"mingyi.sogou.com\"\n\t\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\t\"dataID\": \"hanyu\",\n\t\t\t\t\"queryParams\": [\n\t\t\t\t\t\t\"keyword\",\n\t\t\t\t\t\t\"query\"\n\t\t\t\t],\n\t\t\t\t\"startWith\": [\n\t\t\t\t\t\"https://hanyu.sogou.com/result\"\n\t\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\t\"dataID\": \"yingwen\",\n\t\t\t\t\"queryParams\": [\n\t\t\t\t\t\t\"keyword\",\n\t\t\t\t\t\t\"query\"\n\t\t\t\t],\n\t\t\t\t\"startWith\": [\n\t\t\t\t\t\"https://english.sogou.com/english\"\n\t\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\t\"dataID\": \"fanyi\",\n\t\t\t\t\"queryParams\": [\n\t\t\t\t\t\t\"keyword\",\n\t\t\t\t\t\t\"query\"\n\t\t\t\t],\n\t\t\t\t\"startWith\": [\n\t\t\t\t\t\"https://fanyi.sogou.com\"\n\t\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\t\"dataID\": \"kexue\",\n\t\t\t\t\"queryParams\": [\n\t\t\t\t\t\t\"keyword\",\n\t\t\t\t\t\t\"query\"\n\t\t\t\t],\n\t\t\t\t\"startWith\": [\n\t\t\t\t\t\"https://baike.sogou.com/kexue/home.htm\",\n\t\t\t\t\t\"https://baike.sogou.com/kexue/searchList.htm\"\n\t\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\t\"dataID\": \"tupian\",\n\t\t\t\t\"queryParams\": [\n\t\t\t\t\t\t\"keyword\",\n\t\t\t\t\t\t\"query\"\n\t\t\t\t],\n\t\t\t\t\"startWith\": [\n\t\t\t\t\t\"https://pic.sogou.com/pic/searchList.jsp\"\n\t\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\t\"dataID\": \"yingyong\",\n\t\t\t\t\"queryParams\": [\n\t\t\t\t\t\t\"keyword\",\n\t\t\t\t\t\t\"query\"\n\t\t\t\t],\n\t\t\t\t\"startWith\": [\n\t\t\t\t\t\"https://as.sogou.com/app\"\n\t\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\t\"dataID\": \"shipin\",\n\t\t\t\t\"queryParams\": [\n\t\t\t\t\t\t\"keyword\",\n\t\t\t\t\t\t\"query\"\n\t\t\t\t],\n\t\t\t\t\"headRegular\": {\n\t\t\t\t\t\"regular\": \"^https?:\\\\/\\\\/(wapv|waptv|movie|m\\\\.v).sogou.com\\\\/v\",\n\t\t\t\t\t\"startCount\": 60\n\t\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\t\"dataID\": \"xinwen\",\n\t\t\t\t\"queryParams\": [\n\t\t\t\t\t\t\"keyword\",\n\t\t\t\t\t\t\"query\"\n\t\t\t\t],\n\t\t\t\t\"headRegular\": {\n\t\t\t\t\t\t\"regular\": \"^http(s?):\\\\/\\\\/(sl\\\\.|open\\\\.)?(m|wap)\\\\.sogou\\\\.com\\\\/web\\\\/(searchList\\\\.jsp|sl)\",\n\t\t\t\t\t\t\"startCount\": 60\n\t\t\t\t},\n\t\t\t\t\"paramsPairOr\": {\n\t\t\t\t\t\"m2web\": \"news.sogou.com\"\n\t\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\t\"dataID\": \"wenwen\",\n\t\t\t\t\"queryParams\": [\n\t\t\t\t\t\t\"keyword\",\n\t\t\t\t\t\t\"query\"\n\t\t\t\t],\n\t\t\t\t\"headRegular\": {\n\t\t\t\t\t\t\"regular\": \"^http(s?):\\\\/\\\\/(sl\\\\.|open\\\\.)?(m|wap)\\\\.sogou\\\\.com\\\\/web\\\\/(searchList\\\\.jsp|sl)\",\n\t\t\t\t\t\t\"startCount\": 60\n\t\t\t\t},\n\t\t\t\t\"paramsPairOr\": {\n\t\t\t\t\t\"insite\": \"wenwen.sogou.com\"\n\t\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"dataID\": \"zhishi\",\n\t\t\t\"queryParams\": [\n\t\t\t\t\t\"keyword\",\n\t\t\t\t\t\"query\"\n\t\t\t],\n\t\t\t\"headRegular\": {\n\t\t\t\t\t\"regular\": \"^http(s?):\\\\/\\\\/(sl\\\\.|open\\\\.)?(m|wap)\\\\.sogou\\\\.com\\\\/web\\\\/sl\",\n\t\t\t\t\t\"startCount\": 60\n\t\t\t},\n\t\t\t\"paramsPairOr\": {\n\t\t\t\t\"channel\": \"zhishi\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"dataID\": \"zhishi\",\n\t\t\t\"queryParams\": [\n\t\t\t\t\t\"keyword\",\n\t\t\t\t\t\"query\"\n\t\t\t],\n\t\t\t\"headRegular\": {\n\t\t\t\t\t\"regular\": \"^http(s?):\\\\/\\\\/(sl\\\\.|open\\\\.)?(m|wap)\\\\.sogou\\\\.com\\\\/web\\\\/zhishi\\\\/search\\\\.jsp\",\n\t\t\t\t\t\"startCount\": 60\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\t\"dataID\": \"baike\",\n\t\t\t\t\"queryParams\": [\n\t\t\t\t\t\t\"key\",\n\t\t\t\t\t\t\"keyword\",\n\t\t\t\t\t\t\"query\"\n\t\t\t\t],\n\t\t\t\t\"headRegular\": {\n\t\t\t\t\t\t\"regular\": \"^http(s?):\\\\/\\\\/(sl\\\\.|open\\\\.)?(m|wap)\\\\.sogou\\\\.com\\\\/web\\\\/(searchList\\\\.jsp|sl)\",\n\t\t\t\t\t\t\"startCount\": 60\n\t\t\t\t},\n\t\t\t\t\"paramsPairOr\": {\n\t\t\t\t\t\"insite\": \"baike.sogou.com\"\n\t\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\t\"dataID\": \"gouwu\",\n\t\t\t\t\"queryParams\": [\n\t\t\t\t\t\t\"keyword\",\n\t\t\t\t\t\t\"query\"\n\t\t\t\t],\n\t\t\t\t\"startWith\": [\n\t\t\t\t\t\"https://ishop.sogou.com/search\"\n\t\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\t\"dataID\": \"wangye\",\n\t\t\t\t\"queryParams\": [\n\t\t\t\t\t\t\"keyword\",\n\t\t\t\t\t\t\"query\"\n\t\t\t\t],\n\t\t\t\t\"headRegular\": {\n\t\t\t\t\t\t\"regular\": \"^http(s?):\\\\/\\\\/(sl\\\\.|open\\\\.)?(m|wap)\\\\.sogou\\\\.com\\\\/web\\\\/(searchList\\\\.jsp|sl)\",\n\t\t\t\t\t\t\"startCount\": 60\n\t\t\t\t}\n\t\t}\n]";

    private String f70357c;

    private String f70358d;
    private String e;
    private CopyOnWriteArrayList<ISearchOpListener> f;

    private static class LazyHolder {

        private static final SearchOpManager f70360a = new SearchOpManager();

        private LazyHolder() {
        }
    }

    public interface SearchRecommendSetting {
    }

    private SearchOpManager() {
        this.f70357c = "";
        this.f70358d = "";
        this.e = "热榜";
        this.f = new CopyOnWriteArrayList<>();
    }

    private String a(String str) {
        return "SearchOpManager_be_config_" + str;
    }

    private void a(Map<String, String> map) {
        for (String str : map.keySet()) {
            String str2 = map.get(str);
            SearchLog.a("SearchOpManager", "写入配置:" + str, str2, 1);
            if (!TextUtils.isEmpty(str)) {
                a(str, str2);
            }
        }
    }

    public static final SearchOpManager getInstance() {
        return LazyHolder.f70360a;
    }

    public void a() {
        if (this.f.size() <= 0) {
            return;
        }
        QBTask.b((Callable) new Callable<Object>() {
            @Override
            public Object call() throws Exception {
                Iterator it = SearchOpManager.this.f.iterator();
                while (it.hasNext()) {
                    ((ISearchOpListener) it.next()).a();
                }
                return null;
            }
        });
    }

    public void a(String str, String str2) {
        PublicSettingManager.a().setString(a(str), str2);
    }

    public String b(String str, String str2) {
        return PublicSettingManager.a().getString(a(str), str2);
    }

    @Override
    public String getHotSearchEntranceName() {
        if (TextUtils.isEmpty(this.f70357c)) {
            this.f70357c = PublicSettingManager.a().getString("key_homepage_hot_search_entrance_name", "");
        }
        if (TextUtils.isEmpty(this.f70357c)) {
            this.f70357c = this.e;
        }
        return this.f70357c;
    }

    @Override
    public String getHotSearchEntranceUrl() {
        if (TextUtils.isEmpty(this.f70358d)) {
            this.f70358d = PublicSettingManager.a().getString("key_homepage_hot_search_entrance_url", "");
        }
        return this.f70358d;
    }

    @Override
    public void onWUPTaskFail(WUPRequestBase wUPRequestBase) {
        this.f70358d = "";
        PublicSettingManager.a().setString("key_homepage_hot_search_entrance_url", "");
    }

    @Override
    public void onWUPTaskSuccess(WUPRequestBase wUPRequestBase, WUPResponseBase wUPResponseBase) {
        if (wUPResponseBase != null) {
            Object obj = wUPResponseBase.get(HiAnalyticsConstant.Direction.RESPONSE);
            if (obj instanceof SmartBox_ConfigRsp) {
                SmartBox_ConfigRsp smartBox_ConfigRsp = (SmartBox_ConfigRsp) obj;
                SearchLog.a("自建结果页Native搜索拦截", "收到后台config", "rsp.iRet=" + smartBox_ConfigRsp.iRet, 1);
                if (smartBox_ConfigRsp.iRet != 0) {
                    return;
                }
                if (smartBox_ConfigRsp.mParam == null || smartBox_ConfigRsp.mParam.size() <= 0) {
                    this.f70358d = "";
                    PublicSettingManager.a().setString("key_homepage_hot_search_entrance_url", "");
                    return;
                }
                PublicSettingManager.a().setString("search_operation_auth_n" + IQConfigure.f, "");
                Set<String> keySet = smartBox_ConfigRsp.mParam.keySet();
                if (keySet.contains("feeds_search_entrance_name")) {
                    String str = smartBox_ConfigRsp.mParam.get("feeds_search_entrance_name");
                    if (!TextUtils.isEmpty(str)) {
                        this.f70357c = str;
                        PublicSettingManager.a().setString("key_homepage_hot_search_entrance_name", str);
                    }
                }
                if (keySet.contains("feeds_search_entrance_url")) {
                    this.f70358d = smartBox_ConfigRsp.mParam.get("feeds_search_entrance_url");
                    PublicSettingManager.a().setString("key_homepage_hot_search_entrance_url", this.f70358d);
                }
                if (keySet.contains("page_search_native_search")) {
                    String str2 = smartBox_ConfigRsp.mParam.get("page_search_native_search");
                    SearchLog.a("自建结果页Native搜索拦截", "有拦截信息", str2, 1);
                    PublicSettingManager.a().setString("SearchOpManager.spkey_page_search_native_search", str2);
                } else {
                    SearchLog.a("自建结果页Native搜索拦截", "没有拦截信息", "", 1);
                }
                a();
                a(smartBox_ConfigRsp.mParam);
            }
        }
    }

    @Override
    public List<WUPRequest> provideBootBusinessReq() {
        WUPRequest wUPRequest = new WUPRequest("smartboxsearch", "getConfig");
        SmartBox_ConfigReq smartBox_ConfigReq = new SmartBox_ConfigReq();
        smartBox_ConfigReq.sAuth = PublicSettingManager.a().getString("search_operation_auth_n" + IQConfigure.f, "");
        smartBox_ConfigReq.sGuid = GUIDManager.a().f();
        smartBox_ConfigReq.sQua = QUAUtils.a();
        wUPRequest.put(HiAnalyticsConstant.Direction.REQUEST, smartBox_ConfigReq);
        wUPRequest.setRequestCallBack(this);
        ArrayList arrayList = new ArrayList();
        arrayList.add(wUPRequest);
        SearchLog.a("SearchOpManager", "发起请求", "", 1);
        return arrayList;
    }

    @Override
    public void registerSearchOpListener(ISearchOpListener iSearchOpListener) {
        if (iSearchOpListener == null || this.f.contains(iSearchOpListener)) {
            return;
        }
        this.f.add(iSearchOpListener);
    }

    @Override
    public void unregisterSearchOpListener(ISearchOpListener iSearchOpListener) {
        if (iSearchOpListener == null || this.f.size() <= 0) {
            return;
        }
        this.f.remove(iSearchOpListener);
    }
}