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

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


package com.tencent.mtt.search.searchEngine;

import MTT.SearchConfRule;
import MTT.SearchItemInfo;
import MTT.SearchItemReq;
import MTT.SearchItemRsp;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.text.TextUtils;
import com.heytap.mcssdk.mode.Message;
import com.huawei.hms.actions.SearchIntents;
import com.huawei.hms.framework.common.ContainerUtils;
import com.huawei.hms.support.hianalytics.HiAnalyticsConstant;
import com.tencent.common.featuretoggle.FeatureToggle;
import com.tencent.common.manifest.annotation.CreateMethod;
import com.tencent.common.manifest.annotation.ServiceImpl;
import com.tencent.common.task.QBTask;
import com.tencent.common.task.TaskManager;
import com.tencent.common.task.TaskObserverBase;
import com.tencent.common.utils.FileUtils;
import com.tencent.common.utils.StringUtils;
import com.tencent.common.utils.UrlUtils;
import com.tencent.common.wup.IWUPRequestCallBack;
import com.tencent.common.wup.WUPRequestBase;
import com.tencent.common.wup.WUPResponseBase;
import com.tencent.common.wup.WUPTaskProxy;
import com.tencent.mtt.ContextHolder;
import com.tencent.mtt.R;
import com.tencent.mtt.base.skin.MttResources;
import com.tencent.mtt.base.stat.StatManager;
import com.tencent.mtt.base.stat.utils.PlatformStatUtils;
import com.tencent.mtt.base.task.PictureTask;
import com.tencent.mtt.base.task.Task;
import com.tencent.mtt.base.utils.UIUtil;
import com.tencent.mtt.base.wup.WUPRequest;
import com.tencent.mtt.browser.WebEngine;
import com.tencent.mtt.browser.bra.addressbar.view.AddressBarViewState;
import com.tencent.mtt.browser.setting.manager.SkinManager;
import com.tencent.mtt.browser.setting.manager.UserSettingManager;
import com.tencent.mtt.browser.window.BackStragety;
import com.tencent.mtt.browser.window.IWebView;
import com.tencent.mtt.browser.window.StatementExternalCallBackStragety;
import com.tencent.mtt.browser.window.UrlParams;
import com.tencent.mtt.browser.window.WindowManager;
import com.tencent.mtt.businesscenter.facade.IFrameworkDelegate;
import com.tencent.mtt.external.weapp.facade.IWeAppService;
import com.tencent.mtt.operation.event.EventLog;
import com.tencent.mtt.qbcontext.core.QBContext;
import com.tencent.mtt.qbcontext.interfaces.wup.IBrowserCmdService;
import com.tencent.mtt.search.SearchHistoryUtil;
import com.tencent.mtt.search.SearchUtils;
import com.tencent.mtt.search.SearchVReportManager;
import com.tencent.mtt.search.backForward.SearchCommonNativePage;
import com.tencent.mtt.search.data.history.SearchHistoryManager;
import com.tencent.mtt.search.data.history.SearchInputHistory;
import com.tencent.mtt.search.facade.IOnSearchEngineSelectChanged;
import com.tencent.mtt.search.facade.ISearchEngineService;
import com.tencent.mtt.search.facade.SearchVReportBean;
import com.tencent.mtt.search.network.MTT.SmartBox_SearchControlRsp;
import com.tencent.mtt.search.network.MTT.SmartBox_SearchControlTask;
import com.tencent.mtt.search.network.MTT.SmartBox_SearchControl_EngineSet;
import com.tencent.mtt.search.searchEngine.urlloader.SearchUrlLoader;
import com.tencent.mtt.search.searchEngine.urlloader.SearchUrlLoaderConfig;
import com.tencent.mtt.search.statistics.SearchLog;
import com.tencent.mtt.search.utils.SearchUrlReportUtil;
import com.tencent.mtt.search.view.common.SearchInputConfig;
import com.tencent.mtt.search.view.reactnative.SearchRNManager;
import com.tencent.mtt.setting.PublicSettingManager;
import com.tencent.mtt.view.dialog.alert.QBLinearDialogClickListener;
import com.xiaomi.mipush.sdk.Constants;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
import java.util.concurrent.Callable;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.regex.Pattern;
import kotlin.text.Typography;
import org.json.JSONObject;
import qb.search.BuildConfig;

@ServiceImpl(createMethod = CreateMethod.GET, service = ISearchEngineService.class)
public class SearchEngineManager implements IWUPRequestCallBack, ISearchEngineService {

    private static boolean f70411d;
    private static boolean k;
    private static volatile SearchEngineManager m;

    private ArrayList<SearchEngineItemInfo> f70413b;

    private ArrayList<SearchConfRule> f70414c;
    private int l;

    SearchEngineDialog f70412a = null;
    private CopyOnWriteArrayList<IOnSearchEngineSelectChanged> e = new CopyOnWriteArrayList<>();
    private boolean f = false;
    private boolean g = false;
    private SearchEngineInfo h = new SearchEngineInfo("1", "");
    private Bitmap i = null;
    private String j = "";

    private interface ControlCommandKey {
    }

    public interface EngineType {
    }

    public static class JumpSearchData {

        String f70422a;

        String f70423b;

        String f70424c;

        int f70425d;
        BackStragety e;
        int f;
        int g;
        Bundle h;

        public JumpSearchData(String str, String str2, String str3, int i, BackStragety backStragety, int i2, int i3, Bundle bundle) {
            this.f70422a = str;
            this.f70423b = str2;
            this.f70424c = str3;
            this.f70425d = i;
            this.e = backStragety;
            this.f = i2;
            this.g = i3;
            this.h = bundle;
        }
    }

    public static class SearchEngineInfo {

        public String f70426a;

        public String f70427b;

        public Bitmap f70428c;

        public SearchEngineInfo(String str, String str2) {
            this.f70426a = str;
            this.f70427b = str2;
        }

        public SearchEngineInfo(String str, String str2, Bitmap bitmap) {
            this.f70426a = str;
            this.f70427b = str2;
            this.f70428c = bitmap;
        }

        public Bitmap a() {
            return this.f70428c;
        }
    }

    private SearchEngineManager() {
    }

    private int a(int i) {
        if (i == 8 || i == 24) {
            return 19;
        }
        if (i != 49) {
            return i != 50 ? 0 : 72;
        }
        return 71;
    }

    private Bitmap a(AddressBarViewState addressBarViewState) {
        if (TextUtils.isEmpty(addressBarViewState.i)) {
            addressBarViewState.i = "";
        }
        if (TextUtils.isEmpty(addressBarViewState.j)) {
            addressBarViewState.j = "";
        }
        ArrayList<SearchConfRule> searchRules = getSearchRules();
        if (searchRules != null && searchRules.size() > 0) {
            Iterator<SearchConfRule> it = searchRules.iterator();
            while (it.hasNext()) {
                SearchConfRule next = it.next();
                if (a(Pattern.matches(next.sHomePageRule, addressBarViewState.i), Pattern.matches(next.sDefaultPageRule, addressBarViewState.i), TextUtils.isEmpty(next.sTitleRule) || Pattern.matches(next.sTitleRule, addressBarViewState.j))) {
                    Iterator<SearchEngineItemInfo> it2 = getSearchItems().iterator();
                    while (it2.hasNext()) {
                        SearchEngineItemInfo next2 = it2.next();
                        if (TextUtils.equals(next2.f70408b, next.sFullName)) {
                            return b(next2);
                        }
                    }
                } else if (Pattern.matches(next.sResultPageRule, addressBarViewState.i)) {
                    Iterator<SearchEngineItemInfo> it3 = getSearchItems().iterator();
                    while (it3.hasNext()) {
                        SearchEngineItemInfo next3 = it3.next();
                        if (TextUtils.equals(next3.f70408b, next.sFullName)) {
                            return a(next3);
                        }
                    }
                } else {
                    continue;
                }
            }
        }
        return getDefaultIconBitmap();
    }

    private Bitmap a(SearchEngineItemInfo searchEngineItemInfo) {
        Bitmap o = o(searchEngineItemInfo.i);
        return o == null ? getDefaultIconBitmap() : o;
    }

