Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6bf5f68c authored by Brandon Maxwell's avatar Brandon Maxwell Committed by Android (Google) Code Review
Browse files

Merge "Updating preferredName methods to accept ContactsPreferences"

parents 683d7704 7edf983f
Loading
Loading
Loading
Loading
+29 −27
Original line number Diff line number Diff line
@@ -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;
@@ -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;
        }

@@ -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;
        }
+80 −16
Original line number Diff line number Diff line
@@ -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}
 */
@@ -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));
@@ -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));
    }
}