QQ浏览器 v12.2.3.7053版本的 MD5 值为:8285ab3059e5c8b521a264dfbc5c3685
以下内容为反编译后的 LoadQQEmojiManager.java 源代码,内容仅作参考
package com.tencent.mtt.view.common.qqemoji;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.text.TextUtils;
import com.tencent.common.task.TaskManager;
import com.tencent.common.utils.FileUtils;
import com.tencent.common.utils.ZipUtils;
import com.tencent.mtt.ContextHolder;
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.multiproc.QBSharedPreferences;
import com.tencent.mtt.setting.PublicSettingManager;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.json.JSONObject;
public class LoadQQEmojiManager {
private final List<String> f74185a;
private final List<Integer> f74186b;
private File f74187c;
private File f74188d;
private boolean e;
private DownLoadEmojiListener f;
public static final class LoadQQEmojiManagerHolder {
private static final LoadQQEmojiManager f74190a = new LoadQQEmojiManager();
private LoadQQEmojiManagerHolder() {
}
}
private LoadQQEmojiManager() {
this.f74185a = new ArrayList();
this.f74186b = new ArrayList();
this.f74187c = null;
this.f74188d = null;
this.e = false;
this.f = null;
this.f74187c = new File(b(), "emoji");
if (this.f74187c.exists()) {
return;
}
this.f74187c.mkdirs();
}
public static LoadQQEmojiManager a() {
return LoadQQEmojiManagerHolder.f74190a;
}
private String a(File file) {
if (file != null && file.exists()) {
try {
ByteBuffer h = FileUtils.h(file);
if (h == null) {
return null;
}
return new String(h.array(), 0, (int) file.length(), "UTF-8");
} catch (Exception unused) {
}
}
return null;
}
private void a(String str) {
if (this.e) {
return;
}
this.e = true;
TaskManager.a().a((Task) new PictureTask(str, new TaskObserver() {
@Override
public void onTaskCompleted(Task task) {
byte[] a2;
LoadQQEmojiManager.this.e = false;
if (!(task instanceof PictureTask) || (a2 = ((PictureTask) task).a()) == null || a2.length <= 0) {
LoadQQEmojiManager.this.h();
return;
}
FileUtils.b(LoadQQEmojiManager.this.f74187c);
LoadQQEmojiManager.this.f74187c.mkdirs();
if (!ZipUtils.a(new ByteArrayInputStream(a2), LoadQQEmojiManager.this.f74187c, (String) null)) {
LoadQQEmojiManager.this.h();
return;
}
PublicSettingManager.a().setString("key_home_feeds_last_emoji_package_url", task.getTaskUrl());
LoadQQEmojiManager.this.d();
LoadQQEmojiManager.this.g();
}
@Override
public void onTaskCreated(Task task) {
}
@Override
public void onTaskExtEvent(Task task) {
}
@Override
public void onTaskFailed(Task task) {
LoadQQEmojiManager.this.e = false;
LoadQQEmojiManager.this.h();
}
@Override
public void onTaskProgress(Task task) {
}
@Override
public void onTaskStarted(Task task) {
}
}, false, (String) null, (byte) 0));
}
private synchronized void b(String str) {
try {
this.f74185a.clear();
this.f74186b.clear();
JSONObject jSONObject = new JSONObject(str);
Iterator<String> keys = jSONObject.keys();
while (keys.hasNext()) {
String next = keys.next();
int optInt = jSONObject.optInt(next);
if (!TextUtils.isEmpty(next) && optInt > 0) {
this.f74185a.add(next);
this.f74186b.add(Integer.valueOf(optInt));
}
}
} catch (Exception unused) {
}
}
public void g() {
DownLoadEmojiListener downLoadEmojiListener = this.f;
if (downLoadEmojiListener != null) {
downLoadEmojiListener.a();
}
}
public void h() {
DownLoadEmojiListener downLoadEmojiListener = this.f;
if (downLoadEmojiListener != null) {
downLoadEmojiListener.b();
}
}
public void a(DownLoadEmojiListener downLoadEmojiListener) {
this.f = downLoadEmojiListener;
String string = PublicSettingManager.a().getString("key_home_feeds_last_emoji_package_url", "");
String string2 = PublicSettingManager.a().getString("ANDROID_PUBLIC_PREFS_QQEMOJI_ZIP_URL", "https://static.res.qq.com/nav/qqEmoji/emoji.zip");
if (TextUtils.equals(string, string2)) {
return;
}
a(string2);
}
public boolean a(int i) {
return this.f74186b.contains(Integer.valueOf(i));
}
public Bitmap b(int i) {
if (!this.f74186b.contains(Integer.valueOf(i))) {
return null;
}
return BitmapFactory.decodeFile(new File(this.f74187c, i + ".png").getAbsolutePath());
}
public File b() {
if (this.f74188d == null) {
this.f74188d = new File(FileUtils.j(), "qqEmoji");
}
return this.f74188d;
}
public void c() {
String string = QBSharedPreferences.getSharedPreferences(ContextHolder.getAppContext(), "emoji_file_config", 0).getString("emoji_config", "");
if (TextUtils.isEmpty(string)) {
return;
}
b(string);
}
public void d() {
String a2 = a(new File(this.f74187c, "map.txt"));
SharedPreferences.Editor edit = QBSharedPreferences.getSharedPreferences(ContextHolder.getAppContext(), "emoji_file_config", 0).edit();
edit.putString("emoji_config", a2);
edit.commit();
}
public List<String> e() {
return this.f74185a;
}
public List<Integer> f() {
return this.f74186b;
}
}