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

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


package com.tencent.mtt.browser.moremenu.shortcut;

import android.net.Uri;
import android.text.TextUtils;
import com.tencent.common.featuretoggle.FeatureToggle;
import com.tencent.common.manifest.EventMessage;
import com.tencent.common.manifest.annotation.CreateMethod;
import com.tencent.common.manifest.annotation.EventReceiver;
import com.tencent.common.utils.UrlUtils;
import com.tencent.connect.common.Constants;
import com.tencent.mtt.R;
import com.tencent.mtt.base.hometab.ICustomTabService;
import com.tencent.mtt.base.preload.facade.IQbPreloadService;
import com.tencent.mtt.base.skin.MttResources;
import com.tencent.mtt.browser.homepage.fastcut.IFastCutManager;
import com.tencent.mtt.browser.homepage.fastcut.IFastCutTittleManager;
import com.tencent.mtt.browser.homepage.fastcut.INovelInterfaceImplService;
import com.tencent.mtt.browser.moremenu.CommonMenuItemView;
import com.tencent.mtt.browser.moremenu.item.bar.AddShortCutMenuItem;
import com.tencent.mtt.browser.moremenu.item.bar.RemoveShortCutMenuItem;
import com.tencent.mtt.browser.window.IWebView;
import com.tencent.mtt.browser.window.WindowManager;
import com.tencent.mtt.businesscenter.facade.IMenuItem;
import com.tencent.mtt.businesscenter.facade.IWebPageStatService;
import com.tencent.mtt.frequence.visit.IVisit;
import com.tencent.mtt.qbcontext.core.QBContext;
import com.tencent.mtt.view.toast.MttToaster;
import java.util.Iterator;
import java.util.List;
import org.json.JSONObject;
import qb.menu.BuildConfig;

public class ShortCutManager {

    private static final class ShortCutManagerHolder {

        private static final ShortCutManager f42983a = new ShortCutManager();

        private ShortCutManagerHolder() {
        }
    }

    private ShortCutManager() {
    }

    public static void a() {
        IWebView t;
        IFastCutManager iFastCutManager = (IFastCutManager) QBContext.getInstance().getService(IFastCutManager.class);
        if (iFastCutManager == null || (t = WindowManager.t()) == null) {
            return;
        }
        String pageTitle = t.getPageTitle();
        String url = t.getUrl();
        ShortCutModel shortCutModel = new ShortCutModel(url, pageTitle);
        shortCutModel.f42986c = e(url);
        if (iFastCutManager.hasExist(shortCutModel)) {
            if (FeatureToggle.a(BuildConfig.FEATURE_TOGGLE_866987277)) {
                ((IWebPageStatService) QBContext.getInstance().getService(IWebPageStatService.class)).stat("web_0130");
            }
            d();
        } else {
            if (FeatureToggle.a(BuildConfig.FEATURE_TOGGLE_866987277)) {
                ((IWebPageStatService) QBContext.getInstance().getService(IWebPageStatService.class)).stat("web_0129");
            }
            c();
        }
    }

    public static void a(IWebView iWebView, CommonMenuItemView commonMenuItemView) {
        int i;
        if (b()) {
            commonMenuItemView.setMenuItemText("移除直达");
            i = R.drawable.b77;
        } else {
            commonMenuItemView.setMenuItemText("添加直达");
            i = R.drawable.b76;
        }
        commonMenuItemView.a(MttResources.p(i), true);
        commonMenuItemView.setEnabled(true);
        commonMenuItemView.setFocusable(true);
        commonMenuItemView.setAlpha(1.0f);
    }

    public static void a(List<IMenuItem> list) {
        IWebView t;
        if (!((ICustomTabService) QBContext.getInstance().getService(ICustomTabService.class)).checkTabShowing(117) || list == null || (t = WindowManager.t()) == null) {
            return;
        }
        String pageTitle = t.getPageTitle();
        if (a(pageTitle)) {
            return;
        }
        String url = t.getUrl();
        if (!b(url) && b(list)) {
            a(list, b() ? new RemoveShortCutMenuItem() : new AddShortCutMenuItem(), c(list));
            ShortCutMenuReportUtils.a(url, pageTitle);
        }
    }

    public static void a(List<IMenuItem> list, IMenuItem iMenuItem, int i) {
        if (i < list.size() - 1) {
            list.add(i, iMenuItem);
        } else {
            list.add(iMenuItem);
        }
    }

    public static boolean a(String str) {
        return TextUtils.isEmpty(str) || "资讯正文".equals(str) || "《》".equals(str) || !((IFastCutTittleManager) QBContext.getInstance().getService(IFastCutTittleManager.class)).isValidTittle(str);
    }

    public static boolean b() {
        IWebView t;
        IFastCutManager iFastCutManager = (IFastCutManager) QBContext.getInstance().getService(IFastCutManager.class);
        if (iFastCutManager == null || (t = WindowManager.t()) == null) {
            return false;
        }
        return iFastCutManager.hasExist(new ShortCutModel(t.getUrl(), t.getPageTitle()));
    }

