Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: better emoji #173

Merged
merged 6 commits into from
Feb 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Binary file removed lib_core/src/main/assets/ac/-47218_5052bc4cc6331.png
Diff not rendered.
Binary file removed lib_core/src/main/assets/ac/-47218_5052bc5579c24.png
Diff not rendered.
Binary file removed lib_core/src/main/assets/ac/-47218_5052bc7a0ee49.png
Diff not rendered.
Binary file removed lib_core/src/main/assets/ac/-47218_5052bca81a77f.png
Diff not rendered.
Binary file removed lib_core/src/main/assets/ac/-47218_5052bcb093870.png
Diff not rendered.
Binary file removed lib_core/src/main/assets/ac/-47218_5052bcba15fcf.png
Diff not rendered.
Binary file removed lib_core/src/main/assets/ac/-47218_5052bcbe35760.png
Diff not rendered.
Binary file removed lib_core/src/main/assets/ac/-47218_5052bce7cf096.png
Diff not rendered.
Binary file removed lib_core/src/main/assets/ac/-47218_5052bcee3d6b3.png
Diff not rendered.
Binary file removed lib_core/src/main/assets/ac/-47218_5052bd2d0a416.png
Diff not rendered.
Binary file removed lib_core/src/main/assets/ac/-47218_5052bd38bdf43.png
Diff not rendered.
Binary file removed lib_core/src/main/assets/ac/-47218_5052bd3b4b3bd.png
Diff not rendered.
Binary file removed lib_core/src/main/assets/ac/-47218_5052bd40397e2.png
Diff not rendered.
Binary file removed lib_core/src/main/assets/ac/-47218_5052c0f41d155.png
Diff not rendered.
Binary file removed lib_core/src/main/assets/ac/-47218_5052c10182a21.png
Diff not rendered.
Binary file removed lib_core/src/main/assets/ac/-47218_5052c1076f119.png
Diff not rendered.
Binary file removed lib_core/src/main/assets/ac/-47218_5052c1156ec1c.png
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Binary file added lib_core/src/main/assets/ac/ac0.png
Binary file added lib_core/src/main/assets/ac/ac1.png
Binary file added lib_core/src/main/assets/ac/ac11.png
Binary file added lib_core/src/main/assets/ac/ac15.png
Binary file added lib_core/src/main/assets/ac/ac2.png
Binary file added lib_core/src/main/assets/ac/ac3.png
Diff not rendered.
Diff not rendered.
Binary file added lib_core/src/main/assets/ng/ng_1.png
Binary file added lib_core/src/main/assets/ng/ng_10.png
Binary file added lib_core/src/main/assets/ng/ng_11.png
Binary file added lib_core/src/main/assets/ng/ng_12.png
Binary file added lib_core/src/main/assets/ng/ng_13.png
Binary file added lib_core/src/main/assets/ng/ng_14.png
Binary file added lib_core/src/main/assets/ng/ng_15.png
Binary file added lib_core/src/main/assets/ng/ng_16.png
Binary file added lib_core/src/main/assets/ng/ng_17.png
Binary file added lib_core/src/main/assets/ng/ng_18.png
Binary file added lib_core/src/main/assets/ng/ng_19.png
Binary file added lib_core/src/main/assets/ng/ng_2.png
Binary file added lib_core/src/main/assets/ng/ng_20.png
Binary file added lib_core/src/main/assets/ng/ng_21.png
Binary file added lib_core/src/main/assets/ng/ng_22.png
Binary file added lib_core/src/main/assets/ng/ng_23.png
Binary file added lib_core/src/main/assets/ng/ng_24.png
Binary file added lib_core/src/main/assets/ng/ng_25.png
Binary file added lib_core/src/main/assets/ng/ng_26.png
Binary file added lib_core/src/main/assets/ng/ng_27.png
Binary file added lib_core/src/main/assets/ng/ng_28.png
Binary file added lib_core/src/main/assets/ng/ng_29.png
Binary file added lib_core/src/main/assets/ng/ng_3.png
Binary file added lib_core/src/main/assets/ng/ng_30.png
Binary file added lib_core/src/main/assets/ng/ng_31.png
Binary file added lib_core/src/main/assets/ng/ng_32.png
Binary file added lib_core/src/main/assets/ng/ng_33.png
Binary file added lib_core/src/main/assets/ng/ng_34.png
Binary file added lib_core/src/main/assets/ng/ng_35.png
Binary file added lib_core/src/main/assets/ng/ng_36.png
Binary file added lib_core/src/main/assets/ng/ng_37.png
Binary file added lib_core/src/main/assets/ng/ng_38.png
Binary file added lib_core/src/main/assets/ng/ng_4.png
Binary file added lib_core/src/main/assets/ng/ng_5.png
Binary file added lib_core/src/main/assets/ng/ng_6.png
Binary file added lib_core/src/main/assets/ng/ng_7.png
Binary file added lib_core/src/main/assets/ng/ng_8.png
Binary file added lib_core/src/main/assets/ng/ng_9.png
Original file line number Diff line number Diff line change
Expand Up @@ -22,29 +22,14 @@ public class ForumEmoticonDecoder implements IForumDecoder {
};// (0-44)