    private JumpSearchData a(String str, int i, int i2, String str2, String str3, String str4) {
        String validSearchKey = getValidSearchKey(str);
        int a2 = a(i);
        StatementExternalCallBackStragety statementExternalCallBackStragety = (i == 42 || i == 17 || i == 9) ? new StatementExternalCallBackStragety() : null;
        int i3 = i == 48 ? 24 : i;
        Bundle bundle = new Bundle();
        a(bundle, SearchVReportManager.a(), str4);
        bundle.putBoolean("isSearchEngineLoad", true);
        String a3 = SearchUrlReportUtil.f70462a.a(str2 + validSearchKey, str4);
        if (a(i3, a3)) {
            a3 = SearchHistoryUtil.a(a3);
        }
        return new JumpSearchData(validSearchKey, a3, str3, a2, statementExternalCallBackStragety, i2, i3, bundle);
    }

    private synchronized String a(SearchEngineRoutingData searchEngineRoutingData) {
        String[] b2 = searchEngineRoutingData.b();
        if (b2 != null && b2.length > 0) {
            ArrayList<SearchEngineItemInfo> searchItems = getSearchItems();
            if (searchItems != null && searchItems.size() > 0) {
                for (String str : b2) {
                    for (int i = 0; i < searchItems.size(); i++) {
                        SearchEngineItemInfo searchEngineItemInfo = searchItems.get(i);
                        if (searchEngineItemInfo != null) {
                            EventLog.a("引擎路由", "match :" + str + " __" + searchEngineItemInfo.m);
                            if (TextUtils.equals(str, searchEngineItemInfo.m)) {
                                return searchEngineItemInfo.f70409c;
                            }
                        }
                    }
                }
                return "";
            }
            EventLog.a("引擎路由", "引擎列表获取失败");
            return "";
        }
        EventLog.a("引擎路由", "引擎路由无引擎参数");
        return "";
    }

    private void a(Bundle bundle, SearchVReportBean searchVReportBean, String str) {
        String string = PublicSettingManager.a().getString("ProcessDataForSearch.Search.ExtraInfo", "");
        if (searchVReportBean != null) {
            if (!TextUtils.isEmpty(string)) {
                string = string + ContainerUtils.FIELD_DELIMITER;
            }
            string = string + "entryScene=" + searchVReportBean.q() + ContainerUtils.FIELD_DELIMITER + "entryStatus" + ContainerUtils.KEY_VALUE_DELIMITER + searchVReportBean.r() + ContainerUtils.FIELD_DELIMITER + "searchPageStatus" + ContainerUtils.KEY_VALUE_DELIMITER + searchVReportBean.s() + ContainerUtils.FIELD_DELIMITER + "entryTime" + ContainerUtils.KEY_VALUE_DELIMITER + searchVReportBean.v() + ContainerUtils.FIELD_DELIMITER + "entryContent" + ContainerUtils.KEY_VALUE_DELIMITER + searchVReportBean.t() + ContainerUtils.FIELD_DELIMITER + "searchPageContent" + ContainerUtils.KEY_VALUE_DELIMITER + searchVReportBean.u();
            if (!TextUtils.isEmpty(str)) {
                string = string + "&jump_from=" + str;
            }
        }
        bundle.putString("key_search_direct_extra_info", string);
    }

    private void a(JumpSearchData jumpSearchData) {
        SearchUrlLoaderConfig searchUrlLoaderConfig = new SearchUrlLoaderConfig();
        searchUrlLoaderConfig.a(jumpSearchData.f70422a);
        SearchUrlLoader.a().a(new UrlParams(jumpSearchData.f70423b).b(jumpSearchData.f70424c).f(jumpSearchData.f70425d).a(jumpSearchData.e).b(jumpSearchData.f).c(jumpSearchData.g).a(jumpSearchData.h), jumpSearchData.f70422a, jumpSearchData.f70423b, searchUrlLoaderConfig);
    }

    private void a(JumpSearchData jumpSearchData, IWebView iWebView, boolean z) {
        String str;
        String str2;
        if (!TextUtils.equals(jumpSearchData.f70423b, this.j)) {
            str = "打开的链接为:" + jumpSearchData.f70423b;
            str2 = "搜索词与前一个不相同,打开新的搜索结果页";
        } else {
            if (a(iWebView) && z) {
                SearchLog.a("右键点击", "搜索词与上一个相同,且上一个界面是搜索界面,直接复用上一个界面,并刷新", "打开的链接为:" + jumpSearchData.f70423b, 1);
                WindowManager.a().s().back(true, false);
                jumpSearchData.f = 33;
                a(jumpSearchData);
            }
            str = "打开的链接为:" + jumpSearchData.f70423b;
            str2 = "搜索词与上一个相同,且上一个界面不是搜索界面,打开新的搜索结果页";
        }
        SearchLog.a("右键点击", str2, str, 1);
        a(jumpSearchData);
    }

    private void a(String str, int i, int i2) {
        String str2;
        PlatformStatUtils.a("Search_EngineCtrl_doEngineControl");
        if (TextUtils.isEmpty(str) || i < 0 || i > 1) {
            SearchLog.a("CMD下发", "WUP云控-云控失败0", "引擎名为空或icon不在范围内,engineName=" + str + ",iconType=" + i, -1);
            return;
        }
        ArrayList<SearchEngineItemInfo> searchItems = getSearchItems();
        if (searchItems == null || searchItems.size() <= 0) {
            SearchLog.a("CMD下发", "WUP云控-云控失败1", "本地引擎列表为空", -1);
            PlatformStatUtils.a("Search_EngineCtrl_NotHaveEngineList");
            return;
        }
        Iterator<SearchEngineItemInfo> it = searchItems.iterator();
        boolean z = false;
        while (it.hasNext()) {
            SearchEngineItemInfo next = it.next();
            if (next != null && !TextUtils.isEmpty(next.f70408b) && next.f70408b.equalsIgnoreCase(str)) {
                z = true;
            }
        }
        if (z) {
            String searchEngineRecogName = getSearchEngineRecogName();
            SearchLog.a("CMD下发", "WUP云控-切换引擎成功", "engineName=" + str + ",iconType=" + i + ".taskID=" + i2, 1);
            StringBuilder sb = new StringBuilder();
            sb.append("searchenginename");
            sb.append("网页".hashCode());
            PublicSettingManager.a().setString(sb.toString(), str);
            PublicSettingManager.a().setString("searchengineicon", i + "");
            PublicSettingManager.a().setBoolean("key_search_engine_has_changed_v5_1", false);
            notifySearchEngineSelectListener();
            PublicSettingManager.a().setInt("searchControlTaskID", i2);
            PublicSettingManager.a().setString("searchControlCommand", "");
            ChangeEngineUploader.a().a(searchEngineRecogName, str, 1);
            str2 = "Search_EngineCtrl_ControlSuccess";
        } else {
            SearchLog.a("CMD下发", "WUP云控-切换引擎失败3", "本地没有要切换的引擎", -1);
            str2 = "Search_EngineCtrl_NotHaveTargetEngine";
        }
        PlatformStatUtils.a(str2);
    }

    private void a(String str, int i, boolean z, boolean z2, int i2) {
        if (!z && b(str, i) && z2) {
            SearchInputHistory searchInputHistory = new SearchInputHistory(str, str);
            searchInputHistory.z = 5;
            searchInputHistory.y = str;
            searchInputHistory.D = i2;
            SearchHistoryManager.a().b(searchInputHistory);
        }
    }

    public static void a(boolean z) {
        k = z;
    }

    private boolean a(int i, String str) {
        return i == 97 && SearchUtils.h(str);
    }

    private boolean a(IWebView iWebView) {
        if (iWebView == null) {
            return false;
        }
        String url = iWebView.getUrl();
        return SearchUtils.c(url) || SearchUtils.d(url);
    }

    private boolean a(ArrayList<SearchItemInfo> arrayList) {
        if (arrayList == null || arrayList.size() <= 0) {
            SearchLog.a("CMD下发", "引擎协议回包", "引擎列表为空", -1);
            return false;
        }
        if (c(arrayList)) {
            return true;
        }
        if (b(arrayList)) {
            return false;
        }
        a(e(arrayList), 5);
        return true;
    }

    private boolean a(boolean z, boolean z2, boolean z3) {
        return (z || z2) && z3;
    }

    private Bitmap b(SearchEngineItemInfo searchEngineItemInfo) {
        Bitmap o = o(searchEngineItemInfo.g);
        return o == null ? getDefaultIconBitmap() : o;
    }

