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

Commit bf4e2f4f authored by Isaac Katzenelson's avatar Isaac Katzenelson Committed by Android (Google) Code Review
Browse files

Merge "Fix snippetizing cursor"

parents 3252f4fa 2697cbc9
Loading
Loading
Loading
Loading
+26 −1
Original line number Diff line number Diff line
@@ -33,6 +33,9 @@ import android.graphics.Color;
import android.graphics.Rect;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.provider.ContactsContract.Contacts;
import android.text.TextUtils;
import android.text.TextUtils.TruncateAt;
import android.util.AttributeSet;
@@ -46,6 +49,11 @@ import android.widget.ImageView.ScaleType;
import android.widget.QuickContactBadge;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * A custom view for an item in the contact list.
 * The view contains the contact's photo, a set of text views (for name, status, etc...) and
@@ -1094,8 +1102,25 @@ public class ContactListItemView extends ViewGroup
            setSnippet(null);
            return;
        }
        String snippet;
        String columnContent = cursor.getString(summarySnippetColumnIndex);

        // Do client side snippeting if provider didn't do it
        Bundle extras = cursor.getExtras();
        if (extras.getBoolean(ContactsContract.DEFERRED_SNIPPETING)) {
            int displayNameIndex = cursor.getColumnIndex(Contacts.DISPLAY_NAME);

            snippet = ContactsContract.snippetize(columnContent,
                    displayNameIndex < 0 ? null : cursor.getString(displayNameIndex),
                            extras.getString(ContactsContract.DEFERRED_SNIPPETING_QUERY),
                            DefaultContactListAdapter.SNIPPET_START_MATCH,
                            DefaultContactListAdapter.SNIPPET_END_MATCH,
                            DefaultContactListAdapter.SNIPPET_ELLIPSIS,
                            DefaultContactListAdapter.SNIPPET_MAX_TOKENS);
        } else {
            snippet = columnContent;
        }

        String snippet = cursor.getString(summarySnippetColumnIndex);
        if (snippet != null) {
            int from = 0;
            int to = snippet.length();
+1 −0
Original line number Diff line number Diff line
@@ -85,6 +85,7 @@ public class DefaultContactListAdapter extends ContactListAdapter {
                }
                builder.appendQueryParameter(SearchSnippetColumns.SNIPPET_ARGS_PARAM_KEY,
                        SNIPPET_ARGS);
                builder.appendQueryParameter(SearchSnippetColumns.DEFERRED_SNIPPETING_KEY,"1");
                loader.setUri(builder.build());
                loader.setProjection(FILTER_PROJECTION);
            }