Only parse search suggestions that look like HTML

HTML parsing of search suggestions is still a major
CPU hog in the search dialog. This change first
checks if the text contains any HTML markup
(by looking for < and &) before bothering to
treat it as HTML.
This commit is contained in:
Bjorn Bringert
2009-07-16 14:09:52 +01:00
parent 391eaa3ba8
commit 84ee74335f

View File

@@ -351,7 +351,7 @@ class SuggestionsAdapter extends ResourceCursorAdapter {
CharSequence text = null;
if (textCol >= 0) {
String str = cursor.getString(textCol);
if (isHtml && !TextUtils.isEmpty(str)) {
if (isHtml && looksLikeHtml(str)) {
text = Html.fromHtml(str);
} else {
text = str;
@@ -367,6 +367,15 @@ class SuggestionsAdapter extends ResourceCursorAdapter {
}
}
private static boolean looksLikeHtml(String str) {
if (TextUtils.isEmpty(str)) return false;
for (int i = str.length() - 1; i >= 0; i--) {
char c = str.charAt(i);
if (c == '<' || c == '&') return true;
}
return false;
}
private Drawable getIcon1(Cursor cursor) {
if (mIconName1Col < 0) {
return null;