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

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


package com.tencent.mtt.comment;

import android.text.TextUtils;
import com.tencent.common.task.TaskManager;
import com.tencent.common.threadpool.BrowserExecutorSupplier;
import com.tencent.common.utils.ByteUtils;
import com.tencent.common.utils.FileUtils;
import com.tencent.common.utils.Md5Utils;
import com.tencent.common.utils.ZipUtils;
import com.tencent.mtt.base.task.PictureTask;
import com.tencent.mtt.base.task.Task;
import com.tencent.mtt.base.task.TaskObserver;
import com.tencent.mtt.comment.Emoji;
import com.tencent.mtt.comment.inhost.CommentEmojiUtils;
import com.tencent.mtt.setting.PublicSettingManager;
import com.tencent.mtt.view.common.QBEmojiTextManager;
import com.xiaomi.mipush.sdk.Constants;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.util.ArrayList;
import tmsdk.common.gourd.vine.IActionReportService;

public class EmojiDataProvider implements TaskObserver {

    protected static byte f47600a = 0;

    protected static byte f47601b = 1;

    protected static byte f47602c = 2;

    protected static byte f47603d = 3;
    static String g = "QigeBiaoqing.txt";
    protected File f;
    private ArrayList<Emoji> i;
    private IOnRemoteEmojiListener k;
    private String h = "666:666:https://3gimg.qq.com/tagstore/QigeBiaoqing/1-666.png;wow:wow:https://3gimg.qq.com/tagstore/QigeBiaoqing/2-wow.png;ainiyo:爱你哟:https://3gimg.qq.com/tagstore/QigeBiaoqing/3-ainiyo.png;zan:赞:https://3gimg.qq.com/tagstore/QigeBiaoqing/4-zan.png;xixixi:嘻嘻嘻:https://3gimg.qq.com/tagstore/QigeBiaoqing/5-xixixi.png;hahaha:哈哈哈:https://3gimg.qq.com/tagstore/QigeBiaoqing/6-hahaha.png;xiexie:谢谢:https://3gimg.qq.com/tagstore/QigeBiaoqing/7-xiexie.png;haixiu:害羞:https://3gimg.qq.com/tagstore/QigeBiaoqing/8-haixiu.png;koubi:抠鼻:https://3gimg.qq.com/tagstore/QigeBiaoqing/9-koubi.png;nani:纳尼:https://3gimg.qq.com/tagstore/QigeBiaoqing/10-nani.png;no:不:https://3gimg.qq.com/tagstore/QigeBiaoqing/11-no.png;wulian:捂脸:https://3gimg.qq.com/tagstore/QigeBiaoqing/12-wulian.png;tuxie:吐血:https://3gimg.qq.com/tagstore/QigeBiaoqing/13-tuxie.png;wunai:无奈:https://3gimg.qq.com/tagstore/QigeBiaoqing/14-wunai.png;fadai:发呆:https://3gimg.qq.com/tagstore/QigeBiaoqing/15-fadai.png;fennu:愤怒:https://3gimg.qq.com/tagstore/QigeBiaoqing/16-fennu.png;danu:大怒:https://3gimg.qq.com/tagstore/QigeBiaoqing/17-danu.png;baodatui:抱大腿:https://3gimg.qq.com/tagstore/QigeBiaoqing/18-baodatui.png;fangjiala:放假啦:https://3gimg.qq.com/tagstore/QigeBiaoqing/19-fangjiala.png;jiaban:加班:https://3gimg.qq.com/tagstore/QigeBiaoqing/20-jiaban.png;shuajian:耍贱:https://3gimg.qq.com/tagstore/QigeBiaoqing/21-shuajian.png;jianaomen:夹脑门:https://3gimg.qq.com/tagstore/QigeBiaoqing/22-jianaomen.png;";
    private boolean j = false;
    protected byte e = f47600a;

    public interface IOnRemoteEmojiListener {
        void a(ArrayList<Emoji> arrayList);
    }

    public EmojiDataProvider() {
        this.f = null;
        this.f = new File(CommentEmojiUtils.a(), "emoji");
        if (this.f.exists()) {
            return;
        }
        this.f.mkdirs();
    }

    private String a(int i, String str) {
        return this.f + "/QigeBiaoqing/" + i + Constants.ACCEPT_TIME_SEPARATOR_SERVER + str + ".png";
    }