private static final String[] IMG_ADD_ACNIANG = {
"-47218_5052bca81a77f.png",
"-47218_5052bd3b4b3bd.png", "-1324875_50e597f5ce78d.png",
"-47218_5052bcba15fcf.png", "-47218_5052bcb6e96d1.png",
"-47218_5052bd2a0d49a.png", "-47218_5052c10aa0303.png",
"-47218_5052bcaaacb45.png", "-1324875_50e597c090c58.png",
"-47218_5052c104b8e27.png", "-47218_5052bc587c6f9.png",
"-47218_5052c1076f119.png", "-47218_5052bd2497822.png",
"-47218_5052bd2fa0790.png", "-47218_5052c0f6da079.png",
"-47218_5052bc4cc6331.png", "-47218_5052bcf37c4c9.png",
"-1324875_513394fbc54e1.gif", "-47218_5052bc4f51be7.png",
"-47218_5052c1101747c.png", "-47218_5052c10d1f08c.png",
"-47218_5052bcdd279bc.png", "-47218_5052bce27ab4d.png",
"-47218_5052bd35aec58.png", "-47218_5052bcdfd9c69.png",
"-47218_5052bc835856c.png", "-47218_5052bce4f2963.png",
"-47218_5052bd330dfad.png", "-47218_5052bc7d91913.png",
"-47218_5052c112b3b1b.png", "-47218_5052bcf0ba2db.png",
"-47218_5052bc8638067.png", "-47218_5052bca55cb6e.png",
"-47218_5052bc521c04b.png", "-47218_5052bca2a2f43.png",
"-47218_5052bcad49530.png", "-47218_5052bceb823da.png",
"-47218_5052bc80140e3.png", "-47218_5052bcb3b8944.png",
"-1324875_50d841a63a673.png", "-47218_5052bcf68ddc2.png",
"-1324875_50e597e9d6319.png", "-47218_5052bd27520ef.png",
"-47218_5052bcbe35760.png", "-1324875_50e597f190a11.png"// 0-44
"ac0.png", "ac1.png", "ac2.png", "ac3.png", "ac4.png", "ac5.png", "ac6.png",
"ac7.png", "ac8.png", "ac9.png", "ac10.png", "ac11.png", "ac12.png", "ac13.png",
"ac14.png", "ac15.png", "ac16.png", "ac17.png", "ac18.png", "ac19.png",
"ac20.png", "ac21.png", "ac22.png", "ac23.png", "ac24.png", "ac25.png",
"ac26.png", "ac27.png", "ac28.png", "ac29.png", "ac30.png", "ac31.png",
"ac32.png", "ac33.png", "ac34.png", "ac35.png", "ac36.png", "ac37.png",
"ac38.png", "ac39.png", "ac40.png", "ac41.png", "ac43.png", "ac42.png",
"ac44.png"// 0-44
};

