Skip to content

Commit

Permalink
修复评论中包含部分颜文字可能卡死的问题
Browse files Browse the repository at this point in the history
  • Loading branch information
CeuiLiSA committed Aug 13, 2020
1 parent 585fa20 commit ea05f70
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 19 deletions.
4 changes: 1 addition & 3 deletions app/src/main/java/ceui/lisa/fragments/FragmentComment.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,8 @@

import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Rect;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.text.TextUtils;
import android.view.View;

import androidx.appcompat.app.AlertDialog;
Expand Down
33 changes: 17 additions & 16 deletions app/src/main/java/ceui/lisa/utils/Emoji.java
Original file line number Diff line number Diff line change
Expand Up @@ -58,16 +58,18 @@ public class Emoji {
* @return boolean
*/
public static boolean hasEmoji(String origin) {
Common.showLog("hasEmoji hasEmoji");
if (TextUtils.isEmpty(origin)) {
return false;
}
return origin.contains("(") &&
origin.contains(")") &&
Character.isLowerCase(
origin.charAt(
origin.indexOf("(") + 1 // (右边的必须是小写字母。
)
);
boolean hasEmoji = false;
for (String name : NAMES) {
if (origin.contains(name)) {
hasEmoji = true;
break;
}
}
return hasEmoji;
}

/**
Expand All @@ -78,17 +80,16 @@ public static boolean hasEmoji(String origin) {
public static String transform(String origin) {
String before = origin;
while (hasEmoji(before)) {
int startIndex = before.indexOf("(");
int endIndex = before.indexOf(")");
if (startIndex >= 0 && endIndex >= startIndex) {
//截取这个表情
String emoji = before.substring(startIndex, endIndex + 1);

//将表情替换为对应的<img>
if (!TextUtils.isEmpty(emoji)) {
before = replace(before, emoji);
String temp = "";
for (String name : NAMES) {
if (origin.contains(name)) {
temp = name;
break;
}
}
if (!TextUtils.isEmpty(temp)) {
before = replace(before, temp);
}
}
return before;
}
Expand Down

0 comments on commit ea05f70

Please sign in to comment.