Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 84ee7433 authored by Bjorn Bringert's avatar Bjorn Bringert
Browse files

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.
parent 391eaa3b
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -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;