Loading src/com/android/contacts/common/util/ContactDisplayUtils.java +29 −27 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import com.google.common.base.Preconditions; import android.content.Context; import android.content.res.Resources; import android.support.annotation.Nullable; import android.text.Spannable; import android.text.SpannableString; import android.text.TextUtils; Loading Loading @@ -240,26 +241,26 @@ public class ContactDisplayUtils { } /** * Returns either namePrimary or nameAlternative based on the value of displayOrderPreference * Returns either namePrimary or nameAlternative based on the {@link ContactsPreferences}. * Defaults to the name that is non-null. * * In the event that nameAlternative is empty or displayOrderPreference is neither * {@link ContactsPreferences#DISPLAY_ORDER_PRIMARY} nor * {@link ContactsPreferences#DISPLAY_ORDER_ALTERNATIVE}, namePrimary is returned * * @param namePrimary the primary name * @param nameAlternative the alternative name * @param displayOrderPreference one of {@link ContactsPreferences#DISPLAY_ORDER_PRIMARY} or * {@link ContactsPreferences#DISPLAY_ORDER_ALTERNATIVE} * @return namePrimary or nameAlternative depending on the value of displayOrderPreference * @param namePrimary the primary name. * @param nameAlternative the alternative name. * @param contactsPreferences the ContactsPreferences used to determine the preferred * display name. * @return namePrimary or nameAlternative depending on the value of displayOrderPreference. */ public static String getPreferredDisplayName(String namePrimary, String nameAlternative, int displayOrderPreference) { if (displayOrderPreference == ContactsPreferences.DISPLAY_ORDER_PRIMARY) { @Nullable ContactsPreferences contactsPreferences) { if (contactsPreferences == null) { return namePrimary != null ? namePrimary : nameAlternative; } if (contactsPreferences.getDisplayOrder() == ContactsPreferences.DISPLAY_ORDER_PRIMARY) { return namePrimary; } if (displayOrderPreference == ContactsPreferences.DISPLAY_ORDER_ALTERNATIVE && !TextUtils.isEmpty(nameAlternative)) { if (contactsPreferences.getDisplayOrder() == ContactsPreferences.DISPLAY_ORDER_ALTERNATIVE && !TextUtils.isEmpty(nameAlternative)) { return nameAlternative; } Loading @@ -267,25 +268,26 @@ public class ContactDisplayUtils { } /** * Returns either namePrimary or nameAlternative based on the value of sortOrderPreference * Returns either namePrimary or nameAlternative based on the {@link ContactsPreferences}. * Defaults to the name that is non-null. * * In the event that nameAlternative is empty or sortOrderPreference is neither * {@link ContactsPreferences#SORT_ORDER_PRIMARY} nor * {@link ContactsPreferences#SORT_ORDER_ALTERNATIVE}, namePrimary is returned * * @param namePrimary the primary name * @param nameAlternative the alternative name * @param sortOrderPreference one of {@link ContactsPreferences#SORT_ORDER_PRIMARY} or * {@link ContactsPreferences#SORT_ORDER_ALTERNATIVE} * @return namePrimary or nameAlternative depending on the value of displayOrderPreference * @param namePrimary the primary name. * @param nameAlternative the alternative name. * @param contactsPreferences the ContactsPreferences used to determine the preferred sort * order. * @return namePrimary or nameAlternative depending on the value of displayOrderPreference. */ public static String getPreferredSortName(String namePrimary, String nameAlternative, int sortOrderPreference) { if (sortOrderPreference == ContactsPreferences.SORT_ORDER_PRIMARY) { @Nullable ContactsPreferences contactsPreferences) { if (contactsPreferences == null) { return namePrimary != null ? namePrimary : nameAlternative; } if (contactsPreferences.getSortOrder() == ContactsPreferences.SORT_ORDER_PRIMARY) { return namePrimary; } if (sortOrderPreference == ContactsPreferences.SORT_ORDER_ALTERNATIVE && if (contactsPreferences.getSortOrder() == ContactsPreferences.SORT_ORDER_ALTERNATIVE && !TextUtils.isEmpty(nameAlternative)) { return nameAlternative; } Loading tests/src/com/android/contacts/common/util/ContactDisplayUtilTests.java +80 −16 Original line number Diff line number Diff line Loading @@ -24,6 +24,10 @@ import android.test.suitebuilder.annotation.SmallTest; import com.android.contacts.common.R; import com.android.contacts.common.preference.ContactsPreferences; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; /** * Unit tests for (@link ContactDisplayUtils} */ Loading @@ -33,6 +37,14 @@ public class ContactDisplayUtilTests extends AndroidTestCase { private static final String NAME_PRIMARY = "Name Primary"; private static final String NAME_ALTERNATIVE = "Name Alternative"; @Mock private ContactsPreferences mContactsPreferences; @Override public void setUp() throws Exception { super.setUp(); MockitoAnnotations.initMocks(this); } public void testIsCustomPhoneTypeReturnsTrue() { assertTrue(ContactDisplayUtils.isCustomPhoneType(Phone.TYPE_CUSTOM)); assertTrue(ContactDisplayUtils.isCustomPhoneType(Phone.TYPE_ASSISTANT)); Loading Loading @@ -96,43 +108,95 @@ public class ContactDisplayUtilTests extends AndroidTestCase { assertEquals(R.string.sms_home, ContactDisplayUtils.getSmsLabelResourceId(Phone.TYPE_HOME)); } public void testGetPreferredDisplayNameEmptyAlternative() { public void testGetPreferredDisplayName_NullContactsPreferences() { assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredDisplayName(NAME_PRIMARY, NAME_ALTERNATIVE, null)); } public void testGetPreferredDisplayName_NullContactsPreferences_NullAlternative() { assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredDisplayName(NAME_PRIMARY, null, null)); } public void testGetPreferredDisplayName_NullContactsPreferences_NullPrimary() { assertEquals(NAME_ALTERNATIVE, ContactDisplayUtils.getPreferredDisplayName(null, NAME_ALTERNATIVE, null)); } public void testGetPreferredDisplayName_NullContactsPreferences_BothNull() { assertNull(ContactDisplayUtils.getPreferredDisplayName(null, null, null)); } public void testGetPreferredDisplayName_EmptyAlternative() { Mockito.when(mContactsPreferences.getDisplayOrder()) .thenReturn(ContactsPreferences.DISPLAY_ORDER_ALTERNATIVE); assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredDisplayName(NAME_PRIMARY, "", ContactsPreferences.DISPLAY_ORDER_ALTERNATIVE)); mContactsPreferences)); } public void testGetPreferredDisplayNameInvalidPreference() { public void testGetPreferredDisplayName_InvalidPreference() { Mockito.when(mContactsPreferences.getDisplayOrder()).thenReturn(-1); assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredDisplayName(NAME_PRIMARY, NAME_ALTERNATIVE, -1)); NAME_ALTERNATIVE, mContactsPreferences)); } public void testGetPreferredDisplayNamePrimary() { public void testGetPreferredDisplayName_Primary() { Mockito.when(mContactsPreferences.getDisplayOrder()) .thenReturn(ContactsPreferences.DISPLAY_ORDER_PRIMARY); assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredDisplayName(NAME_PRIMARY, NAME_ALTERNATIVE, ContactsPreferences.DISPLAY_ORDER_PRIMARY)); NAME_ALTERNATIVE, mContactsPreferences)); } public void testGetPreferredDisplayNameAlternative() { public void testGetPreferredDisplayName_Alternative() { Mockito.when(mContactsPreferences.getDisplayOrder()) .thenReturn(ContactsPreferences.DISPLAY_ORDER_ALTERNATIVE); assertEquals(NAME_ALTERNATIVE, ContactDisplayUtils.getPreferredDisplayName(NAME_PRIMARY, NAME_ALTERNATIVE, ContactsPreferences.DISPLAY_ORDER_ALTERNATIVE)); NAME_ALTERNATIVE, mContactsPreferences)); } public void testGetPreferredSortName_NullContactsPreferences() { assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredSortName(NAME_PRIMARY, NAME_ALTERNATIVE, null)); } public void testGetPreferredSortName_NullContactsPreferences_NullAlternative() { assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredSortName(NAME_PRIMARY, null, null)); } public void testGetPreferredSortName_NullContactsPreferences_NullPrimary() { assertEquals(NAME_ALTERNATIVE, ContactDisplayUtils.getPreferredSortName(null, NAME_ALTERNATIVE, null)); } public void testGetPreferredSortName_NullContactsPreferences_BothNull() { assertNull(ContactDisplayUtils.getPreferredSortName(null, null, null)); } public void testGetPreferredSortNameEmptyAlternative() { public void testGetPreferredSortName_EmptyAlternative() { Mockito.when(mContactsPreferences.getSortOrder()) .thenReturn(ContactsPreferences.SORT_ORDER_ALTERNATIVE); assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredSortName(NAME_PRIMARY, "", ContactsPreferences.SORT_ORDER_ALTERNATIVE)); mContactsPreferences)); } public void testGetPreferredSortNameInvalidPreference() { public void testGetPreferredSortName_InvalidPreference() { Mockito.when(mContactsPreferences.getSortOrder()).thenReturn(-1); assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredSortName(NAME_PRIMARY, NAME_ALTERNATIVE, -1)); NAME_ALTERNATIVE, mContactsPreferences)); } public void testGetPreferredSortNamePrimary() { public void testGetPreferredSortName_Primary() { Mockito.when(mContactsPreferences.getSortOrder()) .thenReturn(ContactsPreferences.SORT_ORDER_PRIMARY); assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredSortName(NAME_PRIMARY, NAME_ALTERNATIVE, ContactsPreferences.SORT_ORDER_PRIMARY)); NAME_ALTERNATIVE, mContactsPreferences)); } public void testGetPreferredSortNameAlternative() { public void testGetPreferredSortName_Alternative() { Mockito.when(mContactsPreferences.getSortOrder()) .thenReturn(ContactsPreferences.SORT_ORDER_ALTERNATIVE); assertEquals(NAME_ALTERNATIVE, ContactDisplayUtils.getPreferredSortName(NAME_PRIMARY, NAME_ALTERNATIVE, ContactsPreferences.SORT_ORDER_ALTERNATIVE)); NAME_ALTERNATIVE, mContactsPreferences)); } } Loading
src/com/android/contacts/common/util/ContactDisplayUtils.java +29 −27 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import com.google.common.base.Preconditions; import android.content.Context; import android.content.res.Resources; import android.support.annotation.Nullable; import android.text.Spannable; import android.text.SpannableString; import android.text.TextUtils; Loading Loading @@ -240,26 +241,26 @@ public class ContactDisplayUtils { } /** * Returns either namePrimary or nameAlternative based on the value of displayOrderPreference * Returns either namePrimary or nameAlternative based on the {@link ContactsPreferences}. * Defaults to the name that is non-null. * * In the event that nameAlternative is empty or displayOrderPreference is neither * {@link ContactsPreferences#DISPLAY_ORDER_PRIMARY} nor * {@link ContactsPreferences#DISPLAY_ORDER_ALTERNATIVE}, namePrimary is returned * * @param namePrimary the primary name * @param nameAlternative the alternative name * @param displayOrderPreference one of {@link ContactsPreferences#DISPLAY_ORDER_PRIMARY} or * {@link ContactsPreferences#DISPLAY_ORDER_ALTERNATIVE} * @return namePrimary or nameAlternative depending on the value of displayOrderPreference * @param namePrimary the primary name. * @param nameAlternative the alternative name. * @param contactsPreferences the ContactsPreferences used to determine the preferred * display name. * @return namePrimary or nameAlternative depending on the value of displayOrderPreference. */ public static String getPreferredDisplayName(String namePrimary, String nameAlternative, int displayOrderPreference) { if (displayOrderPreference == ContactsPreferences.DISPLAY_ORDER_PRIMARY) { @Nullable ContactsPreferences contactsPreferences) { if (contactsPreferences == null) { return namePrimary != null ? namePrimary : nameAlternative; } if (contactsPreferences.getDisplayOrder() == ContactsPreferences.DISPLAY_ORDER_PRIMARY) { return namePrimary; } if (displayOrderPreference == ContactsPreferences.DISPLAY_ORDER_ALTERNATIVE && !TextUtils.isEmpty(nameAlternative)) { if (contactsPreferences.getDisplayOrder() == ContactsPreferences.DISPLAY_ORDER_ALTERNATIVE && !TextUtils.isEmpty(nameAlternative)) { return nameAlternative; } Loading @@ -267,25 +268,26 @@ public class ContactDisplayUtils { } /** * Returns either namePrimary or nameAlternative based on the value of sortOrderPreference * Returns either namePrimary or nameAlternative based on the {@link ContactsPreferences}. * Defaults to the name that is non-null. * * In the event that nameAlternative is empty or sortOrderPreference is neither * {@link ContactsPreferences#SORT_ORDER_PRIMARY} nor * {@link ContactsPreferences#SORT_ORDER_ALTERNATIVE}, namePrimary is returned * * @param namePrimary the primary name * @param nameAlternative the alternative name * @param sortOrderPreference one of {@link ContactsPreferences#SORT_ORDER_PRIMARY} or * {@link ContactsPreferences#SORT_ORDER_ALTERNATIVE} * @return namePrimary or nameAlternative depending on the value of displayOrderPreference * @param namePrimary the primary name. * @param nameAlternative the alternative name. * @param contactsPreferences the ContactsPreferences used to determine the preferred sort * order. * @return namePrimary or nameAlternative depending on the value of displayOrderPreference. */ public static String getPreferredSortName(String namePrimary, String nameAlternative, int sortOrderPreference) { if (sortOrderPreference == ContactsPreferences.SORT_ORDER_PRIMARY) { @Nullable ContactsPreferences contactsPreferences) { if (contactsPreferences == null) { return namePrimary != null ? namePrimary : nameAlternative; } if (contactsPreferences.getSortOrder() == ContactsPreferences.SORT_ORDER_PRIMARY) { return namePrimary; } if (sortOrderPreference == ContactsPreferences.SORT_ORDER_ALTERNATIVE && if (contactsPreferences.getSortOrder() == ContactsPreferences.SORT_ORDER_ALTERNATIVE && !TextUtils.isEmpty(nameAlternative)) { return nameAlternative; } Loading
tests/src/com/android/contacts/common/util/ContactDisplayUtilTests.java +80 −16 Original line number Diff line number Diff line Loading @@ -24,6 +24,10 @@ import android.test.suitebuilder.annotation.SmallTest; import com.android.contacts.common.R; import com.android.contacts.common.preference.ContactsPreferences; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; /** * Unit tests for (@link ContactDisplayUtils} */ Loading @@ -33,6 +37,14 @@ public class ContactDisplayUtilTests extends AndroidTestCase { private static final String NAME_PRIMARY = "Name Primary"; private static final String NAME_ALTERNATIVE = "Name Alternative"; @Mock private ContactsPreferences mContactsPreferences; @Override public void setUp() throws Exception { super.setUp(); MockitoAnnotations.initMocks(this); } public void testIsCustomPhoneTypeReturnsTrue() { assertTrue(ContactDisplayUtils.isCustomPhoneType(Phone.TYPE_CUSTOM)); assertTrue(ContactDisplayUtils.isCustomPhoneType(Phone.TYPE_ASSISTANT)); Loading Loading @@ -96,43 +108,95 @@ public class ContactDisplayUtilTests extends AndroidTestCase { assertEquals(R.string.sms_home, ContactDisplayUtils.getSmsLabelResourceId(Phone.TYPE_HOME)); } public void testGetPreferredDisplayNameEmptyAlternative() { public void testGetPreferredDisplayName_NullContactsPreferences() { assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredDisplayName(NAME_PRIMARY, NAME_ALTERNATIVE, null)); } public void testGetPreferredDisplayName_NullContactsPreferences_NullAlternative() { assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredDisplayName(NAME_PRIMARY, null, null)); } public void testGetPreferredDisplayName_NullContactsPreferences_NullPrimary() { assertEquals(NAME_ALTERNATIVE, ContactDisplayUtils.getPreferredDisplayName(null, NAME_ALTERNATIVE, null)); } public void testGetPreferredDisplayName_NullContactsPreferences_BothNull() { assertNull(ContactDisplayUtils.getPreferredDisplayName(null, null, null)); } public void testGetPreferredDisplayName_EmptyAlternative() { Mockito.when(mContactsPreferences.getDisplayOrder()) .thenReturn(ContactsPreferences.DISPLAY_ORDER_ALTERNATIVE); assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredDisplayName(NAME_PRIMARY, "", ContactsPreferences.DISPLAY_ORDER_ALTERNATIVE)); mContactsPreferences)); } public void testGetPreferredDisplayNameInvalidPreference() { public void testGetPreferredDisplayName_InvalidPreference() { Mockito.when(mContactsPreferences.getDisplayOrder()).thenReturn(-1); assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredDisplayName(NAME_PRIMARY, NAME_ALTERNATIVE, -1)); NAME_ALTERNATIVE, mContactsPreferences)); } public void testGetPreferredDisplayNamePrimary() { public void testGetPreferredDisplayName_Primary() { Mockito.when(mContactsPreferences.getDisplayOrder()) .thenReturn(ContactsPreferences.DISPLAY_ORDER_PRIMARY); assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredDisplayName(NAME_PRIMARY, NAME_ALTERNATIVE, ContactsPreferences.DISPLAY_ORDER_PRIMARY)); NAME_ALTERNATIVE, mContactsPreferences)); } public void testGetPreferredDisplayNameAlternative() { public void testGetPreferredDisplayName_Alternative() { Mockito.when(mContactsPreferences.getDisplayOrder()) .thenReturn(ContactsPreferences.DISPLAY_ORDER_ALTERNATIVE); assertEquals(NAME_ALTERNATIVE, ContactDisplayUtils.getPreferredDisplayName(NAME_PRIMARY, NAME_ALTERNATIVE, ContactsPreferences.DISPLAY_ORDER_ALTERNATIVE)); NAME_ALTERNATIVE, mContactsPreferences)); } public void testGetPreferredSortName_NullContactsPreferences() { assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredSortName(NAME_PRIMARY, NAME_ALTERNATIVE, null)); } public void testGetPreferredSortName_NullContactsPreferences_NullAlternative() { assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredSortName(NAME_PRIMARY, null, null)); } public void testGetPreferredSortName_NullContactsPreferences_NullPrimary() { assertEquals(NAME_ALTERNATIVE, ContactDisplayUtils.getPreferredSortName(null, NAME_ALTERNATIVE, null)); } public void testGetPreferredSortName_NullContactsPreferences_BothNull() { assertNull(ContactDisplayUtils.getPreferredSortName(null, null, null)); } public void testGetPreferredSortNameEmptyAlternative() { public void testGetPreferredSortName_EmptyAlternative() { Mockito.when(mContactsPreferences.getSortOrder()) .thenReturn(ContactsPreferences.SORT_ORDER_ALTERNATIVE); assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredSortName(NAME_PRIMARY, "", ContactsPreferences.SORT_ORDER_ALTERNATIVE)); mContactsPreferences)); } public void testGetPreferredSortNameInvalidPreference() { public void testGetPreferredSortName_InvalidPreference() { Mockito.when(mContactsPreferences.getSortOrder()).thenReturn(-1); assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredSortName(NAME_PRIMARY, NAME_ALTERNATIVE, -1)); NAME_ALTERNATIVE, mContactsPreferences)); } public void testGetPreferredSortNamePrimary() { public void testGetPreferredSortName_Primary() { Mockito.when(mContactsPreferences.getSortOrder()) .thenReturn(ContactsPreferences.SORT_ORDER_PRIMARY); assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredSortName(NAME_PRIMARY, NAME_ALTERNATIVE, ContactsPreferences.SORT_ORDER_PRIMARY)); NAME_ALTERNATIVE, mContactsPreferences)); } public void testGetPreferredSortNameAlternative() { public void testGetPreferredSortName_Alternative() { Mockito.when(mContactsPreferences.getSortOrder()) .thenReturn(ContactsPreferences.SORT_ORDER_ALTERNATIVE); assertEquals(NAME_ALTERNATIVE, ContactDisplayUtils.getPreferredSortName(NAME_PRIMARY, NAME_ALTERNATIVE, ContactsPreferences.SORT_ORDER_ALTERNATIVE)); NAME_ALTERNATIVE, mContactsPreferences)); } }