package com.xhsemoticonskeyboard.common.utils;
import android.content.Context;
import android.text.TextUtils;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import sj.keyboard.data.EmoticonEntity;
import sj.keyboard.data.EmoticonPageSetEntity;
import sj.keyboard.utils.imageloader.ImageBase;
public class ParseDataUtils {
public static ArrayList<EmoticonEntity> ParseQqData(HashMap<String, Integer> data) {
Iterator iter = data.entrySet().iterator();
if(!iter.hasNext()){
return null;
}
ArrayList<EmoticonEntity> emojis = new ArrayList<>();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
Object key = entry.getKey();
Object val = entry.getValue();
EmoticonEntity entity = new EmoticonEntity();
entity.setContent((String) key);
entity.setIconUri("" + val);
emojis.add(entity);
}
return emojis;
}
public static ArrayList<EmoticonEntity> ParseXhsData(String[] arry, ImageBase.Scheme scheme) {
try {
ArrayList<EmoticonEntity> emojis = new ArrayList<>();
for (int i = 0; i < arry.length; i++) {
if (!TextUtils.isEmpty(arry[i])) {
String temp = arry[i].trim().toString();
String[] text = temp.split(",");
if (text != null && text.length == 2) {
String fileName;
if (scheme == ImageBase.Scheme.DRAWABLE) {
if (text[0].contains(".")) {
fileName = scheme.toUri(text[0].substring(0, text[0].lastIndexOf(".")));
} else {
fileName = scheme.toUri(text[0]);
}
} else {
fileName = scheme.toUri(text[0]);
}
String content = text[1];
EmoticonEntity bean = new EmoticonEntity(fileName, content);
emojis.add(bean);
}
}
}
return emojis;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static ArrayList<EmoticonEntity> parseKaomojiData(Context context) {
ArrayList<EmoticonEntity> textEmotionArray = new ArrayList<>();
try {
InputStreamReader inputStreamReader = new InputStreamReader(context.getAssets().open("kaomoji"));
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String line;
while ((line = bufferedReader.readLine()) != null) {
EmoticonEntity bean = new EmoticonEntity(line.trim());
textEmotionArray.add(bean);
}
return textEmotionArray;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
public static EmoticonPageSetEntity<EmoticonEntity> parseDataFromFile(Context context, String filePath, String assetsFileName, String xmlName) {
String xmlFilePath = filePath + "/" + xmlName;
File file = new File(xmlFilePath);
if (!file.exists()) {
try {
FileUtils.unzip(context.getAssets().open(assetsFileName), filePath);
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
XmlUtil xmlUtil = new XmlUtil(context);
return xmlUtil.ParserXml(filePath, xmlUtil.getXmlFromSD(xmlFilePath));
}
}