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}