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

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


package com.tencent.mtt.browser.file.open;

import android.content.Context;
import android.content.DialogInterface;
import android.content.pm.PackageInfo;
import android.os.Handler;
import android.os.Looper;
import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
import com.tencent.mtt.ContextHolder;
import com.tencent.mtt.QbActivityBase;
import com.tencent.mtt.base.functionwindow.ActivityHandler;
import com.tencent.mtt.base.skin.MttResources;
import com.tencent.mtt.browser.common.WhiteDomainUtil;
import com.tencent.mtt.browser.file.facade.IInstallParams;
import com.tencent.mtt.browser.file.facade.whitedomain.WhiteDomainItem;
import com.tencent.mtt.browser.utils.FileLog;
import com.tencent.mtt.browser.window.UrlParams;
import com.tencent.mtt.businesscenter.facade.IFrameworkDelegate;
import com.tencent.mtt.fileclean.install.FileInstallManager;
import com.tencent.mtt.qbcontext.core.QBContext;
import com.tencent.mtt.view.common.QBTextView;
import com.tencent.mtt.view.common.QBView;
import com.tencent.mtt.view.dialog.alert.QBLinearDialogClickListener;
import com.tencent.mtt.view.dialog.alert.QBListDialog;
import com.tencent.mtt.view.dialog.alert.QbListDialogBuilder;
import com.tencent.mtt.view.layout.QBLinearLayout;
import com.tencent.qqlive.module.videoreport.collect.EventCollector;
import qb.a.e;
import qb.a.f;

public class ApkInstallFailChecker implements ActivityHandler.ActivityStateListener {

    private static boolean f38520d;

    private long f38521a;

    private int f38522b;

    private IInstallParams f38523c;
    private String e = null;

    public void a() {
        if (this.f38523c.e != null) {
            this.f38523c.e.a(this.f38523c);
        }
    }

    public void a(QBListDialog qBListDialog) {
        qBListDialog.c();
        f38520d = false;
    }

    private boolean a(String str) {
        Context appContext = ContextHolder.getAppContext();
        if (appContext == null) {
            return false;
        }
        PackageInfo packageInfo = null;
        try {
            packageInfo = appContext.getPackageManager().getPackageInfo(str, 0);
        } catch (Exception unused) {
        }
        return packageInfo != null;
    }

    public void b() {
        UrlParams urlParams = new UrlParams("https://bbs.mb.qq.com/mobilefb/fbList?tid=e1083095-5945-4665-9578-386d1b149bdf&ttype=0&tname=%E4%B8%8B%E8%BD%BD%E5%AE%89%E8%A3%85");
        urlParams.d(true);
        ((IFrameworkDelegate) QBContext.getInstance().getService(IFrameworkDelegate.class)).doLoad(urlParams);
    }