    public ArrayList<Emoji> b(String str) {
        Emoji emoji;
        ArrayList<Emoji> arrayList = new ArrayList<>();
        if (TextUtils.isEmpty(str)) {
            return arrayList;
        }
        String[] split = str.split(IActionReportService.COMMON_SEPARATOR);
        for (int i = 0; i < split.length; i++) {
            String[] split2 = split[i].split(Constants.COLON_SEPARATOR, 3);
            if (split2.length < 3) {
                String[] strArr = {"", "", ""};
                for (int i2 = 0; i2 < split2.length; i2++) {
                    strArr[i2] = split2[i2];
                }
                File file = new File(a(i + 1, strArr[0]));
                if (file.exists()) {
                    emoji = new Emoji(1, new Emoji.RemoteEmoji(strArr[0], strArr[1], strArr[2], file.getAbsolutePath()));
                    arrayList.add(emoji);
                }
            } else {
                File file2 = new File(a(i + 1, split2[0]));
                if (file2.exists()) {
                    emoji = new Emoji(1, new Emoji.RemoteEmoji(split2[0], split2[1], split2[2], file2.getAbsolutePath()));
                    arrayList.add(emoji);
                }
            }
        }
        return arrayList;
    }

    public ArrayList<Emoji> a() {
        ArrayList<Emoji> arrayList = new ArrayList<>();
        int length = QBEmojiTextManager.b().f74118a.length;
        for (int i = 0; i < length; i++) {
            arrayList.add(new Emoji(0, new Emoji.DefaultEmoji(QBEmojiTextManager.b().f74118a[i], QBEmojiTextManager.b().f74119b[i])));
        }
        return arrayList;
    }

    public void a(IOnRemoteEmojiListener iOnRemoteEmojiListener) {
        if (iOnRemoteEmojiListener != null) {
            ArrayList<Emoji> arrayList = this.i;
            if (arrayList != null && arrayList.size() > 0) {
                iOnRemoteEmojiListener.a(this.i);
            } else {
                a(true);
                this.k = iOnRemoteEmojiListener;
            }
        }
    }

    public void a(String str) {
        if (this.j) {
            return;
        }
        this.j = true;
        TaskManager.a().a((Task) new PictureTask(str, this, false, null, (byte) 0, "emoji"));
    }

    public void a(final boolean z) {
        byte b2 = this.e;
        byte b3 = f47601b;
        if (b2 == b3) {
            return;
        }
        this.e = b3;
        BrowserExecutorSupplier.postForIoTasks(new BrowserExecutorSupplier.BackgroundRunable() {
            @Override
            public void doRun() {
                EmojiDataProvider.this.h = CommentEmojiUtils.a(new File(EmojiDataProvider.this.f + "/QigeBiaoqing", EmojiDataProvider.g));
                if (TextUtils.isEmpty(EmojiDataProvider.this.h)) {
                    EmojiDataProvider.this.e = EmojiDataProvider.f47603d;
                    if (z) {
                        EmojiDataProvider.this.a("https://3gimg.qq.com/tagstore/QigeBiaoqing/QigeBiaoqing.zip");
                        return;
                    }
                    return;
                }
                EmojiDataProvider.this.e = EmojiDataProvider.f47602c;
                EmojiDataProvider emojiDataProvider = EmojiDataProvider.this;
                emojiDataProvider.i = emojiDataProvider.b(emojiDataProvider.h);
                if (EmojiDataProvider.this.i == null || EmojiDataProvider.this.i.size() <= 0 || EmojiDataProvider.this.k == null) {
                    return;
                }
                BrowserExecutorSupplier.forMainThreadTasks().execute(new Runnable() {
                    @Override
                    public void run() {
                        EmojiDataProvider.this.k.a(EmojiDataProvider.this.i);
                    }
                });
            }
        });
    }

    @Override
    public void onTaskCompleted(Task task) {
        byte[] a2;
        this.j = false;
        if (!(task instanceof PictureTask) || (a2 = ((PictureTask) task).a()) == null || a2.length <= 0) {
            return;
        }
        FileUtils.b(this.f);
        this.f.mkdirs();
        ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(a2);
        byte[] a3 = Md5Utils.a(byteArrayInputStream);
        if (a3 != null) {
            PublicSettingManager.a().setString("key_comment_emoji_md5", ByteUtils.byteToHexString(a3));
        }
        byteArrayInputStream.reset();
        if (ZipUtils.a(byteArrayInputStream, this.f, (String) null)) {
            a(false);
        }
    }

    @Override
    public void onTaskCreated(Task task) {
    }

    @Override
    public void onTaskExtEvent(Task task) {
    }

    @Override
    public void onTaskFailed(Task task) {
        this.j = false;
    }

    @Override
    public void onTaskProgress(Task task) {
    }

    @Override
    public void onTaskStarted(Task task) {
    }
}