    public static Bitmap b(String str) {
        File c2;
        FileInputStream fileInputStream;
        Bitmap bitmap = null;
        bitmap = null;
        bitmap = null;
        bitmap = null;
        bitmap = null;
        FileInputStream fileInputStream2 = null;
        bitmap = null;
        bitmap = null;
        if (TextUtils.isEmpty(str)) {
            return null;
        }
        if (!TextUtils.isEmpty(str) && (c2 = c(str)) != null && c2.exists()) {
            try {
                fileInputStream = new FileInputStream(c2);
                try {
                    bitmap = BitmapFactory.decodeStream(fileInputStream);
                } catch (Exception unused) {
                } catch (OutOfMemoryError unused2) {
                } catch (Throwable th) {
                    th = th;
                    fileInputStream2 = fileInputStream;
                    if (fileInputStream2 != null) {
                        try {
                            fileInputStream2.close();
                        } catch (IOException unused3) {
                        }
                    }
                    throw th;
                }
            } catch (Exception unused4) {
                fileInputStream = null;
            } catch (OutOfMemoryError unused5) {
                fileInputStream = null;
            } catch (Throwable th2) {
                th = th2;
            }
            try {
                fileInputStream.close();
            } catch (IOException unused6) {
            }
        }
        return bitmap;
    }

    private void b(String str, int i, int i2, boolean z, String str2, boolean z2, String str3, String str4, String str5, int i3) {
        a(str, i, z, z2, i3);
        d(str3);
        JumpSearchData a2 = a(str, i, i2, str3, str4, str5);
        if (TextUtils.isEmpty(str2)) {
            a(a2, SearchUtils.d(-1), k());
            return;
        }
        SearchLog.a("右键点击", "PID为空,直接加载引擎结果页", "打开的链接为:" + a2.f70423b, 1);
        a2.f = 12;
        a2.h.putString("KEY_PID", str2);
        a(a2);
    }

    private boolean b(String str, int i) {
        return (TextUtils.isEmpty(str) || TextUtils.isEmpty(str.trim()) || i == 91 || i == 92 || i == 48 || i == 4) ? false : true;
    }

    private boolean b(ArrayList<SearchItemInfo> arrayList) {
        String i = i();
        if (TextUtils.isEmpty(i)) {
            return true;
        }
        Iterator<SearchItemInfo> it = arrayList.iterator();
        while (it.hasNext()) {
            SearchItemInfo next = it.next();
            if (next != null && next.sFullName.equalsIgnoreCase(i)) {
                SearchLog.a("CMD下发", "引擎协议回包", "用户之前设置的引擎包含在新引擎列表中", 1);
                return true;
            }
        }
        return false;
    }

    public static File c(String str) {
        if (TextUtils.isEmpty(str)) {
            return null;
        }
        return new File(SettingUtils.a(), str.hashCode() + ".png");
    }

    private ArrayList<String> c(String str, String str2) {
        SearchConfRule d2 = d(str, str2);
        if (d2 == null) {
            return null;
        }
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.addAll(d2.vQueryParams);
        return arrayList;
    }

    private void c(String str, int i, int i2, boolean z, String str2, boolean z2, String str3, String str4, String str5, int i3) {
        String str6;
        String str7;
        String str8;
        String str9;
        String str10;
        StringBuilder sb;
        String str11 = null;
        if (TextUtils.isEmpty(str3)) {
            str6 = null;
        } else {
            str6 = str3;
            str11 = getEngineUrlByName(str6);
        }
        if (TextUtils.isEmpty(str6) || TextUtils.isEmpty(str11)) {
            str6 = getSearchEngineRecogName();
            str11 = getEngineUrl();
        }
        SearchLog.a("右键点击", "赋值引擎名与url", "引擎名:" + str6 + ",引擎url:" + str11, 1);
        if (str6 == null || !((str6.contains("sogou") || str6.contains("搜狗")) && str11 != null && str11.contains("pid="))) {
            str7 = str11;
        } else {
            String decode = UrlUtils.decode(UrlUtils.getValueByKey(str11, str11.toLowerCase(), "pid=", Typography.amp));
            if (i == 5) {
                str8 = "pid=" + decode;
                str9 = "pid=sogou-appi-ba9fab001f67381e";
            } else if (i != 41) {
                if (i == 48) {
                    sb = new StringBuilder();
                } else if (i == 91 || i == 92) {
                    sb = new StringBuilder();
                } else {
                    str8 = "pid=" + decode;
                    str9 = "pid=sogou-mobb-0bfce12794757473";
                }
                sb.append("pid=");
                sb.append(decode);
                str10 = str11.replaceFirst(sb.toString(), "pid=sogou-mobb-28659414dab9eca0");
                SearchLog.a("右键点击", "给搜狗搜索增加不同的渠道", "", 1);
                str7 = str10;
            } else {
                str8 = "pid=" + decode;
                str9 = "pid=sogou-mobb-cfbc6c5cfb8a3e10";
            }
            str10 = str11.replaceFirst(str8, str9);
            SearchLog.a("右键点击", "给搜狗搜索增加不同的渠道", "", 1);
            str7 = str10;
        }
        b(str, i, i2, z, str2, z2, str7, str4, str5, i3);
    }

    private boolean c(ArrayList<SearchItemInfo> arrayList) {
        Iterator<SearchItemInfo> it = arrayList.iterator();
        while (it.hasNext()) {
            SearchItemInfo next = it.next();
            if (next != null && !TextUtils.isEmpty(next.sFullName) && next.isTargetEngine == 1) {
                a(next.sFullName, 4);
                return true;
            }
        }
        return false;
    }

    private SearchConfRule d(String str, String str2) {
        ArrayList<SearchConfRule> searchRules = getSearchRules();
        if (searchRules != null && searchRules.size() > 0) {
            Iterator<SearchConfRule> it = searchRules.iterator();
            while (it.hasNext()) {
                SearchConfRule next = it.next();
                if (next.vDomain != null && next.vDomain.size() > 0 && next.vQueryParams != null && next.vQueryParams.size() > 0) {
                    Iterator<String> it2 = next.vDomain.iterator();
                    while (it2.hasNext()) {
                        if (TextUtils.equals(it2.next(), str2) && !TextUtils.isEmpty(next.sResultPageRule)) {
                            try {
                                if (Pattern.matches(next.sResultPageRule, str)) {
                                    return next;
                                }
                            } catch (Exception unused) {
                            }
                        }
                    }
                }
            }
        }
        return null;
    }

    private String d(ArrayList<SearchEngineItemInfo> arrayList) {
        Iterator<SearchEngineItemInfo> it = arrayList.iterator();
        while (it.hasNext()) {
            SearchEngineItemInfo next = it.next();
            if (next != null && next.n != 0 && next.n == 1 && !TextUtils.isEmpty(next.f70408b)) {
                return next.f70408b;
            }
        }
        Iterator<SearchEngineItemInfo> it2 = arrayList.iterator();
        while (it2.hasNext()) {
            SearchEngineItemInfo next2 = it2.next();
            if (next2 != null || !TextUtils.isEmpty(next2.f70408b)) {
                return next2.f70408b;
            }
        }
        return "";
    }

    public static String e(String str) {
        return PublicSettingManager.a().getString("huichuan_config_prefix_" + str, "");
    }

    private String e(ArrayList<SearchItemInfo> arrayList) {
        Iterator<SearchItemInfo> it = arrayList.iterator();
        while (it.hasNext()) {
            SearchItemInfo next = it.next();
            if (next != null && next.isDefault != 0 && next.isDefault == 1 && !TextUtils.isEmpty(next.sFullName)) {
                return next.sFullName;
            }
        }
        Iterator<SearchItemInfo> it2 = arrayList.iterator();
        while (it2.hasNext()) {
            SearchItemInfo next2 = it2.next();
            if (next2 != null || !TextUtils.isEmpty(next2.sFullName)) {
                return next2.sFullName;
            }
        }
        return "";
    }

    private ArrayList<String> g(String str) {
        ArrayList<String> arrayList = new ArrayList<>();
        if (m(str)) {
            arrayList.add("word");
            arrayList.add("wd");
        } else {
            String str2 = "ikt";
            if (l(str)) {
                arrayList.add(IWeAppService.PARAM_KEYWORD);
            } else if (k(str)) {
                arrayList.add("ikt");
                arrayList.add(SearchIntents.EXTRA_QUERY);
                arrayList.add("key");
                arrayList.add(IWeAppService.PARAM_KEYWORD);
            } else {
                str2 = "q";
                if (!j(str)) {
                    if (!i(str)) {
                        if (!str.equalsIgnoreCase("m.haosou.com")) {
                            if (!h(str)) {
                            }
                        }
                    }
                }
            }
            arrayList.add(str2);
        }
        return arrayList;
    }