private static final String[] UBB_CODE_ACNIANG_NEW = {
Expand Down Expand Up @@ -73,6 +58,21 @@ public class ForumEmoticonDecoder implements IForumDecoder {
"a2_41.png", "a2_40.png",// 0-45
};

private static final String UBB_CODE_NGNIANG[] = {
"呲牙笑", "奸笑", "问号", "茶", "笑指", "燃尽", "晕", "扇笑", "寄", "别急",
"doge", "丧", "汗", "叹气", "吃饼", "吃瓜", "吐舌", "哭", "喘", "心", "喷",
"困", "大哭", "大惊", "害怕", "惊", "暴怒", "气愤", "热", "瓜不熟", "瞎", "色",
"斜眼", "问号大"
};
private static final String IMG_ADD_NGNIANG[] = {
"ng_1.png", "ng_2.png", "ng_3.png", "ng_4.png", "ng_5.png", "ng_6.png",
"ng_7.png", "ng_8.png", "ng_9.png", "ng_10.png", "ng_11.png", "ng_12.png",
"ng_13.png", "ng_15.png", "ng_16.png", "ng_17.png", "ng_18.png", "ng_19.png",
"ng_20.png", "ng_21.png", "ng_22.png", "ng_24.png", "ng_25.png", "ng_26.png",
"ng_27.png", "ng_28.png", "ng_30.png", "ng_31.png", "ng_32.png", "ng_33.png",
"ng_34.png", "ng_35.png", "ng_37.png", "ng_38.png"
};

private static final String[] UBB_CODE_PENGUIN = {
"战斗力", "哈啤", "满分", "衰", "拒绝",
"心", "严肃", "吃瓜", "嘣", "嘣2",
Expand Down Expand Up @@ -154,6 +154,10 @@ public class ForumEmoticonDecoder implements IForumDecoder {
sEmotionTable.put("a2", UBB_CODE_ACNIANG_NEW[i], IMG_ADD_ACNIANG_NEW[i]);
}

for (int i = 0; i < UBB_CODE_NGNIANG.length; i++) {
sEmotionTable.put("ng", UBB_CODE_NGNIANG[i], IMG_ADD_NGNIANG[i]);
}

for (int i = 0; i < UBB_CODE_PST.length; i++) {
sEmotionTable.put("pst", UBB_CODE_PST[i], IMG_ADD_PST[i]);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,56 +42,25 @@ public class TopicPostPresenter extends BasePresenter<TopicPostFragment, TopicPo

@Override
public void setEmoticon(String emotion) {
String urlTemp = emotion.replaceAll("\\n", "");
if (urlTemp.contains("http")) {
urlTemp = urlTemp.substring(5, urlTemp.length() - 6);
String sourceFile = EmoticonUtils.getPathByURI(urlTemp);
try (InputStream is = mBaseView.getContext().getResources().getAssets().open(sourceFile)) {
if (is != null) {
Bitmap bitmap = BitmapFactory.decodeStream(is);
Drawable drawable = new BitmapDrawable(mBaseView.getContext().getResources(), bitmap);
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(),
drawable.getIntrinsicHeight());
SpannableString spanString = new SpannableString(emotion);
ImageSpan span = new ImageSpan(drawable,
ImageSpan.ALIGN_BASELINE);
spanString.setSpan(span, 0, emotion.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
mBaseView.insertBodyText(spanString);
}
} catch (IOException e) {
e.printStackTrace();
}

} else {
int[] emotions = {1, 2, 3, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34,
35, 36, 37, 38, 39, 4, 40, 41, 42, 43, 5, 6, 7, 8};
for (int i = 0; i < 27; i++) {
if (emotion.indexOf("[s:" + emotions[i] + "]") == 0) {
String sourceFile = "a" + emotions[i] + ".gif";
try (InputStream is = mBaseView.getContext().getResources().getAssets().open(sourceFile)) {
if (is != null) {
Bitmap bitmap = BitmapFactory.decodeStream(is);
Drawable drawable = new BitmapDrawable(bitmap);
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(),
drawable.getIntrinsicHeight());
SpannableString spanString = new SpannableString(
emotion);
ImageSpan span = new ImageSpan(drawable,
ImageSpan.ALIGN_BASELINE);
spanString.setSpan(span, 0, emotion.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
mBaseView.insertBodyText(spanString);
} else {
mBaseView.insertBodyText(emotion);
}
} catch (IOException e) {
e.printStackTrace();
}
break;
}
String[] emotions = emotion.split("-");
try (InputStream is = mBaseView.getContext().getResources().getAssets().open(emotions[1])) {
if (is != null) {
Bitmap bitmap = BitmapFactory.decodeStream(is);
Drawable drawable = new BitmapDrawable(mBaseView.getContext().getResources(), bitmap);
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(),
drawable.getIntrinsicHeight());
SpannableString spanString = new SpannableString(emotions[0]);
ImageSpan span = new ImageSpan(drawable,
ImageSpan.ALIGN_BASELINE);
spanString.setSpan(span, 0, emotions[0].length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
mBaseView.insertBodyText(spanString);
}
} catch (IOException e) {
e.printStackTrace();
}


}//

@Override
Expand Down Expand Up @@ -140,7 +109,7 @@ public void post(String title, String body, boolean isAnony) {

@Override
public void showFilePicker() {
PermissionUtils.request(mBaseView, new BaseSubscriber<Boolean>(){
PermissionUtils.request(mBaseView, new BaseSubscriber<Boolean>() {

@Override
public void onNext(Boolean aBoolean) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package sp.phone.ui.adapter;

import static gov.anzong.androidnga.common.util.EmoticonUtils.EMOTICON_LABEL;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
Expand Down Expand Up @@ -31,6 +33,7 @@ public class EmoticonChildAdapter extends RecyclerView.Adapter<EmoticonChildAdap

private String[] mImageUrls;

private String[] mEmotionCodes;
private String mCategoryName;

private int mHeight;
Expand All @@ -50,8 +53,9 @@ public EmoticonChildAdapter(Context context, int height) {
isNightMode = ThemeManager.getInstance().isNightMode();
}

public void setData(String categoryName, String[] urls) {
public void setData(String categoryName, String[] urls, String[] codes) {
mImageUrls = urls;
mEmotionCodes = codes;
mCategoryName = categoryName;
}

Expand Down Expand Up @@ -82,7 +86,8 @@ public void onBindViewHolder(EmoticonViewHolder holder, int position) {
}
}
holder.mEmoticonItem.setImageBitmap(bm);
holder.mEmoticonItem.setTag("[img]" + mImageUrls[position] + "[/img]");
holder.mEmoticonItem.setTag(mEmotionCodes[position] +
"-" + mCategoryName + "/" + mImageUrls[position]);
} catch (IOException e) {
e.printStackTrace();
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package sp.phone.ui.adapter;

import static gov.anzong.androidnga.common.util.EmoticonUtils.EMOTICON_LABEL;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
Expand Down Expand Up @@ -33,7 +35,10 @@ public Object instantiateItem(ViewGroup container, int position) {
recyclerView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));

EmoticonChildAdapter adapter = new EmoticonChildAdapter(mContext, mHeight);
adapter.setData(EmoticonUtils.EMOTICON_LABEL[position][0], EmoticonUtils.EMOTICON_URL[position]);

adapter.setData(EMOTICON_LABEL[position][0], getEmotionList(EmoticonUtils.EMOTICON_URL[position], position, 1),
getEmotionList(EmoticonUtils.EMOTICON_URL[position], position, 0)
);

recyclerView.setAdapter(adapter);

Expand All @@ -43,7 +48,22 @@ public Object instantiateItem(ViewGroup container, int position) {

@Override
public CharSequence getPageTitle(int position) {
return EmoticonUtils.EMOTICON_LABEL[position][1];
return EMOTICON_LABEL[position][1];
}

private String[] getEmotionList(String[][] list, int emotionPosion, int emotionType) {
String[] result = new String[list.length];
if (emotionType == 0) {
for (int i = 0; i < list.length; i++) {
result[i] = "[s:" + EmoticonUtils.EMOTICON_LABEL[emotionPosion][0] + ":" + list[i][emotionType] + "]";
}
} else {
for (int i = 0; i < list.length; i++) {
result[i] = list[i][emotionType];
}
}

return result;
}

@Override
Expand All @@ -54,7 +74,7 @@ public void destroyItem(ViewGroup container, int position, Object object) {

@Override
public int getCount() {
return EmoticonUtils.EMOTICON_LABEL.length;
return EMOTICON_LABEL.length;
}

@Override
Expand Down
55 changes: 30 additions & 25 deletions nga_phone_base_3.0/src/main/java/sp/phone/util/StringUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -505,29 +505,15 @@ private static String buildEmoticonImage(String content) {
"哭笑", "哼", "喘", "喷", "嘲笑", "嘲笑1", "囧", "委屈", "心", "忧伤", "怒",
"怕", "惊", "愁", "抓狂", "抠鼻", "擦汗", "无语", "晕", "汗", "瞎", "羞",
"羡慕", "花痴", "茶", "衰", "计划通", "赞同", "闪光", "黑枪"};// (0-44)
final String acniangappadd[] = {"-47218_5052bca81a77f.png",
"-47218_5052bd3b4b3bd.png", "-1324875_50e597f5ce78d.png",
"-47218_5052bcba15fcf.png", "-47218_5052bcb6e96d1.png",
"-47218_5052bd2a0d49a.png", "-47218_5052c10aa0303.png",
"-47218_5052bcaaacb45.png", "-1324875_50e597c090c58.png",
"-47218_5052c104b8e27.png", "-47218_5052bc587c6f9.png",
"-47218_5052c1076f119.png", "-47218_5052bd2497822.png",
"-47218_5052bd2fa0790.png", "-47218_5052c0f6da079.png",
"-47218_5052bc4cc6331.png", "-47218_5052bcf37c4c9.png",
"-1324875_513394fbc54e1.gif", "-47218_5052bc4f51be7.png",
"-47218_5052c1101747c.png", "-47218_5052c10d1f08c.png",
"-47218_5052bcdd279bc.png", "-47218_5052bce27ab4d.png",
"-47218_5052bd35aec58.png", "-47218_5052bcdfd9c69.png",
"-47218_5052bc835856c.png", "-47218_5052bce4f2963.png",
"-47218_5052bd330dfad.png", "-47218_5052bc7d91913.png",
"-47218_5052c112b3b1b.png", "-47218_5052bcf0ba2db.png",
"-47218_5052bc8638067.png", "-47218_5052bca55cb6e.png",
"-47218_5052bc521c04b.png", "-47218_5052bca2a2f43.png",
"-47218_5052bcad49530.png", "-47218_5052bceb823da.png",
"-47218_5052bc80140e3.png", "-47218_5052bcb3b8944.png",
"-1324875_50d841a63a673.png", "-47218_5052bcf68ddc2.png",
"-1324875_50e597e9d6319.png", "-47218_5052bd27520ef.png",
"-47218_5052bcbe35760.png", "-1324875_50e597f190a11.png"// 0-44
final String acniangappadd[] = {
"ac0.png", "ac1.png", "ac2.png", "ac3.png", "ac4.png", "ac5.png", "ac6.png",
"ac7.png", "ac8.png", "ac9.png", "ac10.png", "ac11.png", "ac12.png", "ac13.png",
"ac14.png", "ac15.png", "ac16.png", "ac17.png", "ac18.png", "ac19.png",
"ac20.png", "ac21.png", "ac22.png", "ac23.png", "ac24.png", "ac25.png",
"ac26.png", "ac27.png", "ac28.png", "ac29.png", "ac30.png", "ac31.png",
"ac32.png", "ac33.png", "ac34.png", "ac35.png", "ac36.png", "ac37.png",
"ac38.png", "ac39.png", "ac40.png", "ac41.png", "ac43.png", "ac42.png",
"ac44.png"
};
final String newacniangofubbcode[] = {
"goodjob", "诶嘿", "偷笑", "怒", "笑",
Expand All @@ -551,6 +537,20 @@ private static String buildEmoticonImage(String content) {
"a2_22.png", "a2_42.png", "a2_37.png", "a2_38.png", "a2_39.png",
"a2_41.png", "a2_40.png",// 0-45
};
final String ngniangBBCode[] = {
"呲牙笑", "奸笑", "问号", "茶", "笑指", "燃尽", "晕", "扇笑", "寄", "别急",
"doge", "丧", "汗", "叹气", "吃饼", "吃瓜", "吐舌", "哭", "喘", "心", "喷",
"困", "大哭", "大惊", "害怕", "惊", "暴怒", "气愤", "热", "瓜不熟", "瞎", "色",
"斜眼", "问号大"
};
final String ngniangAppAdd[] = {
"ng_1.png", "ng_2.png", "ng_3.png", "ng_4.png", "ng_5.png", "ng_6.png",
"ng_7.png", "ng_8.png", "ng_9.png", "ng_10.png", "ng_11.png", "ng_12.png",
"ng_13.png", "ng_15.png", "ng_16.png", "ng_17.png", "ng_18.png", "ng_19.png",
"ng_20.png", "ng_21.png", "ng_22.png", "ng_24.png", "ng_25.png", "ng_26.png",
"ng_27.png", "ng_28.png", "ng_30.png", "ng_31.png", "ng_32.png", "ng_33.png",
"ng_34.png", "ng_35.png", "ng_37.png", "ng_38.png"
};
final String penguinOfUBBCode[] = {
"战斗力", "哈啤", "满分", "衰", "拒绝",
"心", "严肃", "吃瓜", "嘣", "嘣2",
Expand Down Expand Up @@ -608,14 +608,19 @@ private static String buildEmoticonImage(String content) {
};
for (int i = 0; i < 45; i++) {
content = content.replaceAll(ignoreCaseTag + "\\[s:ac:" + acniangofubbcode[i]
+ "]", "<img src='file:///android_asset/acniang/"
+ "]", "<img src= file:///android_asset/ac/"
+ acniangappadd[i] + "'>");
}
for (int i = 0; i < 46; i++) {
content = content.replaceAll(ignoreCaseTag + "\\[s:a2:" + newacniangofubbcode[i]
+ "]", "<img src='file:///android_asset/newacniang/"
+ "]", "<img src='file:///android_asset/a2/"
+ newacniangappadd[i] + "'>");
}
for (int i = 0; i < penguinOfUBBCode.length; i++) {
content = content.replaceAll(ignoreCaseTag + "\\[s:ng:" + ngniangBBCode[i]
+ "]", "<img src='file:///android_asset/ng/"
+ ngniangAppAdd[i] + "' width=" + 60 + " height=" + 60 + ">");
}
for (int i = 0; i < penguinOfUBBCode.length; i++) {
content = content.replaceAll(ignoreCaseTag + "\\[s:pg:" + penguinOfUBBCode[i]
+ "]", "<img src='file:///android_asset/pg/"
Expand Down
Loading