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);
}
}