    public static SearchEngineManager getInstance() {
        if (m == null) {
            synchronized (SearchEngineManager.class) {
                if (m == null) {
                    m = new SearchEngineManager();
                }
            }
        }
        return m;
    }

    private void h() {
        if (l()) {
            return;
        }
        a(getSearchEngineRecogName(), 6);
        SearchLog.a("CMD下发", "脏数据迁移", "用户选择的引擎不在引擎列表中,将用户的引擎设置为默认引擎", 1);
    }

    private boolean h(String str) {
        return str.equalsIgnoreCase("m.sm.com") || str.equalsIgnoreCase("m.sm.cn");
    }

    private String i() {
        return PublicSettingManager.a().getString("searchenginename" + "网页".hashCode(), "");
    }

    private boolean i(String str) {
        return str.equalsIgnoreCase("wap.easou.com") || str.equalsIgnoreCase("i.easou.com");
    }

    private ArrayList<SearchEngineItemInfo> j() {
        ArrayList<SearchEngineItemInfo> arrayList = new ArrayList<>();
        String[] m2 = MttResources.m(R.array.ad);
        String[] m3 = MttResources.m(R.array.ae);
        String[] m4 = MttResources.m(R.array.af);
        for (int i = 0; i < m2.length; i++) {
            arrayList.add(new SearchEngineItemInfo(m2[i], m3[i], m4[i]));
        }
        return arrayList;
    }

    private boolean j(String str) {
        return str.equalsIgnoreCase("www.google.com.cn") || str.equalsIgnoreCase("www.google.com.hk");
    }

    private boolean k() {
        return SearchUtils.d(0) instanceof SearchCommonNativePage;
    }

    private boolean k(String str) {
        return str.equalsIgnoreCase("www.soso.com") || str.equalsIgnoreCase("m.soso.com") || str.equalsIgnoreCase("wap.soso.com");
    }

    private boolean l() {
        String i = i();
        if (TextUtils.isEmpty(i)) {
            return true;
        }
        Iterator<SearchEngineItemInfo> it = getSearchItems().iterator();
        while (it.hasNext()) {
            SearchEngineItemInfo next = it.next();
            if (next != null && i.equalsIgnoreCase(next.f70408b)) {
                return true;
            }
        }
        return false;
    }

    private boolean l(String str) {
        return str.equalsIgnoreCase("www.sogou.com") || str.equalsIgnoreCase("m.sogou.com") || str.equalsIgnoreCase("wap.sogou.com");
    }

    private String m() {
        return StringUtils.b(SearchRNManager.a().f(), 0) + "";
    }

    private boolean m(String str) {
        return str.equalsIgnoreCase("www.baidu.com") || str.equalsIgnoreCase("m.baidu.com") || str.equalsIgnoreCase("wap.baidu.com");
    }

    private Bitmap n(String str) {
        ArrayList<SearchEngineItemInfo> searchItems;
        if (TextUtils.isEmpty(str) || (searchItems = getSearchItems()) == null || searchItems.size() <= 0) {
            return null;
        }
        Iterator<SearchEngineItemInfo> it = searchItems.iterator();
        while (it.hasNext()) {
            SearchEngineItemInfo next = it.next();
            if (next != null && next.f70408b.equalsIgnoreCase(str)) {
                Bitmap b2 = b(next.f);
                if (b2 != null) {
                    return b2;
                }
                final File c2 = c(next.f);
                if (c2 != null && !c2.exists()) {
                    String str2 = next.f;
                    if (!TextUtils.isEmpty(str2)) {
                        TaskManager.a().a((Task) new PictureTask(str2, new TaskObserverBase() {
                            @Override
                            public void onTaskCompleted(Task task) {
                                FileUtils.a(c2, ((PictureTask) task).a());
                            }
                        }, false, null, (byte) 0, "search"));
                    }
                }
            }
        }
        return getDefaultIconBitmap();
    }

    private Bitmap o(String str) {
        final File c2;
        Bitmap b2 = b(str);
        if (b2 == null && (c2 = c(str)) != null && !c2.exists() && !TextUtils.isEmpty(str)) {
            TaskManager.a().a((Task) new PictureTask(str, new TaskObserverBase() {
                @Override
                public void onTaskCompleted(Task task) {
                    FileUtils.a(c2, ((PictureTask) task).a());
                }
            }, false, null, (byte) 0, "search_icon"));
        }
        return b2;
    }

    private static Bitmap p(String str) {
        Bitmap bitmap = null;
        if (TextUtils.isEmpty(str)) {
            return null;
        }
        try {
            if (!FeatureToggle.a(BuildConfig.BUG_TOGGLE_94413627)) {
                str = str.split(Constants.ACCEPT_TIME_SEPARATOR_SERVER)[0];
            }
            InputStream open = ContextHolder.getAppContext().getResources().getAssets().open("searchengine_icon/icon_" + str + ".png");
            bitmap = BitmapFactory.decodeStream(open);
            open.close();
        } catch (Exception | OutOfMemoryError unused) {
        }
        if (bitmap != null) {
            return bitmap;
        }
        try {
            InputStream open2 = ContextHolder.getAppContext().getResources().getAssets().open("searchengine_icon/icon_default.png");
            bitmap = BitmapFactory.decodeStream(open2);
            open2.close();
            return bitmap;
        } catch (Exception | OutOfMemoryError unused2) {
            return bitmap;
        }
    }

    private void q(String str) {
        PublicSettingManager.a().setString("searchenginename" + "网页".hashCode(), str);
    }

    public Bitmap a(String str, String str2) {
        if (a(this.h, new SearchEngineInfo(str, str2))) {
            return this.h.a();
        }
        return null;
    }

    public String a(String str) {
        SearchConfRule d2 = d(str, UrlUtils.getHost(str));
        if (d2 != null) {
            return d2.sFullName;
        }
        return null;
    }

    public void a() {
        this.l++;
    }

    public void a(SearchItemRsp searchItemRsp) {
        Set<String> keySet;
        if (searchItemRsp == null || searchItemRsp.mHuichuanConf == null || (keySet = searchItemRsp.mHuichuanConf.keySet()) == null) {
            return;
        }
        for (String str : keySet) {
            if (!TextUtils.isEmpty(str)) {
                PublicSettingManager.a().setString("huichuan_config_prefix_" + str, searchItemRsp.mHuichuanConf.get(str));
            }
        }
    }

    void a(WUPRequestBase wUPRequestBase, WUPResponseBase wUPResponseBase) {
        Object bindObject;
        if (wUPRequestBase != null && (bindObject = wUPRequestBase.getBindObject()) != null) {
            ((IBrowserCmdService) QBContext.getInstance().getService(IBrowserCmdService.class)).onBrowserCmdSuccess(bindObject, "");
        }
        UserSettingManager.b().setLong("key_last_request_search_engine_time", System.currentTimeMillis());
        SearchItemRsp searchItemRsp = (SearchItemRsp) wUPResponseBase.get(HiAnalyticsConstant.Direction.RESPONSE);
        if (searchItemRsp != null) {
            if (FeatureToggle.a(BuildConfig.FEATURE_TOGGLE_868756421)) {
                a(searchItemRsp.vSearchItemInfo);
            }
            getInstance().saveSearchData(searchItemRsp);
            notifySearchEngineSelectListener();
        }
        a(searchItemRsp);
        SearchCtrlRequester.a(this);
    }

