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