    private void b(String str) {
        QBLinearLayout qBLinearLayout = new QBLinearLayout(ContextHolder.getAppContext());
        qBLinearLayout.setOrientation(1);
        qBLinearLayout.setLayoutParams(new ViewGroup.LayoutParams(-1, -2));
        QBTextView qBTextView = new QBTextView(ContextHolder.getAppContext());
        qBTextView.setGravity(17);
        qBTextView.setPadding(MttResources.s(30), MttResources.s(30), MttResources.s(30), 0);
        qBTextView.setLayoutParams(new ViewGroup.LayoutParams(-1, -2));
        String str2 = "你刚安装\"" + str + "\",是否安装完成?";
        FileLog.a("ApkInstallFailChecker", "[ID857164409] showDialog content=" + str2);
        qBTextView.setText(str2);
        qBTextView.setTextSize(MttResources.h(f.s));
        qBTextView.setTextColorNormalIds(e.n);
        QBTextView qBTextView2 = new QBTextView(ContextHolder.getAppContext());
        qBTextView2.setGravity(17);
        qBTextView2.setPadding(MttResources.s(30), MttResources.s(12), MttResources.s(30), MttResources.s(12));
        qBTextView2.setLayoutParams(new ViewGroup.LayoutParams(-1, MttResources.s(60)));
        qBTextView2.setText("遇到问题 请点这里 >");
        qBTextView2.setTextSize(MttResources.h(f.r));
        qBTextView2.setTextColorNormalIds(e.o);
        QBView qBView = new QBView(ContextHolder.getAppContext());
        qBView.setBackgroundNormalIds(0, e.Q);
        qBView.setLayoutParams(new ViewGroup.LayoutParams(-1, 1));
        qBLinearLayout.addView(qBTextView);
        qBLinearLayout.addView(qBTextView2);
        qBLinearLayout.addView(qBView);
        QbListDialogBuilder qbListDialogBuilder = new QbListDialogBuilder();
        String[] strArr = {"继续安装", "已安装完成", "取消"};
        qbListDialogBuilder.a(strArr);
        qbListDialogBuilder.a(strArr.length - 1);
        qbListDialogBuilder.a(qBLinearLayout);
        final QBListDialog a2 = qbListDialogBuilder.a();
        a2.a(0, MttResources.c(e.f));
        qBTextView2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                EventCollector.getInstance().onViewClickedBefore(view);
                FileInstallManager.a().a(ApkInstallFailChecker.this.f38523c.f38338b, "install_0020");
                ApkInstallFailChecker.this.a(a2);
                ApkInstallFailChecker.this.b();
                EventCollector.getInstance().onViewClicked(view);
            }
        });
        a2.a(new DialogInterface.OnDismissListener() {
            @Override
            public void onDismiss(DialogInterface dialogInterface) {
                ApkInstallFailChecker.this.a(a2);
            }
        });
        a2.a(false);
        new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
            @Override
            public void run() {
                if (a2.d()) {
                    a2.a(true);
                }
            }
        }, 100L);
        a2.a(new QBLinearDialogClickListener() {
            @Override
            public void a(int i) {
                FileInstallManager a3;
                String str3;
                String str4;
                FileLog.a("ApkInstallFailChecker", "[ID857164409] onClick id=" + i);
                if (i == 0) {
                    FileInstallManager.a().a(ApkInstallFailChecker.this.f38523c.f38338b, "install_0018");
                    ApkInstallFailChecker.this.a(a2);
                    ApkInstallFailChecker.this.a();
                    return;
                }
                if (i != 1) {
                    if (i == 2) {
                        a3 = FileInstallManager.a();
                        str3 = ApkInstallFailChecker.this.f38523c.f38338b;
                        str4 = "install_0021";
                    }
                    ApkInstallFailChecker.this.a(a2);
                }
                a3 = FileInstallManager.a();
                str3 = ApkInstallFailChecker.this.f38523c.f38338b;
                str4 = "install_0019";
                a3.a(str3, str4);
                ApkInstallFailChecker.this.a(a2);
            }
        });
        a2.b();
    }

    public void a(IInstallParams iInstallParams) {
        WhiteDomainItem b2 = WhiteDomainUtil.b(iInstallParams.f38337a, iInstallParams.f38338b);
        FileLog.a("ApkInstallFailChecker", "[ID857164409] startInstallFailedCheck " + b2.toString());
        if (b2.a()) {
            ActivityHandler.ActivityInfo m = ActivityHandler.b().m();
            if (m != null && m.b() != null) {
                this.e = m.b().getComponentName().getClassName();
            }
            FileLog.a("ApkInstallFailChecker", "curClassName:" + this.e);
            this.f38523c = iInstallParams;
            String a2 = b2.a("timeCost");
            this.f38522b = TextUtils.isEmpty(a2) ? 0 : Integer.parseInt(a2);
            this.f38521a = System.currentTimeMillis();
            ActivityHandler.b().a(this);
            new Handler(Looper.myLooper()).postDelayed(new Runnable() {
                @Override
                public void run() {
                    ActivityHandler.b().b(ApkInstallFailChecker.this);
                }
            }, this.f38522b + 100);
        }
    }

    @Override
    public void onActivityState(QbActivityBase qbActivityBase, ActivityHandler.LifeCycle lifeCycle) {
        if (lifeCycle == ActivityHandler.LifeCycle.onStart) {
            if (qbActivityBase != null && !TextUtils.isEmpty(this.e) && qbActivityBase.getComponentName() != null && !this.e.equals(qbActivityBase.getComponentName().getClassName())) {
                FileLog.a("ApkInstallFailChecker", "new className:" + qbActivityBase.getComponentName().getClassName());
                return;
            }
            ActivityHandler.b().b(this);
            if (System.currentTimeMillis() - this.f38521a > this.f38522b) {
                return;
            }
            boolean a2 = a(this.f38523c.f38338b);
            FileLog.a("ApkInstallFailChecker", "[ID857164409] startInstallFailedCheck apkInstalled=" + a2 + ";dialogShowing=" + f38520d);
            if (a2 || f38520d) {
                return;
            }
            f38520d = true;
            FileLog.a("ApkInstallFailChecker", "[ID857164409] startInstallFailedCheck dialogShow=true");
            FileInstallManager.a().a(this.f38523c.f38338b, "install_0017");
            b(ApkFileUtils.a(this.f38523c.f38339c));
        }
    }
}