    public void a(SmartBox_SearchControlRsp smartBox_SearchControlRsp) {
        if (smartBox_SearchControlRsp == null || smartBox_SearchControlRsp.iRetCode != 0) {
            SearchLog.a("CMD下发", "WUP云控-参数异常0-终止云控", "rsp为空或者rsp.iRetCode不为0", -1);
            return;
        }
        PlatformStatUtils.a("Search_EngineCtrl_ReceiveRet0Result");
        String str = smartBox_SearchControlRsp.sAuth;
        SmartBox_SearchControlTask smartBox_SearchControlTask = smartBox_SearchControlRsp.task;
        PublicSettingManager.a().setString("searchControlAuth", str);
        if (smartBox_SearchControlTask == null) {
            SearchLog.a("CMD下发", "WUP云控-参数异常1-终止云控", "controlTask为空", -1);
            return;
        }
        int i = smartBox_SearchControlTask.iTaskId;
        if (i == PublicSettingManager.a().getInt("searchControlTaskID", -1)) {
            SearchLog.a("CMD下发", "WUP云控-任务已执行过,不再执行,终止云控", "taskID=" + i, -1);
            PlatformStatUtils.a("Search_EngineCtrl_AlreadyDo");
            return;
        }
        SmartBox_SearchControl_EngineSet smartBox_SearchControl_EngineSet = smartBox_SearchControlTask.sContent;
        if (smartBox_SearchControl_EngineSet == null) {
            SearchLog.a("CMD下发", "WUP云控-云控命令为空,终止云控", "", -1);
            return;
        }
        String str2 = smartBox_SearchControl_EngineSet.sOldEngineName;
        String str3 = smartBox_SearchControl_EngineSet.sNewEngineName;
        String searchEngineRecogName = getInstance().getSearchEngineRecogName();
        if (!TextUtils.isEmpty(str2) && !TextUtils.equals(str2, searchEngineRecogName)) {
            SearchLog.a("CMD下发", "WUP云控-不符合target判断,云控终止", "oldEngine=" + str2 + ",newEngine=" + str3 + ",localEngineName=" + searchEngineRecogName, -1);
            PlatformStatUtils.a("Search_EngineCtrl_NotMatch");
            return;
        }
        SearchLog.a("CMD下发", "WUP云控-符合target判断,将命令存了下来,准备云控", "oldEngine=" + str2 + ",newEngine=" + str3 + ",localEngineName=" + searchEngineRecogName, 1);
        try {
            JSONObject jSONObject = new JSONObject();
            jSONObject.put("engineName", str3);
            jSONObject.put("iconType", smartBox_SearchControl_EngineSet.iDefaultIcon);
            jSONObject.put(Message.TASK_ID, i);
            PublicSettingManager.a().setString("searchControlCommand", jSONObject.toString());
            PlatformStatUtils.a("Search_EngineCtrl_SaveCommand");
        } catch (Exception unused) {
        }
    }

    public void a(String str, int i) {
        if (TextUtils.isEmpty(str)) {
            return;
        }
        SearchLog.a("CMD下发", "开始切换搜索引擎", "", 1);
        PublicSettingManager a2 = PublicSettingManager.a();
        boolean z = false;
        Iterator<SearchEngineItemInfo> it = getSearchItems().iterator();
        while (it.hasNext()) {
            if (str.equalsIgnoreCase(it.next().f70408b)) {
                z = true;
            }
        }
        if (!z) {
            SearchLog.a("CMD下发", "切换搜索引擎失败", "本地没有" + str + "引擎", -1);
            return;
        }
        SearchLog.a("CMD下发", "切换搜索引擎成功", "切换为" + str, 1);
        ChangeEngineUploader.a().a(getSearchEngineRecogName(), str, i);
        q(str);
        PublicSettingManager.a().setString("key_search_engine_info", str);
        a2.setBoolean("key_search_engine_has_changed_v5_1", true);
        notifySearchEngineSelectListener();
        StatManager.b().c("N38");
        a(true);
    }

    public void a(String str, int i, int i2, boolean z, String str2, boolean z2, String str3, String str4, String str5, int i3) {
        if (i == 91 || i == 92 || i == 48 || i == 5 || i == 41) {
            c(str, i, i2, z, str2, z2, str3, str4, str5, i3);
            return;
        }
        String engineUrlByName = TextUtils.isEmpty(str3) ? null : getEngineUrlByName(str3);
        if (TextUtils.isEmpty(engineUrlByName)) {
            engineUrlByName = getEngineUrl();
        }
        b(str, i, i2, z, str2, z2, engineUrlByName, str4, str5, i3);
    }

    public boolean a(SearchEngineInfo searchEngineInfo, SearchEngineInfo searchEngineInfo2) {
        return searchEngineInfo != null && searchEngineInfo2 != null && TextUtils.equals(searchEngineInfo.f70427b, searchEngineInfo2.f70427b) && TextUtils.equals(searchEngineInfo.f70426a, searchEngineInfo2.f70426a);
    }

    @Override
    public void addSearchEngineSelectListener(IOnSearchEngineSelectChanged iOnSearchEngineSelectChanged) {
        CopyOnWriteArrayList<IOnSearchEngineSelectChanged> copyOnWriteArrayList = this.e;
        if (copyOnWriteArrayList == null || copyOnWriteArrayList.contains(iOnSearchEngineSelectChanged)) {
            return;
        }
        this.e.add(iOnSearchEngineSelectChanged);
    }

    public String b(String str, String str2) {
        String str3 = null;
        if (TextUtils.isEmpty(str2)) {
            str2 = null;
        } else {
            str3 = getInstance().getEngineUrlByName(str2);
        }
        if (TextUtils.isEmpty(str2) || TextUtils.isEmpty(str3)) {
            str2 = getSearchEngineRecogName();
            str3 = getEngineUrl();
        }
        if (str2 != null && ((str2.contains("sogou") || str2.contains("搜狗")) && str3 != null && str3.contains("pid="))) {
            str3 = str3.replaceFirst("pid=" + UrlUtils.decode(UrlUtils.getValueByKey(str3, str3.toLowerCase(), "pid=", Typography.amp)), "pid=sogou-mobb-28659414dab9eca0");
        }
        return str3 + getValidSearchKey(str);
    }

    public void b(SearchItemRsp searchItemRsp) {
        if (searchItemRsp == null) {
            return;
        }
        int i = searchItemRsp.bBoostMode;
        int i2 = i >> 8;
        int i3 = i & 255;
        if (i2 == PublicSettingManager.a().getInt("search_direct_enhance_version", 0)) {
            return;
        }
        PublicSettingManager.a().setInt("search_direct_enhance_version", i2);
        if (i3 == 2) {
            PublicSettingManager.a().setBoolean("key_search_direct_enhance_mode_new", false);
            StatManager.b().a("BPSG02", 0, false);
        } else if (i3 == 1) {
            PublicSettingManager.a().setBoolean("key_search_direct_enhance_mode_new", true);
            StatManager.b().a("BPSG02", 1, false);
        }
    }

    public boolean b() {
        return this.l <= 1;
    }

    public boolean c() {
        return this.g;
    }

    @Override
    public void cleanSearchEngineConfig() {
        PublicSettingManager.a().d();
        notifySearchEngineSelectListener();
    }

    public void d() {
        SearchLog.a("CMD下发", "WUP云控-切到后台,准备进行云控", "", 1);
        try {
            String string = PublicSettingManager.a().getString("searchControlCommand", "");
            if (TextUtils.isEmpty(string)) {
                SearchLog.a("CMD下发", "WUP云控-取到的命令为空。终止云控", "", -1);
                return;
            }
            PlatformStatUtils.a("Search_EngineCtrl_ShutDownStartCommand");
            JSONObject jSONObject = new JSONObject(string);
            String string2 = jSONObject.getString("engineName");
            int i = jSONObject.getInt("iconType");
            int i2 = jSONObject.getInt(Message.TASK_ID);
            if (i2 != PublicSettingManager.a().getInt("searchControlTaskID", -1)) {
                a(string2, i, i2);
                return;
            }
            SearchLog.a("CMD下发", "WUP云控,此命令已执行过,终止云控", "engineName=" + string2 + ",iconType=" + i + ",taskID=" + i2, -1);
            PublicSettingManager.a().setString("searchControlCommand", "");
        } catch (Exception unused) {
            SearchLog.a("CMD下发", "WUP云控,突发异常,终止云控", "", -1);
        }
    }

    public void d(String str) {
        WebEngine e;
        String string;
        if (!TextUtils.isEmpty(str) && str.startsWith("qb://searchresult")) {
            HashMap<String, String> urlParam = UrlUtils.getUrlParam(str);
            if (urlParam != null) {
                e = WebEngine.e();
                str = urlParam.get("sogouUrl");
            }
            string = PublicSettingManager.a().getString("ANDROID_KD_TENCENT_SERACH_DOMAIN", "https://so.html5.qq.com/");
            if (TextUtils.isEmpty(string)) {
                WebEngine.e().g(string);
                return;
            }
            return;
        }
        e = WebEngine.e();
        e.g(str);
        string = PublicSettingManager.a().getString("ANDROID_KD_TENCENT_SERACH_DOMAIN", "https://so.html5.qq.com/");
        if (TextUtils.isEmpty(string)) {
        }
    }

