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

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


package com.tencent.mtt.browser.share.export.socialshare;

import android.app.Activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.text.TextUtils;
import com.tencent.common.utils.StringUtils;
import com.tencent.common.utils.UrlUtils;
import com.tencent.mtt.ContextHolder;
import com.tencent.mtt.R;
import com.tencent.mtt.account.base.IAccount;
import com.tencent.mtt.base.account.AccountInfo;
import com.tencent.mtt.base.functionwindow.ActivityHandler;
import com.tencent.mtt.base.stat.StatManager;
import com.tencent.mtt.base.wup.DomainListDataManager;
import com.tencent.mtt.browser.share.export.ShareImpl;
import com.tencent.mtt.browser.share.export.ShareReceiveData;
import com.tencent.mtt.browser.share.export.ShareReportUtils;
import com.tencent.mtt.browser.share.export.socialshare.ShareUrlCreater;
import com.tencent.mtt.browser.share.export.socialshare.shareitem.DefaultItem;
import com.tencent.mtt.browser.share.facade.IShare;
import com.tencent.mtt.browser.share.facade.IShareStateListener;
import com.tencent.mtt.browser.share.facade.IShareStateListenerExt;
import com.tencent.mtt.browser.share.facade.ShareBundle;
import com.tencent.mtt.browser.share.sharedebug.ShareDebugManager;
import com.tencent.mtt.external.qrcode.facade.OnQrCodeGenerateListener;
import com.tencent.mtt.log.access.Logs;
import com.tencent.mtt.qbcontext.core.QBContext;
import com.tencent.mtt.sdkcontext.SDKContext;
import com.tencent.mtt.setting.PublicSettingManager;
import com.tencent.mtt.video.internal.media.IMediaPlayerInter;
import com.tencent.mtt.view.toast.MttToaster;
import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.concurrent.CopyOnWriteArrayList;

public class ShareEngine implements DialogInterface.OnDismissListener {

    private static ShareEngine f44869a;

    private ShareDialog f44870b;

    private ShareBundle f44871c;

    private CopyOnWriteArrayList<IShareStateListener> f44872d = new CopyOnWriteArrayList<>();

    private ShareEngine() {
    }

    public static ShareEngine a() {
        if (f44869a == null) {
            f44869a = new ShareEngine();
        }
        return f44869a;
    }

    private void a(Activity activity, ShareBundle shareBundle) {
        ShareDialog shareDialog = this.f44870b;
        if (shareDialog != null) {
            shareDialog.dismiss();
            this.f44870b = null;
        }
        if (this.f44870b == null) {
            if (activity == null) {
                activity = ActivityHandler.b().a();
            }
            if (activity != null) {
                this.f44870b = new ShareDialog(activity, shareBundle);
                this.f44870b.setOnDismissListener(this);
                Logs.c("ShareEngine", "显示分享面板");
                this.f44870b.show();
                ShareDebugManager.getInstance().addReportData("显示分享面板", new String[0]);
            }
        }
    }

    private void a(String str) {
        if (!TextUtils.isEmpty(str) && str.startsWith("file://")) {
            String replaceFirst = UrlUtils.decode(str).replaceFirst("file://", "");
            if (new File(replaceFirst).exists()) {
                ShareBundle shareBundle = this.f44871c;
                shareBundle.f45013a = 4;
                shareBundle.g = replaceFirst;
            }
        }
    }

    private boolean a(int i) {
        int i2;
        ContextHolder.getAppContext();
        if (i == 3 && !ShareImpl.getInstance().isSupportQZone(this.f44871c.D)) {
            i2 = R.string.bls;
        } else if (i == 4 && !ShareImpl.getInstance().isSupportQQ()) {
            i2 = R.string.blr;
        } else if ((i == 1 || i == 8 || i == 14) && !ShareImpl.getInstance().isSupporWx()) {
            i2 = R.string.blu;
        } else {
            if (i != 11 || ShareImpl.getInstance().isSupportSinaWB()) {
                return true;
            }
            i2 = R.string.blt;
        }
        MttToaster.show(i2, 0);
        a().b(-2, this.f44871c.w);
        return false;
    }

    public static void b() {
        int i;
        AccountInfo currentUserInfo = ((IAccount) SDKContext.getInstance().getService(IAccount.class)).getCurrentUserInfo();
        if (currentUserInfo != null && currentUserInfo.isValidLogin()) {
            if (currentUserInfo.isQQAccount()) {
                i = 1;
            } else if (currentUserInfo.isWXAccount()) {
                i = 2;
            } else if (currentUserInfo.isConnectAccount()) {
                i = 3;
            }
            StatManager.b().c("CCSH01".concat("_").concat(String.valueOf(i)));
        }
        i = 0;
        StatManager.b().c("CCSH01".concat("_").concat(String.valueOf(i)));
    }

