1 package expo.modules.contacts.models;
2 
3 import android.content.ContentValues;
4 import android.database.Cursor;
5 import android.provider.ContactsContract;
6 
7 import static android.provider.ContactsContract.*;
8 
9 public class ImAddressModel extends BaseModel {
10 
11     @Override
getContentType()12     public String getContentType() {
13         return CommonDataKinds.Im.CONTENT_ITEM_TYPE;
14     }
15 
16     @Override
getDataAlias()17     public String getDataAlias() {
18         return "username";
19     }
20 
serializeService(int protocol)21     private String serializeService(int protocol) {
22         switch (protocol) {
23         case CommonDataKinds.Im.PROTOCOL_AIM:
24             return "aim";
25         case CommonDataKinds.Im.PROTOCOL_GOOGLE_TALK:
26             return "googleTalk";
27         case CommonDataKinds.Im.PROTOCOL_ICQ:
28             return "icq";
29         case CommonDataKinds.Im.PROTOCOL_JABBER:
30             return "jabber";
31         case CommonDataKinds.Im.PROTOCOL_MSN:
32             return "msn";
33         case CommonDataKinds.Im.PROTOCOL_NETMEETING:
34             return "netmeeting";
35         case CommonDataKinds.Im.PROTOCOL_QQ:
36             return "qq";
37         case CommonDataKinds.Im.PROTOCOL_SKYPE:
38             return "skype";
39         case CommonDataKinds.Im.PROTOCOL_YAHOO:
40             return "yahoo";
41         case CommonDataKinds.Im.PROTOCOL_CUSTOM:
42             return "custom";
43         default:
44             return "unknown";
45         }
46     }
47 
48     @Override
fromCursor(Cursor cursor)49     public void fromCursor(Cursor cursor) {
50         super.fromCursor(cursor);
51         map.putString("service", serializeService(cursor.getInt(cursor.getColumnIndex(CommonDataKinds.Im.PROTOCOL))));
52     }
53 
54     @Override
getContentValues()55     public ContentValues getContentValues() {
56         ContentValues values = super.getContentValues();
57         values.put(CommonDataKinds.Im.PROTOCOL, getString("service"));
58         return values;
59     }
60 }
61