    @Override
    public void doSearch(String str, int i, int i2) {
        doSearch(str, i, i2, PublicSettingManager.a().e(), null, true, "");
    }

    @Override
    public void doSearch(String str, int i, int i2, String str2) {
        doSearch(str, i, i2, PublicSettingManager.a().e(), str2, true, "");
    }

    @Override
    public void doSearch(String str, int i, int i2, String str2, String str3) {
        a(str, i, i2, PublicSettingManager.a().e(), str2, true, "", str3, "", 0);
    }

    @Override
    public void doSearch(String str, int i, int i2, boolean z, String str2, boolean z2, String str3) {
        a(str, i, i2, z, str2, z2, str3, "", "", 0);
    }

    public String e() {
        ArrayList<SearchEngineItemInfo> searchItems;
        String searchEngineRecogName = getInstance().getSearchEngineRecogName();
        if (!TextUtils.isEmpty(searchEngineRecogName) && (searchItems = getSearchItems()) != null && searchItems.size() > 0) {
            Iterator<SearchEngineItemInfo> it = searchItems.iterator();
            while (it.hasNext()) {
                SearchEngineItemInfo next = it.next();
                if (next != null && next.f70408b.equalsIgnoreCase(searchEngineRecogName)) {
                    return next.f70410d;
                }
            }
        }
        return "";
    }

    public synchronized void f() {
        ArrayList<SearchEngineItemInfo> arrayList = null;
        SearchItemRsp b2 = SearchEngineData.b();
        if (!SearchEngineData.a(b2)) {
            arrayList = SearchEngineData.b(b2);
            this.f70414c = b2.vSearchConfRule;
        }
        if (arrayList == null) {
            arrayList = j();
        }
        this.f70413b = arrayList;
        f70411d = true;
    }

    public void f(String str) {
        String str2;
        String str3;
        EventLog.a("引擎路由", "originUrl:" + str);
        SearchEngineRoutingData searchEngineRoutingData = new SearchEngineRoutingData(str);
        if (TextUtils.isEmpty(searchEngineRoutingData.a())) {
            return;
        }
        String a2 = a(searchEngineRoutingData);
        if (!TextUtils.isEmpty(a2)) {
            str2 = a2 + UrlUtils.encode(searchEngineRoutingData.a());
            if (!TextUtils.isEmpty(searchEngineRoutingData.c())) {
                str2 = UrlUtils.addParamsToUrl(str2, searchEngineRoutingData.c());
            }
            str3 = "SEARCH_ENGINE_ROUTING_SUCESS";
        } else if (TextUtils.isEmpty(searchEngineRoutingData.d())) {
            str2 = getEngineUrl() + UrlUtils.encode(searchEngineRoutingData.a());
            str3 = "SEARCH_ENGINE_ROUTING_FAIL_DEFAULT_SEARCH";
        } else {
            str2 = searchEngineRoutingData.d();
            str3 = "SEARCH_ENGINE_ROUTING_FAIL_OPEN_RESERVEDURL";
        }
        PlatformStatUtils.a(str3);
        if (TextUtils.isEmpty(str2)) {
            return;
        }
        EventLog.a("引擎路由", "targetUrl:" + str2);
        Bundle bundle = new Bundle();
        String g = SearchUtils.g();
        if (!TextUtils.isEmpty(g)) {
            bundle.putString("welfaredata", g);
        }
        ((IFrameworkDelegate) QBContext.getInstance().getService(IFrameworkDelegate.class)).doLoad(new UrlParams(str2).a(bundle));
    }

    public void g() {
        requestSearchItem(null, false);
    }

    @Override
    public Bitmap getCurrentSearchIconBitmap() {
        Bitmap bitmap;
        Bitmap defaultIconBitmap;
        PublicSettingManager a2 = PublicSettingManager.a();
        if (!a2.getBoolean("key_search_engine_has_changed_v5_1", false)) {
            String string = a2.getString("searchenginename" + "网页".hashCode(), "");
            String string2 = a2.getString("searchengineicon", "1");
            Bitmap a3 = a(string2, string);
            if (a3 != null && !a3.isRecycled()) {
                return a3;
            }
            if (TextUtils.equals(string2, "1")) {
                a3 = getDefaultIconBitmap();
                this.h = new SearchEngineInfo("1", string, a3);
                if (a3 != null) {
                    return a3;
                }
            }
            if (TextUtils.isEmpty(string) || TextUtils.equals(string2, "0")) {
                try {
                    defaultIconBitmap = getDefaultIconBitmap();
                    try {
                        this.h = new SearchEngineInfo("0", string, defaultIconBitmap);
                    } catch (OutOfMemoryError unused) {
                        bitmap = defaultIconBitmap;
                    }
                } catch (OutOfMemoryError unused2) {
                    bitmap = a3;
                }
            } else {
                defaultIconBitmap = getInstance().getSearchIcon(string);
                this.h = new SearchEngineInfo("0", string, defaultIconBitmap);
            }
            if (defaultIconBitmap == null) {
                return defaultIconBitmap;
            }
            try {
                return getDefaultIconBitmap();
            } catch (OutOfMemoryError unused3) {
                return defaultIconBitmap;
            }
        }
        String searchEngineRecogName = getInstance().getSearchEngineRecogName();
        Bitmap a4 = a("0", searchEngineRecogName);
        if (a4 != null && !a4.isRecycled()) {
            return a4;
        }
        bitmap = getInstance().getSearchIcon(searchEngineRecogName);
        this.h = new SearchEngineInfo("0", searchEngineRecogName, bitmap);
        defaultIconBitmap = bitmap;
        if (defaultIconBitmap == null) {
        }
    }

    @Override
    public Bitmap getDefaultIconBitmap() {
        if (this.i == null) {
            this.i = UIUtil.a(MttResources.p(SearchInputConfig.b()), MttResources.c(R.color.theme_color_adrbar_btn_normal));
        }
        return this.i;
    }

    @Override
    public String getDefaultSearchEngineName() {
        return !PublicSettingManager.a().getBoolean("key_search_engine_has_changed_v5_1", false) ? "" : getInstance().getSearchEngineRecogName();
    }

    @Override
    public ArrayList<SearchEngineItemInfo> getDisplaySearchItems() {
        ArrayList<SearchEngineItemInfo> searchItems = getSearchItems();
        ArrayList<SearchEngineItemInfo> arrayList = new ArrayList<>();
        Iterator<SearchEngineItemInfo> it = searchItems.iterator();
        while (it.hasNext()) {
            SearchEngineItemInfo next = it.next();
            if (next.e == 0) {
                arrayList.add(next);
            }
        }
        return arrayList;
    }

    @Override
    public String getEngineType(String str) {
        ArrayList<SearchEngineItemInfo> searchItems;
        String a2 = a(str);
        if (!TextUtils.isEmpty(a2) && (searchItems = getSearchItems()) != null && searchItems.size() > 0) {
            Iterator<SearchEngineItemInfo> it = searchItems.iterator();
            while (it.hasNext()) {
                SearchEngineItemInfo next = it.next();
                if (next != null && !TextUtils.isEmpty(next.f70408b) && !TextUtils.isEmpty(next.f70409c) && a2.equals(next.f70408b)) {
                    return next.m;
                }
            }
        }
        return "";
    }

    @Override
    public String getEngineTypeWithDefault(String str, String str2) {
        String engineType = getEngineType(str);
        return TextUtils.isEmpty(engineType) ? str2 : engineType;
    }

    @Override
    public synchronized String getEngineUrl() {
        String searchEngineRecogName = getSearchEngineRecogName();
        ArrayList<SearchEngineItemInfo> searchItems = getSearchItems();
        if (searchItems != null && searchItems.size() > 0) {
            Iterator<SearchEngineItemInfo> it = searchItems.iterator();
            while (it.hasNext()) {
                SearchEngineItemInfo next = it.next();
                if (next != null && next.f70408b.equalsIgnoreCase(searchEngineRecogName)) {
                    return next.f70409c;
                }
            }
            return "";
        }
        return "";
    }