    private void b(Activity activity, ShareBundle shareBundle) {
        if (shareBundle == null || shareBundle.f45013a == -1) {
            return;
        }
        this.f44871c = shareBundle;
        ShareDebugManager.getInstance().addReportData("doShare activity 开始分享解析的数据: ", shareBundle.toString());
        if (!"1".equals(PublicSettingManager.a().getString("ANDROID_PUBLIC_PREFS_SHARE_PAGE_WEAPP", "0"))) {
            this.f44871c.K = false;
        }
        a(this.f44871c.f45016d);
        Logs.c("ShareEngine", "doShare bundle:" + this.f44871c);
        if (shareBundle.w == -1) {
            ShareDebugManager.getInstance().addReportData("showShareBox 001", "share_0001", this.f44871c.m + "", this.f44871c.f45016d, this.f44871c.f45014b, this.f44871c.w + "", "", this.f44871c.f45013a + "");
            Logs.c("ShareEngine", "doShare 未指定app,打开分享面板");
            a(activity, shareBundle);
            return;
        }
        ShareDebugManager.getInstance().addReportData("showShareBox 002", "share_0002", this.f44871c.m + "", this.f44871c.f45016d, this.f44871c.f45014b, this.f44871c.w + "", "", this.f44871c.f45013a + "");
        boolean a2 = a(shareBundle.w);
        StringBuilder sb = new StringBuilder();
        sb.append("doShare 指定分享App:");
        sb.append(shareBundle.K);
        sb.append(", hasInstalled:");
        sb.append(a2);
        Logs.c("ShareEngine", sb.toString());
        if (a2) {
            IShareItem a3 = ShareItemFactory.a(shareBundle.w);
            if (a3 instanceof DefaultItem) {
                Logs.c("ShareEngine", "doShare 创建指定分享item失败");
                return;
            }
            a3.a(shareBundle);
            a3.g();
            ((IShare) QBContext.getInstance().getService(IShare.class)).recordCurrentShareChannel(shareBundle.w);
            ((IShare) QBContext.getInstance().getService(IShare.class)).doReportShareClick();
            b();
        }
    }

    public Intent a(int i, String str, String str2, String str3, String str4, String str5, boolean z, int i2) {
        Intent intent = new Intent("android.intent.action.VIEW");
        intent.addFlags(268435456);
        intent.setData(Uri.parse("qb://share"));
        intent.putExtra("type", i);
        intent.putExtra("title", str);
        intent.putExtra("customTxt", str2);
        intent.putExtra("url", str3);
        intent.putExtra("srcPath", str5);
        intent.putExtra(IMediaPlayerInter.ITvkAdvListener.KEY_ADV_DES, str4);
        intent.putExtra("validurl", z);
        intent.putExtra("validurl", z);
        intent.putExtra(IShare.SHARE_ID, i2);
        return intent;
    }

    public void a(int i, int i2) {
        Iterator<IShareStateListener> it = this.f44872d.iterator();
        while (it.hasNext()) {
            IShareStateListener next = it.next();
            if (next instanceof IShareStateListenerExt) {
                ((IShareStateListenerExt) next).a(i, i2);
            }
        }
    }

    public void a(Intent intent) {
        if (intent == null) {
            return;
        }
        this.f44871c = b(intent);
        ShareDebugManager.getInstance().addReportData("doShare intent 开始分享解析的数据: ", this.f44871c.toString());
        if (this.f44871c.J == null) {
            this.f44871c.J = ActivityHandler.b().a();
        }
        a(this.f44871c.f45016d);
        int intExtra = intent.getIntExtra(IShare.SHARE_ID, -1);
        if (intExtra == -1) {
            a((Activity) null, this.f44871c);
            ShareReportUtils.a(true, "share_0001", this.f44871c.m, this.f44871c.f45016d, this.f44871c.f45014b, this.f44871c.w, "", this.f44871c.f45013a);
        } else if (a(intExtra)) {
            IShareItem a2 = ShareItemFactory.a(intExtra);
            if ((a2 instanceof DefaultItem) || a2.a(intent)) {
                return;
            }
            a2.a(this.f44871c);
            a2.g();
            b();
        }
    }

    public void a(IShareStateListener iShareStateListener) {
        if (this.f44872d.contains(iShareStateListener)) {
            return;
        }
        this.f44872d.add(iShareStateListener);
    }

    public void a(ShareBundle shareBundle) {
        b(shareBundle.J, shareBundle);
    }

