@Override protected void inflate(Context context, int inflateLevel) { this.accountType = TEST_ACCOUNT_TYPE; this.setInflatedLevel(ContactsSource.LEVEL_CONSTRAINTS); // Phone allows maximum 2 home, 1 work, and unlimited other, with // constraint of 5 numbers maximum. DataKind kind = new DataKind(Phone.CONTENT_ITEM_TYPE, -1, -1, 10, true); kind.typeOverallMax = 5; kind.typeColumn = Phone.TYPE; kind.typeList = Lists.newArrayList(); kind.typeList.add(new EditType(Phone.TYPE_HOME, -1).setSpecificMax(2)); kind.typeList.add(new EditType(Phone.TYPE_WORK, -1).setSpecificMax(1)); kind.typeList.add(new EditType(Phone.TYPE_FAX_WORK, -1).setSecondary(true)); kind.typeList.add(new EditType(Phone.TYPE_OTHER, -1)); kind.fieldList = Lists.newArrayList(); kind.fieldList.add(new EditField(Phone.NUMBER, -1, -1)); kind.fieldList.add(new EditField(Phone.LABEL, -1, -1)); addKind(kind); // Email is unlimited kind = new DataKind(Email.CONTENT_ITEM_TYPE, -1, -1, 10, true); kind.typeOverallMax = -1; kind.fieldList = Lists.newArrayList(); kind.fieldList.add(new EditField(Email.DATA, -1, -1)); addKind(kind); // IM is only one kind = new DataKind(Im.CONTENT_ITEM_TYPE, -1, -1, 10, true); kind.typeOverallMax = 1; kind.fieldList = Lists.newArrayList(); kind.fieldList.add(new EditField(Im.DATA, -1, -1)); addKind(kind); // Organization is only one kind = new DataKind(Organization.CONTENT_ITEM_TYPE, -1, -1, 10, true); kind.typeOverallMax = 1; kind.fieldList = Lists.newArrayList(); kind.fieldList.add(new EditField(Organization.COMPANY, -1, -1)); kind.fieldList.add(new EditField(Organization.TITLE, -1, -1)); addKind(kind); }