    @Override
    public synchronized String getEngineUrlByName(String str) {
        if (TextUtils.isEmpty(str)) {
            return "";
        }
        ArrayList<SearchEngineItemInfo> searchItems = getSearchItems();
        if (searchItems != null && searchItems.size() > 0) {
            Iterator<SearchEngineItemInfo> it = searchItems.iterator();
            while (it.hasNext()) {
                SearchEngineItemInfo next = it.next();
                if (next != null && next.f70408b.equalsIgnoreCase(str)) {
                    return next.f70409c;
                }
            }
            return "";
        }
        return "";
    }

    @Override
    public Bitmap getHomeCurrentSearchIconBitmap() {
        Bitmap searchIcon;
        SearchEngineInfo searchEngineInfo;
        PublicSettingManager a2 = PublicSettingManager.a();
        if (a2.getBoolean("key_search_engine_has_changed_v5_1", false)) {
            String searchEngineRecogName = getInstance().getSearchEngineRecogName();
            Bitmap n = n(searchEngineRecogName);
            this.h = new SearchEngineInfo("0", searchEngineRecogName, n);
            searchIcon = n;
        } else {
            String string = a2.getString("searchenginename" + "网页".hashCode(), "");
            String string2 = a2.getString("searchengineicon", "1");
            Bitmap a3 = a(string2, string);
            if (a3 != null && !a3.isRecycled()) {
                return a3;
            }
            if (TextUtils.equals(string2, "1")) {
                Bitmap defaultIconBitmap = getDefaultIconBitmap();
                this.h = new SearchEngineInfo("1", string, defaultIconBitmap);
                if (defaultIconBitmap != null) {
                    return defaultIconBitmap;
                }
            }
            if (TextUtils.isEmpty(string)) {
                searchIcon = n(string);
                searchEngineInfo = new SearchEngineInfo("0", string, searchIcon);
            } else {
                searchIcon = getInstance().getSearchIcon(string);
                searchEngineInfo = new SearchEngineInfo("0", string, searchIcon);
            }
            this.h = searchEngineInfo;
        }
        if (searchIcon != null) {
            return searchIcon;
        }
        try {
            return getDefaultIconBitmap();
        } catch (OutOfMemoryError unused) {
            return searchIcon;
        }
    }

    @Override
    public String getSearchEngineByUrl(String str, String str2) {
        if (TextUtils.isEmpty(str)) {
            str = "";
        }
        ArrayList<SearchConfRule> searchRules = getSearchRules();
        if (searchRules == null || searchRules.size() <= 0) {
            return null;
        }
        Iterator<SearchConfRule> it = searchRules.iterator();
        while (it.hasNext()) {
            SearchConfRule next = it.next();
            if (!a(Pattern.matches(next.sHomePageRule, str), Pattern.matches(next.sDefaultPageRule, str), TextUtils.isEmpty(next.sTitleRule) || Pattern.matches(next.sTitleRule, str2)) && !Pattern.matches(next.sResultPageRule, str)) {
            }
            return next.sFullName;
        }
        return null;
    }

    @Override
    public String getSearchEngineRecogName() {
        String i = i();
        ArrayList<SearchEngineItemInfo> searchItems = getSearchItems();
        if (searchItems == null || searchItems.size() <= 0) {
            return "";
        }
        Iterator<SearchEngineItemInfo> it = searchItems.iterator();
        while (it.hasNext()) {
            SearchEngineItemInfo next = it.next();
            if (next != null && !TextUtils.isEmpty(next.f70408b) && next.f70408b.equalsIgnoreCase(i)) {
                return i;
            }
        }
        return d(getDisplaySearchItems());
    }

    @Override
    public String getSearchEngineTitle() {
        String searchEngineRecogName = getSearchEngineRecogName();
        ArrayList<SearchEngineItemInfo> searchItems = getSearchItems();
        if (searchItems != null && searchItems.size() > 0) {
            Iterator<SearchEngineItemInfo> it = searchItems.iterator();
            while (it.hasNext()) {
                SearchEngineItemInfo next = it.next();
                if (next != null && next.f70408b.equalsIgnoreCase(searchEngineRecogName)) {
                    return next.f70407a;
                }
            }
        }
        return "";
    }

    @Override
    public Bitmap getSearchIcon(AddressBarViewState addressBarViewState) {
        String str;
        try {
            Bitmap a2 = a(addressBarViewState);
            if (a2 != null) {
                return a2;
            }
        } catch (Exception unused) {
        }
        if (addressBarViewState.f35858b == 8) {
            str = ISearchEngineService.BAIDU_ENGINE_NAME;
        } else {
            if (addressBarViewState.f35858b != 9) {
                return null;
            }
            str = ISearchEngineService.SOGOU_ENGINE_NAME;
        }
        return getSearchIcon(str);
    }

    @Override
    public Bitmap getSearchIcon(SearchEngineItemInfo searchEngineItemInfo) {
        if (searchEngineItemInfo == null) {
            return getDefaultIconBitmap();
        }
        Bitmap b2 = b(searchEngineItemInfo.f70410d);
        if (b2 == null) {
            b2 = p(searchEngineItemInfo.f70408b);
            final File c2 = c(searchEngineItemInfo.f70410d);
            if (c2 != null && !c2.exists()) {
                String str = searchEngineItemInfo.f70410d;
                if (!TextUtils.isEmpty(str)) {
                    TaskManager.a().a((Task) new PictureTask(str, new TaskObserverBase() {
                        @Override
                        public void onTaskCompleted(Task task) {
                            FileUtils.a(c2, ((PictureTask) task).a());
                        }
                    }, false, null, (byte) 0, "search_icon"));
                }
            }
        }
        return b2;
    }

    @Override
    public synchronized Bitmap getSearchIcon(String str) {
        if (TextUtils.isEmpty(str)) {
            return getDefaultIconBitmap();
        }
        ArrayList<SearchEngineItemInfo> searchItems = getSearchItems();
        if (searchItems != null && searchItems.size() > 0) {
            Iterator<SearchEngineItemInfo> it = searchItems.iterator();
            while (it.hasNext()) {
                SearchEngineItemInfo next = it.next();
                if (next != null && next.f70408b.equalsIgnoreCase(str)) {
                    Bitmap searchIcon = getSearchIcon(next);
                    if (searchIcon != null) {
                        return searchIcon;
                    }
                    return getDefaultIconBitmap();
                }
            }
            return getDefaultIconBitmap();
        }
        return getDefaultIconBitmap();
    }

    @Override
    public Bitmap getSearchIconByType() {
        if (!TextUtils.isEmpty("")) {
            return getSearchIcon("");
        }
        Bitmap currentSearchIconBitmap = getCurrentSearchIconBitmap();
        return currentSearchIconBitmap == null ? getDefaultIconBitmap() : currentSearchIconBitmap;
    }

    @Override
    public ArrayList<SearchEngineItemInfo> getSearchItems() {
        ArrayList<SearchEngineItemInfo> arrayList = this.f70413b;
        if (arrayList == null || arrayList.size() == 0) {
            f();
        }
        return this.f70413b;
    }

    @Override
    public String getSearchRecogNameByUrl(String str) {
        if (TextUtils.isEmpty(str)) {
            return "";
        }
        String host = UrlUtils.getHost(str);
        return TextUtils.isEmpty(host) ? "" : m(host) ? ISearchEngineService.BAIDU_ENGINE_NAME : l(host) ? ISearchEngineService.SOGOU_ENGINE_NAME : k(host) ? "soso-page" : j(host) ? ISearchEngineService.GOOGLE_ENGINE_NAME : i(host) ? "yisou-page" : "";
    }

    @Override
    public ArrayList<SearchConfRule> getSearchRules() {
        ArrayList<SearchConfRule> arrayList = this.f70414c;
        if (arrayList == null || arrayList.size() == 0) {
            f();
        }
        return this.f70414c;
    }

    @Override
    public int getSearchStaticIndex() {
        String searchEngineRecogName = getSearchEngineRecogName();
        if (TextUtils.isEmpty(searchEngineRecogName) || searchEngineRecogName.toLowerCase().contains("sogou")) {
            return 0;
        }
        if (searchEngineRecogName.toLowerCase().contains("baidu")) {
            return 1;
        }
        if (searchEngineRecogName.toLowerCase().contains("google")) {
            return 2;
        }
        if (searchEngineRecogName.toLowerCase().contains("soso")) {
            return 3;
        }
        return searchEngineRecogName.toLowerCase().contains("yisou") ? 4 : 0;
    }

