1package eu.siacs.conversations.android;
 2
 3import android.database.Cursor;
 4import android.net.Uri;
 5import android.provider.ContactsContract;
 6import android.text.TextUtils;
 7
 8public abstract class AbstractPhoneContact {
 9
10    private final Uri lookupUri;
11    private final String displayName;
12    private final String photoUri;
13
14
15    AbstractPhoneContact(Cursor cursor) {
16        int phoneId = cursor.getInt(cursor.getColumnIndex(ContactsContract.Data._ID));
17        String lookupKey = cursor.getString(cursor.getColumnIndex(ContactsContract.Data.LOOKUP_KEY));
18        this.lookupUri = ContactsContract.Contacts.getLookupUri(phoneId, lookupKey);
19        this.displayName = cursor.getString(cursor.getColumnIndex(ContactsContract.Data.DISPLAY_NAME));
20        this.photoUri = cursor.getString(cursor.getColumnIndex(ContactsContract.Data.PHOTO_URI));
21    }
22
23    public Uri getLookupUri() {
24        return lookupUri;
25    }
26
27    public String getDisplayName() {
28        return displayName;
29    }
30
31    public String getPhotoUri() {
32        return photoUri;
33    }
34
35
36    public int rating() {
37        return (TextUtils.isEmpty(displayName) ? 0 : 2) + (TextUtils.isEmpty(photoUri) ? 0 : 1);
38    }
39}