    public void a(final ShareBundle shareBundle, final int i, final int i2, final int i3, final OnQrCodeGenerateListener onQrCodeGenerateListener) {
        if (shareBundle == null || shareBundle.f45013a == -1) {
            return;
        }
        if (shareBundle.m == -1) {
            shareBundle.m = 1;
        }
        shareBundle.n = 1200;
        new ShareUrlCreater().a(shareBundle, String.valueOf(13), new ShareUrlCreater.IUrlReceiveListener() {
            @Override
            public void a(ShareReceiveData shareReceiveData) {
                shareBundle.f45016d = shareReceiveData.url;
                QRShare.a(shareReceiveData.url, i, i2, i3, onQrCodeGenerateListener);
            }
        });
    }

    public Intent b(ShareBundle shareBundle) {
        Intent intent = new Intent("android.intent.action.VIEW");
        intent.addFlags(268435456);
        intent.setData(Uri.parse("qb://share"));
        intent.putExtra("type", shareBundle.f45013a);
        intent.putExtra("title", shareBundle.f45014b);
        intent.putExtra("customTxt", shareBundle.v);
        intent.putExtra("url", shareBundle.f45016d);
        intent.putExtra("srcPath", shareBundle.g);
        intent.putExtra(IMediaPlayerInter.ITvkAdvListener.KEY_ADV_DES, shareBundle.f45015c);
        intent.putExtra("validurl", shareBundle.u);
        intent.putExtra("eShareChannel", shareBundle.m);
        intent.putExtra("eShareApp", shareBundle.n);
        intent.putExtra(IMediaPlayerInter.ITvkAdvListener.KEY_ADV_LOGO_URL, shareBundle.e);
        intent.putExtra("fromWhere", shareBundle.D);
        shareBundle.t = intent.getByteArrayExtra("customInfo");
        intent.putExtra(IShare.SHARE_ID, shareBundle.w);
        return intent;
    }

    public ShareBundle b(Intent intent) {
        ShareBundle shareBundle = new ShareBundle(intent.getIntExtra("type", 0));
        shareBundle.f45014b = intent.getStringExtra("title");
        shareBundle.v = intent.getStringExtra("customTxt");
        shareBundle.f45016d = intent.getStringExtra("url");
        shareBundle.g = intent.getStringExtra("srcPath");
        shareBundle.f45015c = intent.getStringExtra(IMediaPlayerInter.ITvkAdvListener.KEY_ADV_DES);
        shareBundle.u = intent.getBooleanExtra("validurl", false);
        shareBundle.m = intent.getIntExtra("eShareChannel", -1);
        shareBundle.n = intent.getIntExtra("eShareApp", -1);
        shareBundle.e = intent.getStringExtra(IMediaPlayerInter.ITvkAdvListener.KEY_ADV_LOGO_URL);
        shareBundle.t = intent.getByteArrayExtra("customInfo");
        shareBundle.w = intent.getIntExtra(IShare.SHARE_ID, -1);
        shareBundle.D = intent.getIntExtra("fromWhere", -1);
        return shareBundle;
    }

    public void b(int i, int i2) {
        if ((i2 == 4 || i2 == 3) && i == 0) {
            ((IShare) QBContext.getInstance().getService(IShare.class)).doReportShareSuccess();
        }
        CopyOnWriteArrayList<IShareStateListener> copyOnWriteArrayList = this.f44872d;
        for (IShareStateListener iShareStateListener : (IShareStateListener[]) copyOnWriteArrayList.toArray(new IShareStateListener[copyOnWriteArrayList.size()])) {
            if (iShareStateListener != null) {
                iShareStateListener.onShareFinished(i, i2);
            }
        }
    }

    public void b(IShareStateListener iShareStateListener) {
        this.f44872d.remove(iShareStateListener);
    }

    public void c() {
        Iterator<IShareStateListener> it = this.f44872d.iterator();
        while (it.hasNext()) {
            IShareStateListener next = it.next();
            if (next != null) {
                next.onShareInfoUpdated();
            }
        }
    }

    public void c(ShareBundle shareBundle) {
        int i = shareBundle.f45013a;
        if (i == 0) {
            if (shareBundle.m == -1) {
                shareBundle.m = 1;
            }
            if (shareBundle.n != -1) {
                return;
            }
        } else {
            if (i != 1) {
                return;
            }
            if (shareBundle.m == -1) {
                shareBundle.m = 3;
            }
            if (shareBundle.n != -1) {
                return;
            }
        }
        shareBundle.n = 100;
    }

    public String d() {
        ArrayList<String> a2 = DomainListDataManager.a().a(46);
        String str = "";
        if (StringUtils.b((a2 == null || a2.size() <= 0) ? "" : a2.get(0))) {
            return "https://sc.qq.com/fx/";
        }
        ArrayList<String> a3 = DomainListDataManager.a().a(46);
        if (a3 != null && a3.size() > 0) {
            str = a3.get(0);
        }
        return str + "/";
    }

    @Override
    public void onDismiss(DialogInterface dialogInterface) {
        this.f44870b = null;
    }
}