    @Override
    public String getSearchWord(String str) {
        if (TextUtils.isEmpty(str)) {
            return "";
        }
        String host = UrlUtils.getHost(str);
        if (!f70411d) {
            f();
        }
        ArrayList<String> c2 = c(str, host);
        if (c2 == null || c2.size() <= 0) {
            c2 = g(host);
        }
        if (c2.size() > 0) {
            Iterator<String> it = c2.iterator();
            while (it.hasNext()) {
                String urlParamValue = UrlUtils.getUrlParamValue(str, it.next());
                if (!TextUtils.isEmpty(urlParamValue)) {
                    return UrlUtils.decode(urlParamValue);
                }
            }
        }
        return "";
    }

    @Override
    public String getUrl(String str) {
        String validSearchKey = getValidSearchKey(str);
        return getEngineUrl() + validSearchKey;
    }

    @Override
    public String getValidSearchKey(String str) {
        if (str == null) {
            str = "";
        }
        String replace = str.replace('\r', ' ').replace('\n', ' ');
        try {
            return URLEncoder.encode(replace, "UTF-8").replace("%C2%A0", "%20");
        } catch (Exception unused) {
            return replace;
        }
    }

    @Override
    public boolean hasChangeEngine() {
        return k;
    }

    @Override
    public void notifySearchEngineSelectListener() {
        CopyOnWriteArrayList<IOnSearchEngineSelectChanged> copyOnWriteArrayList = this.e;
        if (copyOnWriteArrayList == null || copyOnWriteArrayList.size() <= 0) {
            return;
        }
        QBTask.b((Callable) new Callable<Void>() {
            @Override
            public Void call() throws Exception {
                Iterator it = SearchEngineManager.this.e.iterator();
                while (it.hasNext()) {
                    IOnSearchEngineSelectChanged iOnSearchEngineSelectChanged = (IOnSearchEngineSelectChanged) it.next();
                    if (iOnSearchEngineSelectChanged != null) {
                        iOnSearchEngineSelectChanged.q();
                    }
                }
                return null;
            }
        });
    }

    @Override
    public void onColdStart() {
        a(false);
        PlatformStatUtils.a("Search_EngineCtrl_ColdStartRequest");
        if (TextUtils.isEmpty(PublicSettingManager.a().getString("key_search_engine_info", ""))) {
            PublicSettingManager.a().setString("key_search_engine_info", getSearchEngineRecogName());
        }
        if (FeatureToggle.a(BuildConfig.FEATURE_TOGGLE_868756421) && PublicSettingManager.a().getBoolean("PSK_SEARCH_ENGINE_HAS_CLEAR_DIRTY_DATA", false)) {
            h();
            PublicSettingManager.a().setBoolean("PSK_SEARCH_ENGINE_HAS_CLEAR_DIRTY_DATA", true);
        }
    }

    @Override
    public void onLoadBaiduOrSogouHomePage(String str) {
        a(false);
    }

    @Override
    public void onShutdown() {
        this.g = false;
    }

    @Override
    public void onWUPTaskFail(WUPRequestBase wUPRequestBase) {
        Object bindObject;
        SearchLog.a("CMD下发", "WUP云控-请求失败", "", -1);
        this.f = false;
        if (wUPRequestBase == null || (bindObject = wUPRequestBase.getBindObject()) == null) {
            return;
        }
        ((IBrowserCmdService) QBContext.getInstance().getService(IBrowserCmdService.class)).onBrowerCmdFailed(bindObject);
    }

    @Override
    public void onWUPTaskSuccess(WUPRequestBase wUPRequestBase, WUPResponseBase wUPResponseBase) {
        Object bindObject;
        this.f = false;
        if (wUPResponseBase != null && (wUPResponseBase.get(HiAnalyticsConstant.Direction.RESPONSE) instanceof SearchItemRsp)) {
            a(wUPRequestBase, wUPResponseBase);
            return;
        }
        if (wUPResponseBase != null && (wUPResponseBase.get(HiAnalyticsConstant.Direction.RESPONSE) instanceof SmartBox_SearchControlRsp)) {
            SearchLog.a("CMD下发", "WUP云控-请求成功,收到后台回包", "", 1);
            a((SmartBox_SearchControlRsp) wUPResponseBase.get(HiAnalyticsConstant.Direction.RESPONSE));
            d();
        } else {
            if (wUPRequestBase == null || (bindObject = wUPRequestBase.getBindObject()) == null) {
                return;
            }
            ((IBrowserCmdService) QBContext.getInstance().getService(IBrowserCmdService.class)).onBrowerCmdFailed(bindObject);
        }
    }

    @Override
    public void removeSearchEngineSelectListener(IOnSearchEngineSelectChanged iOnSearchEngineSelectChanged) {
        CopyOnWriteArrayList<IOnSearchEngineSelectChanged> copyOnWriteArrayList = this.e;
        if (copyOnWriteArrayList != null) {
            copyOnWriteArrayList.remove(iOnSearchEngineSelectChanged);
        }
    }

    @Override
    public void requestSearchItem(Object obj, boolean z) {
        if (this.f) {
            if (obj != null) {
                ((IBrowserCmdService) QBContext.getInstance().getService(IBrowserCmdService.class)).onBrowserCmdSuccess(obj, "");
                return;
            }
            return;
        }
        if (!z) {
            if (Math.abs(System.currentTimeMillis() - UserSettingManager.b().getLong("key_last_request_search_engine_time", 0L)) < 14400000) {
                SearchCtrlRequester.a(this);
                return;
            }
        }
        this.g = true;
        this.f = true;
        WUPRequest wUPRequest = new WUPRequest("hotword", "getSearchConfig");
        wUPRequest.setClassLoader(getClass().getClassLoader());
        SearchItemReq searchItemReq = new SearchItemReq();
        searchItemReq.sMD5 = UserSettingManager.b().getString("key_search_engine_item_md5", "fb516d26eef218a9fd8f8af123570610");
        searchItemReq.sHipyyVersion = m();
        if (FeatureToggle.a(BuildConfig.FEATURE_TOGGLE_868756421)) {
            searchItemReq.sEngineName = getSearchEngineRecogName();
        }
        wUPRequest.put(HiAnalyticsConstant.Direction.REQUEST, searchItemReq);
        wUPRequest.setRequestCallBack(this);
        wUPRequest.setType((byte) 72);
        wUPRequest.setBindObject(obj);
        WUPTaskProxy.send(wUPRequest);
    }

    @Override
    public void saveSearchData(SearchItemRsp searchItemRsp) {
        b(searchItemRsp);
        if (searchItemRsp == null || searchItemRsp.vSearchItemInfo == null || searchItemRsp.vSearchItemInfo.size() == 0) {
            return;
        }
        SearchEngineData.c(searchItemRsp);
        UserSettingManager.b().setString("key_search_engine_item_md5", searchItemRsp.sMD5);
        if (this.f70413b != null) {
            f();
        }
    }

    @Override
    public void setNewSearchEngine(String str) {
        a(str, 0);
    }

    @Override
    public void showSearchEngineDialog(QBLinearDialogClickListener qBLinearDialogClickListener) {
        ArrayList<SearchEngineItemInfo> displaySearchItems = getDisplaySearchItems();
        if (displaySearchItems == null || displaySearchItems.size() <= 0) {
            return;
        }
        String[] strArr = new String[displaySearchItems.size()];
        Bitmap[] bitmapArr = new Bitmap[displaySearchItems.size()];
        String searchEngineRecogName = getSearchEngineRecogName();
        int i = -1;
        for (int i2 = 0; i2 < displaySearchItems.size(); i2++) {
            SearchEngineItemInfo searchEngineItemInfo = displaySearchItems.get(i2);
            if (searchEngineItemInfo != null) {
                strArr[i2] = searchEngineItemInfo.f70407a;
                bitmapArr[i2] = getSearchIcon(searchEngineItemInfo);
                if (searchEngineItemInfo.f70408b.equalsIgnoreCase(searchEngineRecogName)) {
                    i = i2;
                }
            }
        }
        String l = MttResources.l(R.string.b_3);
        SearchEngineDialog searchEngineDialog = this.f70412a;
        if (searchEngineDialog == null || !searchEngineDialog.isShowing()) {
            SkinManager.s().l();
            this.f70412a = new SearchEngineDialog(l, strArr, bitmapArr, i);
            this.f70412a.b(l);
            this.f70412a.a(qBLinearDialogClickListener);
            this.f70412a.show();
        }
    }
}