public Intent getAddNumberIntent() { final Intent intent = new Intent(Intent.ACTION_INSERT_OR_EDIT); intent.setType(ContactsContract.Contacts.CONTENT_ITEM_TYPE); ArrayList<ContentValues> data = new ArrayList<>(); ContentValues values = new ContentValues(); SipUri number = getPhones().get(0).getNumber(); if (number.isRingId()) { values.put( ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Im.CONTENT_ITEM_TYPE); values.put(ContactsContract.CommonDataKinds.Im.DATA, number.getRawUriString()); values.put( ContactsContract.CommonDataKinds.Im.PROTOCOL, ContactsContract.CommonDataKinds.Im.PROTOCOL_CUSTOM); values.put(ContactsContract.CommonDataKinds.Im.CUSTOM_PROTOCOL, "Ring"); } else { values.put( ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.SipAddress.CONTENT_ITEM_TYPE); values.put(ContactsContract.CommonDataKinds.SipAddress.SIP_ADDRESS, number.getRawUriString()); } data.add(values); intent.putParcelableArrayListExtra(ContactsContract.Intents.Insert.DATA, data); return intent; }
public static CallContact buildUnknown(SipUri to) { ArrayList<Phone> phones = new ArrayList<>(); phones.add(new Phone(to, 0)); return new CallContact(-1, null, to.getRawUriString(), 0, phones, "", false); }