    public static boolean b(String str) {
        if (TextUtils.isEmpty(str) || str.startsWith("qb://video/feedsvideo") || d(str) || c(str)) {
            return true;
        }
        if (str.startsWith("qb://home")) {
            try {
                if (Constants.VIA_SHARE_TYPE_INFO.equals(Uri.parse(str).getQueryParameter("tabId"))) {
                    return true;
                }
            } catch (Exception unused) {
            }
        }
        return false;
    }

    public static boolean b(List<IMenuItem> list) {
        Iterator<IMenuItem> it = list.iterator();
        while (it.hasNext()) {
            int a2 = it.next().a();
            if (a2 == 207 || a2 == 206) {
                return false;
            }
        }
        return true;
    }

    public static int c(List<IMenuItem> list) {
        for (int i = 0; i < list.size(); i++) {
            int a2 = list.get(i).a();
            if (a2 == 126 || a2 == 130) {
                return i;
            }
        }
        return 0;
    }

    public static void c() {
        IWebView t;
        IFastCutManager iFastCutManager = (IFastCutManager) QBContext.getInstance().getService(IFastCutManager.class);
        if (iFastCutManager == null || (t = WindowManager.t()) == null) {
            return;
        }
        String pageTitle = t.getPageTitle();
        String url = t.getUrl();
        ShortCutModel shortCutModel = new ShortCutModel(url, pageTitle);
        shortCutModel.f42987d = f(url);
        shortCutModel.f42986c = e(url);
        shortCutModel.a("2");
        iFastCutManager.addFastCut(shortCutModel, true, null);
        ShortCutMenuReportUtils.a(url, pageTitle, shortCutModel.getSourceId());
    }

    public static boolean c(String str) {
        if (str.startsWith("qb://ext/hp")) {
            return TextUtils.equals("circleUserCenter", UrlUtils.getUrlParamValue(str, "module"));
        }
        return false;
    }

    public static void d() {
        IWebView t;
        IFastCutManager iFastCutManager = (IFastCutManager) QBContext.getInstance().getService(IFastCutManager.class);
        if (iFastCutManager == null || (t = WindowManager.t()) == null) {
            return;
        }
        String pageTitle = t.getPageTitle();
        String url = t.getUrl();
        ShortCutModel shortCutModel = new ShortCutModel(url, pageTitle);
        shortCutModel.a("2");
        if (iFastCutManager.removeFastCut(shortCutModel)) {
            MttToaster.show("已移除直达", 0);
        }
        ShortCutMenuReportUtils.b(url, pageTitle, shortCutModel.getSourceId());
    }

    public static boolean d(String str) {
        if (!str.startsWith("qb://ext/rn")) {
            return false;
        }
        try {
            Uri parse = Uri.parse(str);
            String queryParameter = parse.getQueryParameter("module");
            String queryParameter2 = parse.getQueryParameter("component");
            if (!"ugcfloat".equals(queryParameter) || !"ugcfloat".equals(queryParameter2)) {
                if (!IQbPreloadService.QB_PRELOAD_MODULE_VIDEOFLOAT.equals(queryParameter)) {
                    return false;
                }
                if (!IQbPreloadService.QB_PRELOAD_MODULE_VIDEOFLOAT.equals(queryParameter2)) {
                    return false;
                }
            }
            return true;
        } catch (Exception unused) {
            return false;
        }
    }

    private static String e(String str) {
        return (str == null || !str.startsWith("qb://ext/read")) ? "https://m4.publicimg.browser.qq.com/publicimg/nav/xhome/https.png" : "";
    }

    private static String f(String str) {
        if (TextUtils.isEmpty(str) || !str.startsWith("qb://ext/novelreader")) {
            return null;
        }
        String queryParameter = Uri.parse(str).getQueryParameter("bookId");
        INovelInterfaceImplService iNovelInterfaceImplService = (INovelInterfaceImplService) QBContext.getInstance().getService(INovelInterfaceImplService.class);
        if (iNovelInterfaceImplService != null) {
            return iNovelInterfaceImplService.getNovelPicByBookId(queryParameter);
        }
        return null;
    }

    public static ShortCutManager getInstance() {
        return ShortCutManagerHolder.f42983a;
    }

    @EventReceiver(createMethod = CreateMethod.GET, eventName = "MINI_PROGRAM_ACTIVITY_PAUSED")
    public void onMiniProgramPause(EventMessage eventMessage) {
        if (((ICustomTabService) QBContext.getInstance().getService(ICustomTabService.class)).checkTabShowing(117) && eventMessage != null && (eventMessage.arg instanceof String)) {
            try {
                JSONObject jSONObject = new JSONObject((String) eventMessage.arg);
                String str = (String) jSONObject.opt("qbUrl");
                if (!TextUtils.isEmpty(str) && str.contains("&path")) {
                    str = str.substring(0, str.indexOf("&path"));
                }
                String str2 = (String) jSONObject.opt("iconUrl");
                ((IVisit) QBContext.getInstance().getService(IVisit.class)).visitMiniProgram((String) jSONObject.opt("name"), str, str2);
            } catch (Exception unused) {
            }
        }
    }
}