Loading src/com/android/contacts/common/util/ContactDisplayUtils.java +39 −0 Original line number Diff line number Diff line Loading @@ -22,11 +22,14 @@ import android.content.Context; import android.telephony.PhoneNumberUtils; import android.text.Spannable; import android.text.SpannableString; import android.text.TextUtils; import android.text.style.TtsSpan; import android.util.Log; import android.util.Patterns; import com.android.contacts.common.R; import com.android.contacts.common.preference.ContactsPreferences; import com.android.contacts.common.testing.NeededForTesting; import com.google.common.base.Preconditions; Loading Loading @@ -220,4 +223,40 @@ public class ContactDisplayUtils { } return spannable; } /** * Returns either namePrimary or nameAlternative based on the value of displayOrderPreference * * 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 */ @NeededForTesting // TODO Temporary until used in source public static String getPreferredName(String namePrimary, String nameAlternative, int displayOrderPreference) { if (TextUtils.isEmpty(nameAlternative)) { Log.d(TAG, "nameAlternative was empty - defaulting to primary"); return namePrimary; } if (displayOrderPreference != ContactsPreferences.DISPLAY_ORDER_PRIMARY && displayOrderPreference != ContactsPreferences.DISPLAY_ORDER_ALTERNATIVE) { Log.d(TAG, "Attempted to get preferredName with invalid preference " + "- defaulting to primary"); return namePrimary; } if (displayOrderPreference == ContactsPreferences.DISPLAY_ORDER_PRIMARY) { return namePrimary; } return nameAlternative; } } tests/src/com/android/contacts/common/util/ContactDisplayUtilTests.java +23 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.test.AndroidTestCase; import android.test.suitebuilder.annotation.SmallTest; import com.android.contacts.common.R; import com.android.contacts.common.preference.ContactsPreferences; /** * Unit tests for (@link ContactDisplayUtils} Loading @@ -29,6 +30,9 @@ import com.android.contacts.common.R; @SmallTest public class ContactDisplayUtilTests extends AndroidTestCase { private static final String NAME_PRIMARY = "Name Primary"; private static final String NAME_ALTERNATIVE = "Name Alternative"; public void testIsCustomPhoneTypeReturnsTrue() { assertTrue(ContactDisplayUtils.isCustomPhoneType(Phone.TYPE_CUSTOM)); assertTrue(ContactDisplayUtils.isCustomPhoneType(Phone.TYPE_ASSISTANT)); Loading Loading @@ -92,4 +96,23 @@ public class ContactDisplayUtilTests extends AndroidTestCase { assertEquals(R.string.sms_home, ContactDisplayUtils.getSmsLabelResourceId(Phone.TYPE_HOME)); } public void testGetPreferredNameEmptyAlternative() { assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredName(NAME_PRIMARY, "", ContactsPreferences.DISPLAY_ORDER_PRIMARY)); } public void testGetPreferredInvalidPreference() { assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredName(NAME_PRIMARY, NAME_ALTERNATIVE, -1)); } public void testGetPreferredNamePrimary() { assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredName(NAME_PRIMARY, NAME_ALTERNATIVE, ContactsPreferences.DISPLAY_ORDER_PRIMARY)); } public void testGetPreferredNameAlternative() { assertEquals(NAME_ALTERNATIVE, ContactDisplayUtils.getPreferredName(NAME_PRIMARY, NAME_ALTERNATIVE, ContactsPreferences.DISPLAY_ORDER_ALTERNATIVE)); } } Loading
src/com/android/contacts/common/util/ContactDisplayUtils.java +39 −0 Original line number Diff line number Diff line Loading @@ -22,11 +22,14 @@ import android.content.Context; import android.telephony.PhoneNumberUtils; import android.text.Spannable; import android.text.SpannableString; import android.text.TextUtils; import android.text.style.TtsSpan; import android.util.Log; import android.util.Patterns; import com.android.contacts.common.R; import com.android.contacts.common.preference.ContactsPreferences; import com.android.contacts.common.testing.NeededForTesting; import com.google.common.base.Preconditions; Loading Loading @@ -220,4 +223,40 @@ public class ContactDisplayUtils { } return spannable; } /** * Returns either namePrimary or nameAlternative based on the value of displayOrderPreference * * 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 */ @NeededForTesting // TODO Temporary until used in source public static String getPreferredName(String namePrimary, String nameAlternative, int displayOrderPreference) { if (TextUtils.isEmpty(nameAlternative)) { Log.d(TAG, "nameAlternative was empty - defaulting to primary"); return namePrimary; } if (displayOrderPreference != ContactsPreferences.DISPLAY_ORDER_PRIMARY && displayOrderPreference != ContactsPreferences.DISPLAY_ORDER_ALTERNATIVE) { Log.d(TAG, "Attempted to get preferredName with invalid preference " + "- defaulting to primary"); return namePrimary; } if (displayOrderPreference == ContactsPreferences.DISPLAY_ORDER_PRIMARY) { return namePrimary; } return nameAlternative; } }
tests/src/com/android/contacts/common/util/ContactDisplayUtilTests.java +23 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.test.AndroidTestCase; import android.test.suitebuilder.annotation.SmallTest; import com.android.contacts.common.R; import com.android.contacts.common.preference.ContactsPreferences; /** * Unit tests for (@link ContactDisplayUtils} Loading @@ -29,6 +30,9 @@ import com.android.contacts.common.R; @SmallTest public class ContactDisplayUtilTests extends AndroidTestCase { private static final String NAME_PRIMARY = "Name Primary"; private static final String NAME_ALTERNATIVE = "Name Alternative"; public void testIsCustomPhoneTypeReturnsTrue() { assertTrue(ContactDisplayUtils.isCustomPhoneType(Phone.TYPE_CUSTOM)); assertTrue(ContactDisplayUtils.isCustomPhoneType(Phone.TYPE_ASSISTANT)); Loading Loading @@ -92,4 +96,23 @@ public class ContactDisplayUtilTests extends AndroidTestCase { assertEquals(R.string.sms_home, ContactDisplayUtils.getSmsLabelResourceId(Phone.TYPE_HOME)); } public void testGetPreferredNameEmptyAlternative() { assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredName(NAME_PRIMARY, "", ContactsPreferences.DISPLAY_ORDER_PRIMARY)); } public void testGetPreferredInvalidPreference() { assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredName(NAME_PRIMARY, NAME_ALTERNATIVE, -1)); } public void testGetPreferredNamePrimary() { assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredName(NAME_PRIMARY, NAME_ALTERNATIVE, ContactsPreferences.DISPLAY_ORDER_PRIMARY)); } public void testGetPreferredNameAlternative() { assertEquals(NAME_ALTERNATIVE, ContactDisplayUtils.getPreferredName(NAME_PRIMARY, NAME_ALTERNATIVE, ContactsPreferences.DISPLAY_ORDER_ALTERNATIVE)); } }